部署集群后出现异常,想重新进行部署,需要在 Kubernetes 集群中清理节点,以确保不影响重新部署。
在本篇博客中,将详细介绍如何使用 RKE(Rancher Kubernetes Engine)进行节点清理,以及确保节点重新部署的平稳进行。
引言
在 Kubernetes 集群中,节点清理是一个关键步骤,它需要在保证应用程序的稳定运行的前提下,清理节点以进行重新部署。
RKE(Rancher Kubernetes Engine)是一个用于部署和管理 Kubernetes 集群的强大工具。
在本篇博客中,将深入探讨如何使用 RKE 来清理节点,以确保重新部署过程能够顺利进行。
rke版本:v1.2.6
k8s离线包版本:v1.19.6
步骤
以下是执行节点清理操作的详细步骤:
0. 预检查
- 该节点不应再是任何群集的成员。
- 清理脚本具备 root/sudo 访问权限。
- 检查该节点正在运行的容器或Pod,这些容器或Pod将在以下步骤中被强制删除(如果想保持业务应用的连续性,参考下面步骤1)。
- 确认在正确的节点上,并准备好继续清理所有容器以及 Kubernetes 和 Rancher/RKE 特有的所有数据(如有必要,可提前备份)。
1. Drain 节点
在清理节点之前,使用 kubectl drain
命令将节点上的工作负载(Pod)驱逐到其他节点上。 确保应用程序在节点清理过程中不会受到影响。
|
|
2. 移除节点
编辑 cluster.yml
文件,将要清理的节点从 nodes
列表中删除。然后运行以下命令,使用 RKE 将节点从集群中移除。
|
|
3. 清理节点
此脚本不适用于rke2和k3s(这两者使用部署时生成的uninstall脚本)
该脚本将删除与 Rancher 和 Kubernetes 有关的所有容器、卷、映像、网络接口和目录。还可以选择刷新所有 iptables 规则并删除容器镜像。
登录到要清理的节点,并执行以下清理操作:
清理脚本: extended-cleanup-rancher2.sh
执行下面命令
|
|
如果需要,可以同时或单独使用可选的 -f 和 -i 标志来刷新 iptables (-f) 和删除容器映像 (-i)。
|
|
4. 重启节点
重启节点以应用清理和配置更改。
5. 重新部署节点
更新 cluster.yml
文件,将节点重新添加到 nodes
列表中。然后使用 RKE 进行重新部署。
注意事项
- 始终在执行节点清理之前备份重要数据。
- 仔细阅读 RKE 和 Kubernetes 的文档,以确保了解每个步骤的影响和细节。
- 执行节点清理操作时,要确保其他节点正常运行以避免服务中断。
结论
节点清理是 Kubernetes 部署过程中的关键步骤,它需要谨慎操作以确保重新部署的成功进行。通过使用 RKE 和以上步骤,可以有效地清理节点并确保应用程序的稳定运行。
在执行节点清理操作之前,始终要备份数据并确保了解每个步骤的细节,以保证整个过程的顺利进行。
可以了解如何使用 RKE 进行节点清理,以及如何在保持应用程序稳定性的前提下,重新部署节点。有利于在 Kubernetes 部署过程中更加灵活地管理节点,并确保系统的连续运行。