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上执行】

  • 方法一

该方法不推荐,仅让大家了解一下接入命令。

  1. 生成token

说明:
token默认24小时内有效,
因此master安装完毕生成的接入命令24小时之内有效,不需要重新生成

# kubeadm token create
20yceg.rxfke6wayjovfn2v

查看token

# kubeadm token list
  1. 生成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
  1. 拼接安装命令

将刚才的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节点操作】

在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

posted on   运维开发玄德公  阅读(32)  评论(0编辑  收藏  举报  

相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

导航

统计

点击右上角即可分享
微信分享提示