You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

kubeadm部署的K8s控制面Pod删除后自动重建的原因是什么

问题解答

你提到的kube-apiserver、etcd、kube-controller-manager、kube-scheduler这类控制面Pod属于静态Pod(Static Pod),负责监控并触发其自动重建的组件是master节点上本地运行的kubelet服务,不需要Deployment、ReplicaSet这类上层集群控制器管理。

核心原理

kubeadm部署的K8s集群默认会将控制面组件的Pod配置文件存放在master节点的/etc/kubernetes/manifests/目录下,该目录为kubelet默认监听的静态Pod目录:

  • kubelet会持续扫描该目录下的.yaml/.json配置文件,只要文件存在,就会保证对应Pod始终在当前节点上正常运行
  • 当你手动删除运行中的静态Pod时,kubelet会立即检测到Pod状态异常,直接根据本地的配置文件重建Pod
  • 如果你修改该目录下的配置文件,kubelet会自动重启对应Pod应用更新;如果将配置文件移出该目录,kubelet会主动删除对应Pod

验证方法

你可以直接登录kmaster节点执行以下命令查看静态Pod配置:

ls /etc/kubernetes/manifests/

执行后你会看到和你查询到的控制面Pod一一对应的配置文件:etcd.yaml、kube-apiserver.yaml、kube-controller-manager.yaml、kube-scheduler.yaml。

静态Pod识别特征

  • Pod名称后缀默认会拼接所在节点的主机名,你示例中的Pod后缀都带有-kmaster,和你的master节点主机名一致
  • 通过kubectl删除静态Pod时,返回结果中也会明确标注该Pod为静态Pod

内容的提问来源于stack exchange,提问作者Nag Devineni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 16:36:03