K8S常用操作(node)
说明
K8S常用操作,记录日常K8S维护作用的常用命令及常见的问题的处理办法,提供简单可行的操作、拍掌的思路方法步骤。本文章为k8s的node相关操作篇,指导读者对k8s集群中的node节点进行日常的操作管理、故障排查。
集群添加删除节点
删除节点
Master节点和子节点删除步骤相同,首先需要把节点设置污点(可以理解为维护模式),然后在执行节点删除命令,最后在被删除的node节点上清理掉之前的集群环境信息。
步骤:
- 设置节点进入维护模式。
- 删除节点。
- 清理环境。
1.Master节点上操作,设置节点进入维护模式(安全驱逐节点上的pod并打上unschedulable标签)。
# kubectl drain
2.Master节点上操作,删除节点。
# kubectl delete nodes node_name
3.被删除的子节点上操作,清理集群环境。
# kubeadm reset
添加node节点
添加节点时会有两种情况:
- 全新节点:之前从未加入过任何集群节点。
- 利旧节点:从本集群或其他集群删除的节点。
步骤:
- 获取加入k8s集群的命令。
- (使用利旧节点时需操作)清理节点环境。
- 执行命令加入集群。
- 查看集群状态,确认加入的节点状态正常。
1.Master上操作,获取到加入k8s集群的命令。
# kubeadm token create --print-join-command
2.(利旧节点时执行),使用利旧节点即之前加入过K8S集群的node节点再次加入集群时需要先清理当前node的集群信息。
# kubeadm reset
3.Node上执行,执行命令加入K8S集群。
# kubeadm join IP:6443 --token TOKEN
4.Master上操作,查看确认集群及node是否正常。
# kubectl get nodes -o wide
# kubectl get pods -A -o wide
添加Master节点
Master分为单节点和多节点,单节点删除Master后加入则同等于重新建立一套k8s集群,然后重新把所有子节点加入到集群中。
单节点加入步骤:
- 初始化集群。
- 设置.kube/config文件。
- 子节点加入集群。
- 安装网络插件。
- 确认集群状态正常。
1.初始化集群。
# kubeadm init --apiserver-advertise-address=192.168.100.100 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.23.2 --pod-network-cidr=10.244.0.0/16
2.设置.kube/config文件。
# mkdir -p $HOME/.kube;sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config;sudo chown $(id -u):$(id -g) $HOME/.kube/config
3.子节点加入集群,命令来自于master节点初始化过后输出的命令也可以使用kubeadm token create –print-join-command 命令在master节点上获取。
# kubeadm join IP:6443 --token TOKEN
4.安装集群网络插件,需要提前下载calico.yaml文件并修改其中的参数。
# kubectl apply -f calico.yaml
5.确认集群状态,所有节点为ready状态,所有pod都正常。
# kubectl get nodes -o wide ;kubectl get pod -A -o wide