目录
前言:
上一章我们说到,pod有两种,分别为自主式 Pod,Pod 退出后不会被创建;和被控制器管理的 Pod,在控制器的生命周期里,始终要维持 Pod 的副本数目。本章我们来讲解下k8s的核心控制器,在官方文档中也叫工作负载资源。
官方文档:工作负载资源 | Kubernetes
https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/
Kubernetes 中内建了很多 controller(控制器),这些相当于一个状态机,用来控制 Pod 的具体状态和行为。
通过yaml文件把用户期望的状态存入etcd,控制器会通过ApiServer访问etcd,时刻去listwatch,检索当前的状态,并获取应用的状态,不断比对当前状态和你期望的状态是否是一致的,如果不一致由代码自驱动完成修复。
Replication Controller和ReplicaSet(RC已经被RS取代,RS一般不会单独用,一般都是和deployment一起使用)
Deployment
DaemonSet
StatefulSet
Job
CronJob
HPA全称Horizontal Pod Autoscaler
rs主要控制的是pod的副本数

案例:证明k8s的控制器在自动的维护pod的副本数
- [root@k8s2 pod]# vim rs-example.yml
- apiVersion: apps/v1
- kind: ReplicaSet
- metadata:
- name: replicaset-example
- spec:
- replicas: 3
- selector: