工作负载即Kubernetes对一组Pod的抽象模型,用于描述业务的运行载体,包括Deployment、Statefulset、Daemonset、Job、CronJob等多种类型。
云容器引擎CCE提供基于Kubernetes原生类型的容器部署和管理能力,支持容器工作负载部署、配置、监控、扩容、升级、卸载、服务发现及负载均衡等生命周期管理。
- 无状态工作负载:即kubernetes中的“Deployment”,无状态工作负载支持弹性伸缩与滚动升级,适用于实例完全独立、功能相同的场景,如:nginx、wordpress等。创建无状态工作负载请参见 创建无状态负载(Deployment)。
- 有状态工作负载:即kubernetes中的“StatefulSet”,有状态工作负载支持实例有序部署和删除,支持持久化存储,适用于实例间存在互访的场景,如ETCD、mysql-HA等。创建有状态工作负载请参见 创建有状态负载(StatefulSet)。
- 创建守护进程集:即kubernetes中的“DaemonSet”,守护进程集确保全部(或者某些)节点都运行一个Pod实例,支持实例动态添加到新节点,适用于实例在每个节点上都需要运行的场景,如ceph、fluentd、Prometheus Node Exporter等。创建守护进程集请参见 创建守护进程集(DaemonSet)。
- 普通任务:即kubernetes中的“Job”,普通任务是一次性运行的短任务,部署完成后即可执行。使用场景为在创建工作负载前,执行普通任务,将镜像上传至镜像仓库。创建普通任务请参见 创建普通任务(Job)。
- 定时任务:即kubernetes中的“CronJob”,定时任务是按照指定时间周期运行的短任务。使用场景为在某个固定时间点,为所有运行中的节点做时间同步。创建定时任务请参见 创建定时任务(CronJob)。
一个工作负载由一个或多个实例(Pod)组成。一个实例由一个或多个容器组成,每个容器都对应一个容器镜像。对于无状态工作负载,实例都是完全相同的。
工作负载状态说明
状态 | 说明 |
运行中 | 所有实例都处于运行中才是运行中。 |
未就绪 | 容器处于异常、实例数为0或pending状态时显示此状态。 |
升级/回滚中 | 触发升级或回滚动作后,工作负载会处于升级/回滚中。 |
可用 | 当多实例无状态工作负载运行过程中部分实例异常,可用实例不为0,工作负载会处于可用状态。 |
执行完成 | 任务执行完成,仅普通任务存在该状态。 |
已停止 | 触发停止操作后,工作负载会处于停止状态,实例数变为0。v1.13之前的版本存在此状态。 |
删除中 | 触发删除操作后,工作负载会处于删除中状态。 |
暂停中 | 触发暂停操作后,工作负载会处于暂停中状态。 |