已解决。
ubuntu18.04离线添加节点./kk add nodes,原集群使用flannel网络
【问题描述】
1、./kk add nodes 安装日志是成功的
2、新节点的kube-flannel一直处于CrashLoopBackOff状态,日志如下
bglab@master:~/csz$ kubectl logs kube-flannel-ds-7kcfr -n kube-system
I0113 02:34:56.117311 1 main.go:514] Determining IP address of default interface
E0113 02:34:56.117589 1 main.go:202] Failed to find any valid interface to use: failed to get default interface: Unable to find default route
网上解决思路:https://blog.csdn.net/qingyafan/article/details/93519196
解决过程:
方法1、看看flannel配置文件用的哪个网卡,修改配置文件参数- –iface=ens32指定网卡。
原有yaml文件启动命令
containers:
- args:
- --ip-masq
- --kube-subnet-mgr
command:
- /opt/bin/flanneld
(1)尝试修改pod的yaml配置文件
kubectl edit pod kube-flannel-ds-7kcfr -n kube-system -o yaml
发现不能直接修改pod的配置文件
(2)尝试修改DaemonSet的yaml配置文件
kubectl edit DaemonSet kube-flannel-ds -n kube-system -o yaml
想到会影响集群原有主机上的flannel,所以此路不通
方法2:其他主机可以找到默认网卡,为什么这个主机找不到
原集群主机ping www.baidu.com
, 可以ping通
新主机ping www.baidu.com
, 不能ping通
所以开始怀疑是网卡配置问题,开始排查网卡配置,ubuntu18.04的网卡配置在/etc/netplan下
原配置
eno2:
addresses:
- 10.34.76.242/24
#gateway4: 10.34.76.254
nameservers:
addresses:
- 8.8.8.8
新配置
eno2:
addresses:
- 10.34.76.242/24
gateway4: 10.34.76.254
nameservers:
addresses:
- 8.8.8.8
```
去掉#gateway4的注释后,ping www.baidu.com成功,然后删掉flannel-ds的pod重建,启动成功