k8s概念-controller

Controller作用和分类

controller用于控制pod

参考: 工作负载资源 | Kubernetes

控制器主要分为:

  • Deployments 部署无状态应用,控制pod升级,回退

  • ReplicaSet 副本集,控制pod扩容,裁减

  • ReplicationController(相当于ReplicaSet的老版本,现在建议使用Deployments加ReplicaSet替代RC)

  • StatefulSets 部署有状态应用,结合Service、存储等实现对有状态应用部署

  • DaemonSet 守护进程集,运行在所有集群节点(包括master), 比如使用filebeat,node_exporter

  • Jobs 一次性

  • Cronjob 周期性

无状态应用与有状态应用

无状态应用

  • 如nginx

  • 请求本身包含了响应端为响应这一请求所需的全部信息。每一个请求都像首次执行一样,不会依赖之前的数据进行响应。

  • 不需要持久化的数据

  • 无状态应用的多个实例之间互不依赖,可以无序的部署、删除或伸缩

有状态应用

  • 如mysql

  • 前后请求有关联与依赖

  • 需要持久化的数据

  • 有状态应用的多个实例之间有依赖,不能相互替换:无论怎么调度,每个 Pod 都有一个永久不变的 ID。

猜你喜欢

转载自blog.csdn.net/hey_lie/article/details/132037767