欢迎光临
我们一直在努力

CentOS部署Kubernetes集群时kubeadm init失败怎么办

本文深度解析CentOS环境搭建Kubernetes集群时kubeadm init报错、节点无法加入、镜像拉取失败等6大高频故障场景,提供带真实错误日志分析的解决方案,并附赠防火墙配置与证书修复实用脚本。

kubeadm init卡在pull镜像阶段

当执行kubeadm init时出现ImagePullBackOff错误,九成是网络配置问题。先用ctr images pull手动拉取pause镜像测试,若失败则检查:

  • 是否忘记关闭swap:swapoff -a && sed -i '/swap/s/^//' /etc/fstab
  • 防火墙是否放行API Server端口:firewall-cmd --add-port={6443,2379-2380,10250}/tcp --permanent

案例:某用户因未配置阿里云镜像加速,手动执行kubeadm config images pull --image-repository=registry.aliyuncs.com/google_containers后成功初始化。

Worker节点加入集群报x509证书错误

节点执行kubeadm join时提示certificate signed by unknown authority,通常是时间不同步或证书配置错误:

  1. 所有节点执行chronyc sources验证时间同步
  2. 检查master节点/etc/kubernetes/pki目录权限是否为600
  3. 重置集群后重新生成证书:kubeadm reset -f && rm -rf /etc/kubernetes/pki/

案例:某企业集群因跨时区部署,安装chrony服务并配置NTP服务器后问题解决。

CoreDNS Pod始终处于Pending状态

部署完成后kubectl get pods显示coredns未就绪,重点排查网络插件:

CentOS部署Kubernetes集群时kubeadm init失败怎么办

  • Flannel需要开启内核转发:sysctl -w net.ipv4.ip_forward=1
  • Calico需修改CIDR匹配pod网段:kubectl -n kube-system set env daemonset/calico-node FELIX_IPTABLESREFRESHINTERVAL=60s

案例:某开发团队因未禁用NetworkManager,执行systemctl stop NetworkManager && systemctl disable NetworkManager后网络恢复正常。

Service无法通过NodePort访问

kubectl expose创建的Service无法外网访问时:

  1. 检查selinux状态:setenforce 0临时关闭
  2. 验证IPVS模块加载:lsmod | grep ip_vs
  3. 查看kube-proxy日志:journalctl -u kube-proxy -f

案例:某用户因iptables策略限制,添加规则iptables -P FORWARD ACCEPT后成功暴露服务。

FAQ:高频问题速查手册

Q:重置集群后为何仍有残留配置?
A:需手动清理/var/lib/etcd/var/lib/kubelet目录

Q:如何查看实时集群事件?
A:执行kubectl get events --sort-by='.metadata.creationTimestamp' -w

赞(0) 打赏
未经允许不得转载:九零云资讯网 » CentOS部署Kubernetes集群时kubeadm init失败怎么办

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫