使用kubeadm方式部署 k8s集群,出现了报错怎么解决啊?
error: code = Unknown desc = failed to set up sandbox container "7ffba3f1a0fb01185c93cc1e2ebea09c062f340d0b29c2e75ee4c21e55a018a8" network for pod "coredns-f9fd979d6-swnvs": networkPlugin cni failed to set up pod "coredns-f9fd979d6-swnvs_kube-system" network: open /run/flannel/subnet.env: no such file or directory
另外还有一个镜像拉不下来,在哪里可以找到啊?

kubeadm部署k8s出错
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
33条回答 默认 最新
关注
获得0.30元问题酬金 引自免费微信小程序:皆我百晓生
从你提供的信息来看,主要遇到两个问题:一是与CNI插件(flannel)相关的网络配置问题,二是flannel镜像拉取失败的问题。
解决网络配置问题
错误信息表明,Kubernetes试图为
coredns
Pod创建沙箱容器时,CNI插件(flannel)无法设置网络,因为它找不到/run/flannel/subnet.env
文件。这通常意味着flannel没有正确安装或运行。步骤1: 检查flannel组件状态
首先,确认flannel的DaemonSet是否正常运行:
kubectl get daemonset -n kube-system | grep kube-flannel
如果看到任何问题,比如Pod数量不是预期的,继续下面的步骤。
步骤2: 重启flannel DaemonSet
尝试重启flannel DaemonSet以解决可能的临时问题:
kubectl delete pod -n kube-system -l app=kube-flannel
步骤3: 确认flannel配置
检查flannel的配置文件(通常是通过
kube-flannel.yml
部署的),确保flannel使用的网络配置与你的环境相匹配,特别是CNI配置和网络策略。解决flannel镜像拉取失败的问题
错误信息显示,节点尝试从Docker Hub拉取
flannel/flannel:v0.25.3
镜像时连接被拒绝,这可能是由于网络问题、防火墙规则或Docker配置问题导致的。步骤1: 检查网络连通性
确认你的网络可以访问Docker Hub,特别是那些被报告拒绝连接的IP地址。如果是公司内部网络或有防火墙限制,可能需要调整策略允许访问这些地址。
步骤2: 更换镜像源
如果直接访问Docker Hub不可行,考虑使用镜像代理服务器或从可访问的镜像仓库中拉取flannel镜像。你需要编辑flannel的部署文件(如
kube-flannel.yml
),将镜像地址更改为可用的源,例如:spec: containers: - name: kube-flannel image: registry.example.com/flannel/flannel:v0.25.3 # 替换为你可用的镜像地址
然后重新应用这个配置:
kubectl apply -f kube-flannel.yml
步骤3: 验证Docker配置
确保Docker的配置正确,包括它的registry-mirrors(如果有的话),并验证Docker是否可以成功拉取其他镜像。如果有必要,重启Docker服务以应用配置更改。
总结
- 通过检查和可能重启flannel DaemonSet解决网络配置问题。
- 调整网络策略或更换镜像源解决镜像拉取失败问题。
- 确认所有节点上的Docker配置正确,并且网络可达。
完成上述步骤后,再次检查
kube-system
命名空间下的Pod状态,看问题是否已解决。解决 无用评论 打赏 举报 编辑记录