在Debian系统上管理Kubernetes(K8S)集群中的节点,通常涉及以下几个关键步骤和命令。以下是一个基本的指南,帮助你在Debian系统上管理K8S集群中的节点。
新增节点到K8S集群
-
准备新节点:
- 准备一个与现有集群相同操作系统的主机作为新节点。
- 配置每个节点的
hosts
文件保持一致。 - 给新加节点做免密(可选),以便于后续操作。
-
通过kubeadm将节点加入集群:
- 在Master节点上获取加入命令:
kubeadm token create --print-join-command
- 运行加入命令于新增节点上:
kubeadm join
:6443 --token --discovery-token-ca-cert-hash - 验证节点状态:
kubectl get nodes
- 在Master节点上获取加入命令:
-
验证节点是否加入成功:
- 新增节点应显示为
Ready
状态,说明新节点已添加成功。
- 新增节点应显示为
从K8S集群中删除节点
-
确保节点安全下线:
- 驱逐节点上的Pods:
kubectl cordon
- 使用
drain
命令驱逐节点上的Pods,并迁移到其他节点:kubectl drain
--ignore-daemonsets --delete-emptydir-data
- 驱逐节点上的Pods:
-
从集群中移除节点:
- 从Master节点中删除节点记录:
kubectl delete node
- 再次查看节点情况以确认节点已被移除。
- 从Master节点中删除节点记录:
-
清理被移除的节点(可选步骤):
- 根据具体需求进行节点的进一步清理工作。
查看节点信息
- 使用以下命令查看集群节点信息:
kubectl get nodes
- 查看集群节点详细信息:
kubectl get nodes -o wide
- 查看节点描述详细信息:
kubectl describe node
节点管理策略
- Cordon和Drain命令:
kubectl cordon
命令标记一个节点为“不可调度”,确保新的Pods不会被调度到该节点。kubectl drain
命令驱逐节点上的Pods,并迁移到其他节点。