Kubernetes 控制器是 Kubernetes 控制平面的核心组件之一,它们负责监控集群状态,并确保系统的期望状态与实际状态一致。控制器通过调整集群中的资源来实现这一目标,以满足用户定义的期望状态。
**
常见的 Kubernetes 控制器:
ReplicationController: 这是 Kubernetes 中最早引入的控制器之一。它确保指定数量的 Pod 始终在运行。如果由于某种原因 Pod 数量不足或过多,ReplicationController 将自动调整。
ReplicaSet: ReplicaSet 是 ReplicationController 的继任者,引入了更丰富的选择标准,例如支持基于集合的选择器。ReplicaSet 用于确保在集群中运行指定数量的 Pod 副本。
Deployment: Deployment 是更高级别的控制器,它使用 ReplicaSet 来管理 Pod 的部署。Deployment 允许你定义期望的状态,并处理升级和回滚操作。它提供了声明式配置,使得管理应用的部署更加方便。
StatefulSet: StatefulSet 用于管理有状态应用程序,它确保 Pod 具有唯一的标识符,并且在更新和删除时保持稳定的网络标识。这对于需要稳定网络标识和有序部署的应用程序非常有用,如数据库。
DaemonSet: DaemonSet 用于在集群中的每个节点上运行一个 Pod 副本。这对于在集群中的每个节点上运行某种系统级别的服务非常有用,例如日志收集器或监控代理。
Job 和 CronJ