参考: Kubernetes 文档 / 工作负载

一、kubernetes中的工作负载

1、k8s中的工作负载

Kubernetes中内建了很多controller(控制器),这些相当于一个状态机,用来控制Pod的具体状态和行为

  • Deployment:适合无状态的服务部署

  • ReplicaSet : 通俗讲副本的管理, 实际应用中建议使用 Deployment 而不是直接使用 ReplicaSet

  • StatefullSet:用来管理有状态应用的工作负载 API 对象。

  • DaemonSet:一次部署,所有的node节点都会部署,例如一些典型的应用场景:
    运行集群存储 daemon,例如在每个Node上运行 glusterd、ceph 在每个Node上运行日志收集 daemon,例如 fluentd、 logstash 在每个Node上运行监控 daemon,例如 Prometheus Node Exporter

  • Job:一次性的执行任务

  • Cronjob:周期性的执行任务

  • ReplicationController 确保在任何时候都有特定数量的 Pod 副本处于运行状态。 现在推荐使用配置 ReplicaSet 的 Deployment 来建立副本管理机制。

2、k8s的控制器图示

K8s控制器