记录一次KubeSphere集群Calico组件报错
source link: https://blog.51cto.com/u_12760547/5635363
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
记录一次KubeSphere集群Calico组件报错
精选 原创云烟旧梦 2022-08-31 09:13:08 博主文章分类:Kubernetes ©著作权
文章标签 ico 环境变量 配置文件 文章分类 kubernetes 云计算 阅读数357
我在使用kubesphere登录的时候,发现登录不上去,kubesphere报API错误,大量api相关组件down掉。
发现登陆的时候报如下错误:
根据经验,怀疑是calico网络组件的问题,查看发现:
Calico状态是0/1,describe查看一下详细信息,发现如下错误:
Warning Unhealthy 8s kubelet Readiness probe failed: 2022-06-25 08:09:08.567 [INFO][251] confd/health.go 180: Number of node(s) with BGP peering established = 0
calico/node is not ready: BIRD is not ready: BGP not established with 192.168.1.50,192.168.1.51
原因分析:
原因是节点网卡比较多,calico选择了错误的网卡,所以我们指定一下网卡即可。
解决手段:
指定他要去的目的网卡即可解决。
[root@k8s-master01 ~]# kubectl set env daemonset/calico-node -n kube-system IP_AUTODETECTION_METHOD=interface=ens192
daemonset.apps/calico-node env updated
恢复正常。
这里也可以使用通配符:
[root@k8s-master01 ~]# kubectl set env daemonset/calico-node -n kube-system IP_AUTODETECTION_METHOD=interface=ens*
daemonset.apps/calico-node env updated
修改calico.yaml配置文件,apply加载生效。
起不来的组件名称是calico-node,找到calico.yaml指定配置位置,添加相应配置生效。
找到对应yaml位置:
在主容器下添加如下环境变量,这里也可以使用通配符。
- name: IP_AUTODETECTION_METHOD
value: "interface=ens192"
[root@k8s-master01 ~]# kubectl apply -f calico.yaml
[root@k8s-master01 ~]# kubectl get pods -n kube-system
等待2分钟左右,kubesphere组件恢复。Kubesphere业务正常:
- 打赏
- 1赞
- 1收藏
- 评论
- 分享
- 举报
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK