Kubernetes的工作负载包括五种类型:
-
Deployments:一个 Deployment 控制器为 Pods 和 ReplicaSets 提供声明式的更新能
-
StatefulSets:StatefulSet 是用来管理有状态应用的工作负载 API 对象;StatefulSet 用来管理 Deployment 和扩展一组 Pod,并且能为这些 Pod 提供序号和唯一性保证;
和 Deployment 相同的是,StatefulSet 管理了基于相同容器定义的一组 Pod。但和 Deployment 不同的是,StatefulSet 为它们的每个 Pod 维护了一个固定的 ID -
DaemonSet:DaemonSet 确保全部(或者某些)节点上运行一个 Pod 的副本;当有节点加入集群时,也会为他们新增一个 Pod。当有节点从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。
-
Job :Job创建一个或多个Pod,并确保指定数量的Pod成功终止。当Pods成功完成时,Job将跟踪成功的完成情况。当达到指定的成功完成数时,Job即完成。删除Job将清理它创建的Pods。
-
CronJob:CronJob为定时Job,CronJob启动时会根据CronJob设置创建符合条件的Job。
DaemonSet 的一些典型用法:
- 在每个节点上运行集群守护进程
- 在每个节点上运行日志收集守护进程
- 在每个节点上运行监控守护进程