1.简介
在 Kubernetes 中,控制器通过监控集群 的公共状态,并致力于将当前状态转变为期望的状态
2.控制器模式
一个控制器至少追踪一种类型的 Kubernetes 资源。
这些对象有一个代表期望状态的 spec 字段。 控制器负责确保其当前状态接近期望状态。
控制器可能会自行执行操作,更常见的是控制器会发送信息给 API 服务器,这会有副作用。
2.1 通过 API 服务器来控制
Job 控制器是一个 Kubernetes 内置控制器的例子。
内置控制器通过和集群 API 服务器交互来管理状态。
Job 是一种 Kubernetes 资源,运行一个或者多个 Pod, 来执行一个任务然后停止。
当 Job 控制器拿到新任务时,会保证节点上的 kubelet 运行正确数量的 Pod 来完成工作。
Job 控制器不会自己运行任何的 Pod 或者容器。而是通知 API 服务器来创建或者移除 Pod。
创建新 Job 后,期望状态就是完成这个 Job。Job 控制器会让 Job 的当前状态不断接近期望状态
创建所需要的 Pod,使 Job 的状态接近完成。