首页/云/Kubernetes 速查/静态 Pod 与 kubeadm 控制面
集群运维与排障54 条

静态 Pod 与 kubeadm 控制面

kubeadm 的控制面以静态 Pod 运行:kubelet 监视 /etc/kubernetes/manifests 下的清单,文件变更即重建对应组件。

Kubernetes 速查云更新于 2026-10-13

静态 Pod 由 kubelet 直接管理

使用 kubeadm 部署的控制面组件通常以静态 Pod 形式运行:kubelet 监视指定目录下的清单文件,文件内容变化就重建对应组件,整个过程不经过调度器。因此这类 Pod 不能用常规方式删除,删掉也会被立刻重建;调整组件镜像版本,本质上就是修改清单文件里的镜像标签。修改前先备份清单文件是必要的习惯,一处语法错误就可能让组件起不来。

基本信息

适用场景kubeadm 等使用静态 Pod 的部署方式
清单目录常见为 /etc/kubernetes/manifests,由 kubelet 参数指定
管理方式改文件即生效,无需 kubectl 操作
删除行为常规删除无效,会被 kubelet 重建
常见组件apiserver、controller-manager、scheduler、etcd

典型使用场景

  • 查看控制面组件:确认它们以静态 Pod 形态运行
  • 调整组件参数:通过修改清单文件里的启动参数生效
  • 版本核对:镜像标签即组件版本,用于确认实际运行版本
  • 演练与恢复:理解移除清单文件会让组件停机,评估风险
  • 故障排查:组件起不来时先检查清单语法与参数

查看与控制(控制面节点执行)

查看与控制(控制面节点执行)
sudo ls /etc/kubernetes/manifests
kubectl -n kube-system get pods | grep -E 'kube-apiserver|etcd|kube-scheduler'
kubectl -n kube-system get pod kube-apiserver-<节点名> -o jsonpath='{.spec.containers[0].image}'
sudo cp /etc/kubernetes/manifests/kube-apiserver.yaml /root/kube-apiserver.yaml.bak   # 改前备份
sudo crictl ps | grep apiserver            # 节点侧确认容器实际状态

操作与结果

操作结果注意
修改清单文件对应组件被重建改前先备份原文件
常规删除该 Pod会被立即重新创建静态 Pod 无法用常规方式删除
移除清单文件对应组件停止运行属于高风险操作,需十分谨慎
修改镜像标签组件升级或降级注意版本兼容性
控制面组件的版本信息写在清单文件的镜像标签里,升级操作说到底就是改这些标签并让 kubelet 完成重建。
直接编辑生产控制面的静态 Pod 清单风险很高:一旦语法或参数出错,组件可能无法启动,而修复又依赖同一份清单,建议在维护窗口进行并保留可用的备份。

易错点

  • 手改清单不留备份:语法错误让控制面组件起不来,恢复过程被动且耗时
  • 试图用常规方式删除静态 Pod:对象立即被重建,操作看起来没有生效
  • 在生产控制面清单上做实验:直接影响集群可用性,风险等级远高于普通工作负载
  • 改完不检查组件日志与状态:参数或语法问题未被及时发现,故障在后续操作中才暴露

数据来源与参考

  • Kubernetes 官方文档 · 静态 Pod
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌