K8S常用操作(node)

发布时间 2023-05-27 18:38:28作者: 飞翔的小胖猪

说明

K8S常用操作,记录日常K8S维护作用的常用命令及常见的问题的处理办法,提供简单可行的操作、拍掌的思路方法步骤。本文章为k8s的node相关操作篇,指导读者对k8s集群中的node节点进行日常的操作管理、故障排查。

集群添加删除节点

删除节点

Master节点和子节点删除步骤相同,首先需要把节点设置污点(可以理解为维护模式),然后在执行节点删除命令,最后在被删除的node节点上清理掉之前的集群环境信息。

步骤:

  1. 设置节点进入维护模式。
  2. 删除节点。
  3. 清理环境。

1.Master节点上操作,设置节点进入维护模式(安全驱逐节点上的pod并打上unschedulable标签)。

# kubectl drain

2.Master节点上操作,删除节点。

# kubectl delete nodes node_name

3.被删除的子节点上操作,清理集群环境。

# kubeadm  reset

添加node节点

添加节点时会有两种情况:

  • 全新节点:之前从未加入过任何集群节点。
  • 利旧节点:从本集群或其他集群删除的节点。

步骤:

  1. 获取加入k8s集群的命令。
  2. (使用利旧节点时需操作)清理节点环境。
  3. 执行命令加入集群。
  4. 查看集群状态,确认加入的节点状态正常。

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集群,然后重新把所有子节点加入到集群中。

单节点加入步骤:

  1. 初始化集群。
  2. 设置.kube/config文件。
  3. 子节点加入集群。
  4. 安装网络插件。
  5. 确认集群状态正常。

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