k8s集群calico-node CrashLoopBackOff

问题描述:

我是4台服务器搭建k8s集群,一个master主机+两个work节点外加一个nfs中间件。我的calico组件一直是CrashLoopBackOff状态,以至于我再建其他组件时都会报错。

例如搭建dashBoard时候,日志写的是

panic: Get "https://10.96.0.1:443/api/v1/namespaces/kubernetes-dashboard/secrets/kubernetes-dashboard-csrf": dial tcp 10.96.0.1:443: i/o timeout


大概意思是连接不上,超时,拒接链接等。我去网上查找方法说直接部署运行在master主机。我试了一下成功了,但是后续在部署其他组件时候又出来了同样的问题。恰逢我的calico只在master上好使。经过我的排查发现我是的各个主机的网卡名称不一样,应为我之前在搭建calico时指定了网卡名称。

为什么会网卡名称不一致呢,是因为我安装好一个Linux操作系统后都是复制的,只有第一个时ens18,其他都是eth0。这里希望大家严谨一点。(如果你需要指定网卡,默认calico是不需要指定网卡的,在特殊环境下或者多网卡)

该网卡名称方法:

linux 修改网卡名称 - 小蟋帅 - 博客园

1.备份、重命名网卡配置文件

1

2

3

4

5

6

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# cp ifcfg-ens160 ifcfg-ens160.bak      

[root@localhost network-scripts]# mv ifcfg-ens160 ifcfg-eth0            

[root@localhost network-scripts]# ls

ifcfg-ens160.back  ifcfg-eth0

</strong>

2.修改网卡配置文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

[root@localhost network-scripts]# vim ifcfg-eth0

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=none

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=eth0    //修改为eth0

UUID=26300929-38a2-4ea5-b68d-3148a997e8fe

DEVICE=eth0    //修改为eth0

ONBOOT=yes

IPADDR=192.168.10.10

PREFIX=24

3.禁用网卡命名规则(添加"net.ifnames=0 biosdevname=0"参数)

1

2

3

4

5

6

7

8

9

10

[root@localhost network-scripts]# vim /etc/default/grub

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap net.ifnames=0 biosdevname=0 rhgb quiet"   //加入两个参数

GRUB_DISABLE_RECOVERY="true"

GRUB_ENABLE_BLSCFG=true

4.更新grub配置(grub2-mkconfig -o /boot/grub2/grub.cfg)

1

[root@localhost network-scripts]#grub2-mkconfig -o /boot/grub2/grub.cfg

5.重启服务、重启主机


总结

你可能感兴趣的:(liunx,linux,运维,kubernetes,云原生)