• 沒有找到結果。

本节以nginx工作负载为例,说明kubectl命令创建工作负载的方法。

步骤1 请参见通过kubectl连接集群,使用kubectl连接集群。

步骤2 创建一个名为nginx-deployment.yaml的描述文件。其中,nginx-deployment.yaml为 自定义名称,您可以随意命名。

vi nginx-deployment.yaml

描述文件内容如下。此处仅为示例,deployment的详细说明请参见kubernetes官方文 档。

apiVersion: apps/v1 kind: Deployment metadata:

6-4 deployment 字段详解

字段名称 字段说明 必选/可选

apiVersion 表示API的版本号。

说明

name deployment的名称。 必选

Spec 用户对deployment的详细描述的主体

部分都在spec中给出。 必选

replicas 实例数量。 必选

selector 定义Deployment可管理的容器实例。 必选 strategy 升级类型。当前支持两种升级方式,

默认为滚动升级。

● RollingUpdate:滚动升级。

● ReplaceUpdate:替换升级。

可选

template 描述创建的容器实例详细信息。 必选

metadata 元数据。 必选

labels metadata.labels定义容器标签。 可选 spec:

containers

● image(必选):容器镜像名称。

● imagePullPolicy(可选):获取镜 像的策略,可选值包括Always(每

imagePullSecrets Pull镜像时使用的secret名称。若使用 私有镜像,该参数为必选。

步骤3 创建deployment。

kubectl create -f nginx-deployment.yaml 回显如下表示已开始创建deployment。

deployment "nginx" created

步骤4 查看deployment状态。

kubectl get pods

deployment状态显示为Running,表示deployment已创建成功。

NAME READY STATUS RESTARTS AGE icagent-m9dkt 0/0 Running 0 3d nginx-1212400781-qv313 1/1 Running 0 3d

参数解析:

● NAME:pod的名称

● READY:已经部署完毕的pod副本数

● STATUS:状态

● RESTARTS:重启次数

● AGE:已经运行的时间

步骤5 若工作负载(即deployment)需要被访问(集群内访问或节点访问),您需要设置访 问方式,具体请参见网络管理创建对应服务。

----结束

6.3 创建有状态负载(StatefulSet)

操作场景

在运行过程中会保存数据或状态的工作负载称为“有状态工作负载(statefulset)”。

例如Mysql,它需要存储产生的新数据。

因为容器可以在不同主机间迁移,所以在宿主机上并不会保存数据,这依赖于CCE提供 的高可用存储卷,将存储卷挂载在容器上,从而实现有状态工作负载的数据持久化。

前提条件

● 在创建容器工作负载前,您需要存在一个可用集群。若没有请参照购买CCE集群 中内容创建。

● 若工作负载需要被外网访问,请确保集群中至少有一个节点已绑定弹性IP,或已 购买负载均衡实例。

说明

单个实例(Pod)内如果有多个容器,请确保容器使用的端口不冲突 ,否则部署会失败。

通过控制台创建

云容器引擎提供了多种创建工作负载的方式,您可以通过如下方式进行创建:

1. 基于“开源镜像中心”创建工作负载,无需上传镜像。

步骤1 登录CCE控制台,在左侧导航栏中选择“工作负载 > 有状态负载 StatefulSet”,单击

“创建有状态工作负载”。在打开的创建有状态工作负载页面中,参照表6-5设置工作 支持CCE Turbo集群。

● docker运行时:普通容器

● 安全运行时:选择该运行时后工作负载容器将升级为安全容 器,该工作负载只能运行在使用安全运行时的节点上。

两种容器运行时的对比请参见普通容器与安全容器的区别。

参数 参数说明

● 网络平面是CCE新增的一种crd资源,记录了租户ID,子网ID,安全 组等的配置项,作为申请弹性网卡的配置信息。

CCI弹性承载 勾选此选项后,当集群资源不足时,支持将Pod部署到云容器实 例CCI。

该参数仅在安装virtual kubelet插件后才显示,具体请参见

virtual-kubelet。