在运行过程中会保存数据或状态的工作负载称为“有状态工作负载(statefulset)”。例如Mysql,它需要存储产生的新数据。
因为容器可以在不同主机间迁移,所以在宿主机上并不会保存数据,这依赖于CCE提供的高可用存储卷,将存储卷挂载在容器上,从而实现有状态工作负载的数据持久化。
创建多个工作负载时,请确保容器使用的端口不冲突 ,否则部署会失败。
YAML文件是和界面保持同步的,您也可以通过界面和YAML互动完成工作负载的创建。例如:
控制台界面右侧的“YAML创建”不支持多个YAML混合,请分别创建,否则创建时将会报错。
参数 |
参数说明 |
---|---|
* 工作负载名称 |
新建工作负载的名称,命名必须唯一。 请输入4到52个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。 |
* 集群名称 |
新建工作负载所在的集群。 |
* 命名空间 |
在单集群中,不同命名空间中的数据彼此隔离。使应用可以共享同个集群的服务,也能够互不干扰。若您不设置命名空间,系统会默认使用default命名空间。 |
* 实例数量 |
工作负载的实例数量。工作负载可以有一个或多个实例,用户可以设置具体实例个数,默认为2,可自定义设置为1。 每个工作负载实例都由相同的容器部署而成。设置多个实例主要用于实现高可靠性,当某个实例故障时,工作负载还能正常运行。若使用单实例,节点异常或实例异常会导致服务异常。 |
* 容器运行时 |
请选择容器的运行时(Runtime),创建后不可修改。该参数仅支持CCE Turbo集群。
两种容器运行时的对比请参见普通容器与安全容器的区别。 |
弹性网卡 |
Pod中的容器支持绑定弹性网卡,单击选中“绑定弹性网卡”可以绑定已有的网络平面。更多网络平面信息请参见网络平面(NetworkAttachmentDefinition)。 仅v1.13.7-r0及以上版本且网络模型为VPC网络的CCE集群才能绑定弹性网卡,不符合条件的集群将不显示“弹性网卡”选项。 说明:
|
时区同步 |
单击开启后,容器将和节点使用相同时区。 须知:
时区同步功能开启后,在“数据存储 > 本地磁盘”中,将会自动添加HostPath类型的磁盘,请勿修改删除该磁盘。 |
CCI弹性承载 |
勾选此选项后,当集群资源不足时,支持将Pod部署到云容器实例CCI。 该参数仅在安装virtual kubelet插件后才显示,具体请参见virtual-kubelet。 |
工作负载描述 |
工作负载描述信息。 |
参数 |
说明 |
---|---|
镜像名称 |
导入的镜像,您可单击“更换镜像”进行更换。 |
* 镜像版本 |
选择需要部署的镜像版本。 |
* 容器名称 |
容器的名称,可修改。 |
特权容器 |
特权容器是指容器里面的程序具有一定的特权。 若选中,容器将获得超级权限,例如可以操作宿主机上面的网络设备、修改内核参数等。 |
容器规格 |
CPU配额:
内存配额:
申请和限制的具体请参见设置容器规格。 GPU配额:当集群中包含GPU节点时,才能设置GPU,无GPU节点不显示此选项。 容器需要使用的GPU百分比。勾选“使用”并设置百分比,例如设置为10%,表示该容器需使用GPU资源的10%。若不勾选“使用”,或设置为0,则无法使用GPU资源。 GPU显卡:工作负载实例将被调度到GPU显卡类型为指定显卡的节点上。 若勾选“不限制”,容器将会随机使用节点中的任一显卡。您也可以勾选某个显卡,容器将使用特定显卡。 昇腾 310配额:容器需要使用的昇腾 310芯片个数,此处须为整数。 选用AI加速型节点并安装huawei-npu插件后该参数设置将生效。AI加速型节点目前已开放公测,该节点搭载高性能、低功耗的海思Ascend 310 AI处理器,适用于图像识别、视频处理、推理计算以及机器学习等场景,点此可立即申请。 |
有状态工作负载只能在创建时添加数据存储,创建完成后无法再添加。
请输入用户ID,容器将以当前用户权限运行。
单击“添加服务”,设置工作负载访问方式。
若工作负载需要和其它服务互访,或需要被公网访问,您需要添加服务,设置工作负载访问方式。
工作负载访问的方式决定了这个工作负载的网络属性,不同访问方式的工作负载可以提供不同网络能力,具体请参见网络概述。
滚动升级将逐步用新版本的实例替换旧版本的实例,升级的过程中,业务流量会同时负载均衡分布到新老的实例上,因此业务不会中断。
有序策略:默认策略,有状态负载会逐个的、按顺序的进行部署、删除、伸缩实例, 只有前一个实例部署Ready或删除完成后,有状态负载才会操作后一个实例。
并行策略:支持有状态负载并行创建或删除所有的实例,有状态负载发生变更时立刻在实例上生效。
本节以etcd为例来进行说明。
前提条件
请参见通过kubectl或web-terminal插件操作CCE集群配置kubectl命令,使弹性云服务器连接集群。
操作步骤
其中,etcd-statefulset.yaml为自定义名称,您可以随意命名。
vi etcd-statefulset.yaml
以下内容仅为示例,若需要了解statefulset的详细内容,请参考kubernetes官方文档。
apiVersion: apps/v1 kind: StatefulSet metadata: name: etcd spec: replicas: 2 selector: matchLabels: app: etcd serviceName: etcd-svc template: metadata: labels: app: etcd spec: containers: - env: - name: PAAS_APP_NAME value: tesyhhj - name: PAAS_NAMESPACE value: default - name: PAAS_PROJECT_ID value: 9632fae707ce4416a0ab1e3e121fe555 image: etcd #若使用“开源镜像中心”的镜像,可直接填写镜像名称;若使用“我的镜像”中的镜像,请在SWR中获取具体镜像地址。 imagePullPolicy: IfNotPresent name: container-0 updateStrategy: type: RollingUpdate
vi etcd-headless.yaml
apiVersion: v1 kind: Service metadata: labels: app: etcd name: etcd-svc spec: clusterIP: None ports: - name: etcd-svc port: 3120 protocol: TCP targetPort: 3120 selector: app: etcd sessionAffinity: None type: ClusterIP
kubectl create -f etcd-statefulset.yaml
回显如下,表示有状态工作负载(stateful)已创建成功。
statefulset.apps/etcd created
kubectl create -f etcd-headless.yaml
回显如下,表示对应headless服务已创建成功。
service/etcd-svc created
11月16日,腾讯云正式对外宣布,旗下国产金融级分布式数据库TDSQL已经在印尼Bank...
开门见山,什么是接口?通常情况下分为如下两种: 程序内部的接口 :方法与方法、...
怎么什么 域名 不要实名认证?目前除了工信部要去必须实名的域名以外,注册其他...
TOP云 (west.cn)9月9日消息,据业内媒体报道,近日四数字 域名 0551.com以50万...
大邱公司遭受到几次莫名来源的网络攻击,作为一名优秀的CIO,哲Sir深知核心数据...
一、前言 为什么介绍redux-actions呢? 第一次见到主要是接手公司原有的项目,发...
1、缓存 String类型 例如:热点数据缓存(例如报表、明星出轨),对象缓存、全页...
怎么选择游戏服务器租用? 1.服务器线路的稳定性 游戏是给用户玩的,用户能玩得...
问题描述 使用UEFI启动方式的私有镜像,创建 弹性云服务器 。创建成功后, 云服...
不管您的网站是用虚拟主机还是云服务器又或者独立服务器,但是选择云 服务器租用...