1. 拷贝初始化master节点后内容,node中执行

kubeadm join 172.31.117.40:6443 --token mgcyi7.7i390l69h0zd5h5s \

--discovery-token-ca-cert-hash sha256:7ce5cd911f90bc42885b55020968d10cd78755e6d790367f4b559a5485c059a3

 

1.1 node可能会报错

[ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1

 

执行一下:  echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables

 

 

1.2 可能有的报错

\[ERROR Swap]: running with swap on is not supported. Please disable swap

 

执行一下:  swapoff -a

 

可能的其他报错:

error execution phase kubelet-start: error uploading crisocket: timed out waiting for the condition

To see the stack trace of this error execute with --v=5 or higher

 

处理方法:

swapoff -a

kubeadm reset

systemctl daemon-reload

systemctl restart kubelet

iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X

 

1.3 还可能的报错

Node节点一直处于not ready状态

Lens的报错是

DiskPressure

 

failed to garbage collect required amount of images这个报错

是因为node节点的磁盘的已用空间大于总磁盘空间的80%,从而出现了节点被踢出. Evicted.

清除掉一些不用的日志等, 释放磁盘空间就可以. 当时43服务器,50G硬盘,可用只有6.5G, 已使用已经超过80%, 所以这个node会被Evicted,无法Ready.清除空间后,在master里删掉这个node, 然后关闭node节点上的kubelet, 删掉两个文件(执行join时可以看到), 重新join就可以了

 

查看磁盘用量

 

 

这里查看

cat /etc/docker/daemon.json

 

1.4 查看master节点中,node节点如何join进来.

https://blog.csdn.net/yujia_666/article/details/114591885

 

如下生成worker节点的join命令

kubeadm token create --print-join-command

 

这个token是有过期,通过如下命令可以查看过期时间 TTL

kubeadm token list

 

创建一个永不过期的token

kubeadm token create --ttl 0 --print-join-command

 

这个是42上的master的永久token

kubeadm join 10.0.8.42:6443 --token nbnvzo.myo65r4oidg5u9j3     --discovery-token-ca-cert-hash sha256:dba770fc4c63237d20c89debb693aae7f6599798517635177020579be6e68263