文档首页 > > 用户指南> 工作负载(应用)> 工作负载概述

工作负载概述

分享
更新时间: 2020/02/24 GMT+08:00

工作负载即Kubernetes对一组Pod的抽象模型,用于描述业务的运行载体,包括DeploymentStatefulsetDaemonsetJobCronJob等多种类型。

云容器引擎CCE提供基于Kubernetes原生类型的容器部署和管理能力,支持容器工作负载部署、配置、监控、扩容、升级、卸载、服务发现及负载均衡等生命周期管理。

基本概念

  • 无状态工作负载即kubernetes中的“Deployments”无状态工作负载支持弹性伸缩与滚动升级,适用于实例完全独立、功能相同的场景,如:nginx、wordpress等。创建无状态工作负载请参见创建无状态负载(Deployment)
  • 有状态工作负载即kubernetes中的“StatefulSets”有状态工作负载支持实例有序部署和删除,支持持久化存储,适用于实例间存在互访的场景,如ETCD、mysql-HA等。创建有状态工作负载请参见创建有状态负载(StatefulSet)
  • 创建守护进程集:即kubernetes中的“DaemonSet”守护进程集确保全部(或者某些)节点都运行一个Pod实例,支持实例动态添加到新节点,适用于实例在每个节点上都需要运行的场景,如ceph、fluentd、Prometheus Node Exporter等。创建创建守护进程集请参见创建守护进程集(DaemonSet)
  • 普通任务:即kubernetes中的“Job”普通任务是一次性运行的短任务,部署完成后即可执行。使用场景为在创建工作负载前,执行普通任务,将镜像上传至镜像仓库。创建普通任务请参见创建普通任务(Job)
  • 定时任务:即kubernetes中的“CronJob”定时任务是按照指定时间周期运行的短任务。使用场景为在某个固定时间点,为所有运行中的节点做时间同步。创建定时任务请参见创建定时任务(CronJob)

工作负载与容器间的关系

图1所示,一个工作负载由一个或多个实例(Pod)组成。一个实例由一个或多个容器组成,每个容器都对应一个容器镜像。对于无状态工作负载,实例都是完全相同的。

图1 工作负载与容器的关系

工作负载生命周期说明

表1 状态说明

状态

说明

运行中

所有实例都处于运行中才是运行中。

未就绪

所有容器处于pending状态。

升级中

触发升级动作后,工作负载会处于升级中。

已停止

触发停止操作后,工作负载会处于停止状态,实例数变为0。

可用

当多实例无状态工作负载运行过程中部分实例异常,可用实例不为0,工作负载会处于可用状态。

删除中

触发删除操作后,工作负载会处于删除中状态。

相关操作

由于社区pod结构体中没有ExtendPathMode,用户使用client-go调用创建pod或者deployment的api接口时,创建的pod中没有ExtendPathMode。为了与社区的client-go兼容,CCE提供了相关解决方案,具体请参见Pod接口ExtendPathMode: PodUID如何与社区client-go兼容?

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区