4

记录一次KubeSphere集群Calico组件报错

 2 years ago
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.
neoserver,ios ssh client

记录一次KubeSphere集群Calico组件报错

精选 原创

云烟旧梦 2022-08-31 09:13:08 博主文章分类:Kubernetes ©著作权

文章标签 ico 环境变量 配置文件 文章分类 kubernetes 云计算 阅读数357

我在使用kubesphere登录的时候,发现登录不上去,kubesphere报API错误,大量api相关组件down掉。

记录一次KubeSphere集群Calico组件报错_ico

发现登陆的时候报如下错误:

记录一次KubeSphere集群Calico组件报错_ico_02

根据经验,怀疑是calico网络组件的问题,查看发现:

记录一次KubeSphere集群Calico组件报错_ico_03

Calico状态是0/1,describe查看一下详细信息,发现如下错误:

记录一次KubeSphere集群Calico组件报错_配置文件_04

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

记录一次KubeSphere集群Calico组件报错_ico_05

恢复正常。

这里也可以使用通配符:

[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位置:

记录一次KubeSphere集群Calico组件报错_配置文件_06

在主容器下添加如下环境变量,这里也可以使用通配符。

记录一次KubeSphere集群Calico组件报错_环境变量_07

            - name: IP_AUTODETECTION_METHOD

              value: "interface=ens192"

[root@k8s-master01 ~]# kubectl apply -f calico.yaml

[root@k8s-master01 ~]# kubectl get pods -n kube-system

记录一次KubeSphere集群Calico组件报错_环境变量_08

等待2分钟左右,kubesphere组件恢复。Kubesphere业务正常:

记录一次KubeSphere集群Calico组件报错_ico_09
  • 打赏
  • 1
  • 1收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK