用途
kubeadm Troubleshooting 技能旨在提供系统化的方法诊断和解决 kubeadm 集群问题。它涵盖从初始化、加入节点、节点状态、Pod 调度、证书管理到 kubelet 和 etcd 等组件的故障排查。
主要能力
- 诊断 kubeadm init 失败(预检错误、端口冲突、containerd 问题)
- 诊断 kubeadm join 失败(连接拒绝、令牌过期、CA 哈希不匹配、TLS 引导超时)
- 处理节点 NotReady 状态(CNI 缺失、kubelet 未上报)
- 解决 Pod 卡在 Pending(CoreDNS 无 CNI、资源不足、污点/容忍、PVC 未绑定)
- 检查和管理证书(过期检查、SAN 问题、续期、时钟偏移)
- 修复 kubelet 崩溃循环(config.yaml 缺失、containerd 未运行、cgroup 驱动不匹配)
- 排查 etcd 问题(健康检查、数据损坏后的重置)
- 提供完整的重置流程和日志收集脚本
使用方式
用户可根据症状使用提供的诊断流程图和命令进行排查。例如,对于 kubeadm init 失败,可先运行 kubeadm init --dry-run 2>&1 | grep -E '\[ERROR\]|\[WARNING\]' 查看预检错误,然后根据错误类型采取相应措施。技能中包含了大量具体命令,如检查节点状态、查看日志、检查证书等。
适用场景
- Kubernetes 集群管理员在初始化或扩展集群时遇到问题
- 开发人员或运维人员需要快速诊断节点或 Pod 异常
- 需要系统化排查证书或网络问题的场景
限制
- 该技能主要针对使用 kubeadm 部署的集群,其他部署方式可能不适用。
- 部分命令(如 etcd 数据重置)具有破坏性,需谨慎使用。
- 技能中提供的解决方案基于常见问题,特定环境可能需要额外调整。
- 资料中未提供该技能的安装命令或收费信息,暂未提供。