node节点添加和删除
前言k8s的部署,见以下两篇文档《k8s1.20搭建抛弃docker使用containerd》《k8s-1.21高可用集群搭建》1. node节点删除1.1 master上删除节点如果删除node,先在master上删除该node如果删除master,先删除所有node# kubectl drain node_name--delete-local-data --force --ignore-dae
·
文章目录
前言
k8s的部署,见以下两篇文档
1. node节点删除
1.1 master上删除节点
如果删除node,先在master上删除该node
如果删除master,先删除所有node
# kubectl drain node_name --delete-local-data --force --ignore-daemonsets
# kubectl delete node node_name
1.2 重置kubeadm
在要卸载的节点上重置kubeadm状态
# kubeadm reset
1.3 重置网络
以flannel为例,如果是calico,可以参照删除calico网络操作。
- 关闭服务
# systemctl stop kubelet
# systemctl stop docker
- 删除网络配置文件
# rm -rf /var/lib/cni/
# rm -rf /var/lib/kubelet/*
# rm -rf /etc/cni/
- 关闭网卡
# ifconfig cni0 down
# ifconfig flannel.1 down
# ifconfig docker0 down
- 删除网络
# ip link delete cni0
# ip link delete flannel.1
- 重启docker和kubelet
# systemctl restart kubelet
# systemctl restart docker
2. node节点加入
如上,节点删除之后仍可以重新加入。
2.1 生成接入命令
【master上执行】
- 方法一
该方法不推荐,仅让大家了解一下接入命令。
- 生成token
说明:
token默认24小时内有效,
因此master安装完毕生成的接入命令24小时之内有效,不需要重新生成
# kubeadm token create
20yceg.rxfke6wayjovfn2v
查看token
# kubeadm token list
- 生成ca的sha256 hash值
# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
26db3431a8e9676f9777d0f3d9e60c788664a9ad16f86b39ea9b6c2f02a024f3
- 拼接安装命令
将刚才的token和证书hash值拼接成接入node的命令
kubeadm join 18.16.202.35:6443 --token 20yceg.rxfke6wayjovfn2v --discovery-token-ca-cert-hash sha256:26db3431a8e9676f9777d0f3d9e60c788664a9ad16f86b39ea9b6c2f02a024f3
- 方法二
推荐,直接使用以下命令即可。
# kubeadm token create --print-join-command
2.2 接入node节点
【在要加入的node节点操作】
-
安装必要服务
见 《k8s-1.21高可用集群搭建》 -
node节点加入集群
在node节点执行刚才master上生成的接入命令。
kubeadm join 18.16.202.35:6443 --token 20yceg.rxfke6wayjovfn2v --discovery-token-ca-cert-hash sha256:26db3431a8e9676f9777d0f3d9e60c788664a9ad16f86b39ea9b6c2f02a024f3
3. FAQ
3.1 删除docker0
# yum -y install bridge-utils
# ifconfig docker0 down
# brctl delbr docker0
3.2
- 报错
/proc/sys/net/bridge/bridge-nf-call-iptables does not exist
- 解决
开启bridge模式
# modprobe br_netfilter
# echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
更多推荐
已为社区贡献26条内容
所有评论(0)