那当集群上出现创建pod 操作,Controller Manager 与 kubelet 是怎么协作的?

当新的Pod创建请求到达Kubernetes集群时,APIServer会转发请求给控制器管理器。控制器管理器创建控制器对象并管理Pod生命周期,确保Pod状态与期望状态一致。kubelet根据控制器对象创建和管理Pod,通过APIServer与控制器管理器通信,维持集群状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当有新的 Pod 创建请求到达 Kubernetes 集群时,首先会被发送到 API Server。API Server 会将这些请求转发给控制器管理器进行处理。控制器管理器将根据请求中的信息(例如 PodSpec 和控制器类型)创建相应的控制器对象。

控制器对象包含有关所创建 Pod 的信息(例如 Pod 名称、所属命名空间、PodSpec 等),并负责管理 Pod 的整个生命周期。在创建控制器对象时,控制器管理器还会在 etcd 中创建相应的数据结构,以便跟踪 Pod 的状态和控制器的行为。

一旦控制器对象被创建,它会周期性地检查 Pod 的期望状态和实际状态之间的差异,并采取相应的措施以确保它们保持一致。例如,如果有一个 ReplicaSet 控制器,它的期望状态是有三个副本的 Pod 在运行,但实际上只有两个副本在运行,那么该控制器将会通过 API Server 向 kubelet 发送创建一个新的 Pod 的请求,以使 Pod 的实际状态符合期望状态。

一旦 kubelet 接收到创建 Pod 的请求,它将根据控制器对象中指定的 PodSpec 创建 Pod,并在节点上启动容器。一旦容器成功启动,kubelet 将会向 API Server 报告 Pod 的状态,以使控制器对象的期望状态和实际状态保持一致。

因此,Controller Manager 与 kubelet 是通过 API Server 进行协作的,Controller Manager 负责创建并管理控制器对象,kubelet 则负责根据控制器对象创建并管理 Pod。它们之间通过 API Server 进行交互以确保集群中的 Pod 状态符合用户的预期。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值