Kubesphere替换出错的pod

我们的开发是远程docker进行打包,昨天早上一来发现打包的时候提示docker.io连接超时报错,于是便觉得应该是dockerhub被墙的问题,就在远程docker里面增加了registryMirrors的配置;改完之后顺手就重启了docker,于是打包没问题了;当我们把打包好的程序推送到测试服准备测试的时候,发现这个程序获取kubenetes的configmap总是获取失败;这让我们很困惑,怎么回事?每天都是这样打包,而且这次更新只是增加了一个log.info的函数,怎么就起不来了呢?

一开始不觉得是测试服的问题,在开发拼命找问题,找半天也没看到任何错误;才转过头来判断是不是测试服的kubenetes的问题?用kubectl get pods --all-namespaces -o wide的命令查看所有的pods的运行状态,发现其中一个系统插件出了问题

Calico 是一个CNI 插件,为Kubernetes 集群提供容器网络。 它使用Linux 原生工具来促进流量路由和执行网络策略。 它还托管一个BGP 守护进程,用于将路由分发到其他节点。 Calico 的工具作为DaemonSet 在Kubernetes 集群上运行。难怪因为这个插件出错,造成了我们整个kubenetes的瘫痪,无法去获取配置和外部连接等等相关的操作。便进去查一下这个容器出了什么情况

发现是在pull镜像的时候,与服务器连接不上,一开始便想应该要更换一下pod的镜像应该就可以。

便在kubesphere里面找出这个插件的yaml

把这几个image的地方更换为可以下载到的镜像地址,我们是用

registry.cn-beijing.aliyuncs.com/kubesphereio/cni:v3.23.2

替换了原来的之后,上传到测试服,使用kubectl apply -f xxx.yaml。

执行之后系统网络恢复,所有的pod可以正常获取kubenetes内部数据和外网连接。

折腾一天的事情终于解决。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值