Debian 9.3执行kubeadm init创建Kubernetes集群超时失败求助
解决kubeadm init创建Kubernetes集群超时问题
嘿,我看你在Debian 9.3上用kubeadm初始化K8s集群时碰到超时问题了,结合你的操作步骤和配置,我整理了几个实用的排查和解决方法:
1. 补全并规范代理配置
你设置的NO_PROXY网段推荐用CIDR格式,能更全面覆盖集群内部节点;另外注意你命令里的--pod-network-cidr参数没写完整,Flannel常用的配置是10.244.0.0/16,先修正代理环境变量:
export HTTP_PROXY=http://192.168.56.1:1080 export HTTPS_PROXY=http://192.168.56.1:1080 export NO_PROXY=127.0.0.1,localhost,192.168.56.0/24,10.244.0.0/16,10.96.0.0/12
2. 给kubelet单独配置代理
kubeadm依赖kubelet运行,但kubelet不会自动读取shell环境变量,得把代理配置写到kubelet的系统服务配置里:
- 创建或编辑
/etc/systemd/system/kubelet.service.d/10-proxy.conf文件:
[Service] Environment="HTTP_PROXY=http://192.168.56.1:1080" Environment="HTTPS_PROXY=http://192.168.56.1:1080" Environment="NO_PROXY=127.0.0.1,localhost,192.168.56.0/24,10.244.0.0/16,10.96.0.0/12"
- 重新加载systemd并重启kubelet:
systemctl daemon-reload systemctl restart kubelet
3. 提前手动拉取K8s镜像
超时大概率是拉取K8s核心镜像速度慢导致的,你可以先手动拉取镜像,确保成功后再执行init:
# 查看需要拉取的镜像列表 kubeadm config images list # 手动拉取镜像 kubeadm config images pull
如果手动拉取也超时,可切换国内镜像源(比如阿里云):
kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers
4. 清理失败状态后重新执行init
先清理之前失败的集群残留状态:
kubeadm reset
再用完整参数执行init命令:
kubeadm init --apiserver-advertise-address=192.168.56.101 --pod-network-cidr=10.244.0.0/16
5. 检查防火墙与安全策略
Debian 9.3默认用ufw防火墙,未开放K8s端口也会导致超时,可临时关闭测试:
ufw disable
另外确认SELinux状态(Debian默认关闭,检查更放心):
sestatus
若开启则临时关闭:
setenforce 0
内容的提问来源于stack exchange,提问作者Jinlxz Liu
相关产品推荐
相关产品推荐

