最近更新时间:2024.01.12 10:26:48
首次发布时间:2023.02.09 10:25:42
在运行中始终不保存任何数据或状态的工作负载称为无状态负载,对应 Kubernetes 中的 Deployment。本文描述了如何通过边缘智能控制台创建并部署无状态负载。
登录边缘智能控制台。
在左侧导航栏顶部的 我的项目 区域,选择您的项目。
根据以下说明,完成 创建工作负载 配置向导:
配置工作负载。
完成工作负载相关参数的配置,然后单击 下一步:配置一体机部署节点。
配置项 | 说明 |
---|---|
名称 | 为工作负载设置名称。输入要求如下:
|
描述 | 可选。为工作负载添加描述。 |
是否使用模板 | 可选。选择是否使用应用模板。 说明
|
副本数 | 设置工作负载在一体机中运行的副本总数。取值范围:1~10。 |
类型 | 配置项 | 说明 |
---|---|---|
容器 | - | 单击左侧的 + 添加容器,可以添加多个容器。 |
基本信息 | 容器名称 | 为容器设置名称。输入要求如下:
|
镜像地址 | 输入镜像的 URL 地址。地址需符合 URL 格式。长度不超过 1024 个字符。 说明 您可以将制作好的应用镜像托管在某个镜像仓库,获取镜像的 URL。我们推荐您将镜像托管到火山引擎镜像仓库。 | |
仓库密钥 | 针对私有镜像仓库,可设置仓库密钥,以获得镜像访问权限。
注意 不使用免密组件,且需要拉取私有镜像时,必须配置该参数。 | |
资源配额 | 可选。按照业务需求,在容器维度配置 CPU 和内存的上下限,保障容器的健康运行。 注意 如果不设置资源配额和限额,则 K8s 会尽最大可能向工作负载提供资源,但是相应的优先级会降低。例如,另一个配置了资源配额和限额的工作负载,会更容易抢占到资源。
| |
特权级容器 | 默认不开启。开启后特权级容器表示赋予该容器特权,允许访问宿主机全部资源。支持部署在 Linux 系统上的容器控制网络堆栈或访问设备。 | |
Init容器 | 默认不开启。开启后表示将该容器设置为Init容器。Init容器是 Pod 中运行在应用容器前的容器,并且它可以包括仅在安装过程中使用的工具(例如 python、dig)和代码,避免在应用容器中的重复部署,提升应用镜像的安全性。 Init容器不支持设置生命周期管理中的启动后处理、停止前处理,不支持开启健康检查。 | |
容器端口 | 端口 | 可选。支持将容器内端口号与宿主机的端口号进行映射。支持 UDP 和 TCP 两种协议。单击 + 添加端口映射。可以添加多个端口映射。 |
环境变量 | 环境变量 | 可选。支持手动设置环境变量和引用实例字段作为环境变量。Kubernetes 在创建 Pod 时,会将环境变量的信息注入到容器中。
|
存储配置 | 存储卷 | 可选。在容器中存储数据分两步:先在 Pod 定义存储卷,也就是添加存储卷,然后在容器挂载卷。
|
挂载卷 | 可选。支持将宿主机的卷挂载到容器上,可以挂载多个卷。 | |
设备挂载 | 设备挂载 | 可选。选择是否开启设备挂载。 |
生命周期 | 启动命令 | 可选。
|
启动后处理 | 可选。输入容器启动后需要运行的命令。多行命令使用换行符分隔。 | |
停止前处理 | 可选。输入容器停止需要运行的命令。多行命令使用换行符分隔。 |
配置项 | 说明 |
---|---|
发布策略 | 选择一种发布策略。可选项:
|
标签 | 为工作负载添加标签。您可以使用标签来标识一个 Pod 所属的应用程序、环境、版本等信息,从而方便您查找和管理 Pod。标签的示例:
最多允许为工作负载指定 64 个标签。 |
配置一体机部署节点。
创建工作负载后,您可以在工作负载列表查看工作负载的状态。当工作负载已经就绪,表示工作负载已成功部署到一体机上。
根据以下说明,完成 创建工作负载 配置向导:
配置工作负载。
您需要提供编写好的 YAML 文件,通过 YAML 文件定义工作负载的规范和预期状态。从以下方式中选择一种方式,提供 Yaml 文件:
完成后单击 下一步:配置一体机部署节点。
以下是一个示例 YAML 文件,用于创建一个无状态的 Nginx 工作负载:
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80
在这个 YAML 文件中,我们定义了一个名为 nginx-deployment
的 Deployment 对象,它包含了 2 个 Pod 副本。每个 Pod 包含一个名为 nginx
的容器,使用最新版本的 Nginx 镜像,并将容器的端口映射到主机的 80 端口。
配置一体机部署节点。
创建工作负载后,您可以在工作负载列表查看工作负载的状态。当工作负载已经就绪,表示工作负载已成功部署到一体机上。