node节点添加和删除
文章目录
前言
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
合集:
第二章 集群安装
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库