背景与意义
在 Kubernetes 环境中,节点是运行 Pod 的关键基础设施。为了验证集群在节点不可用情况下的自愈能力以及应用服务的容灾能力,常常需要模拟节点关机的场景。云顾问-混沌演练提供了原生节点关机的混沌演练功能,帮助用户快速、精准地定位高可用性和容灾策略中的潜在问题。
通过模拟节点关机,用户可以:
1. 检验集群调度器是否能自动重新分配 Pod。
2. 验证业务系统的弹性伸缩能力。
3. 提升系统在极端故障条件下的容灾和恢复水平。
演练步骤
步骤一:演练准备
1. 购买标准集群实例:确保标准集群已部署,并部署测试服务。
2. 新建容器节点:添加实例并部署测试服务。如果已有可用于演练的容器节点,则直接创建演练。
步骤二:创建演练
1. 登录 云顾问 > 混沌演练控制台,进入演练管理页面,单击新建演练。
2. 在新建演练 > 经验选择页面,选择跳过,新建空白演练。
3. 填写演练信息,单击下一步。
4. 进入演练对象配置页面,填写动作组编排信息。其中,资源类型选择容器,资源对象选择标准集群原生节点,然后在动作组中选择添加实例。


5. 单击立即添加,添加故障动作。

6. 选择 Node 关机故障动作。

7. 设置动作参数,单击确定。
关机模式说明:
关机模式 | 执行方式 | 优点 | 缺点 | 适用场景 |
软关机 | 正常关闭系统流程(超时时间5分钟) | 数据安全、进程友好 | 需要更多时间 | 数据库服务器、关键业务系统 |
优先软关机 | 软关机(5分钟) + 超时后硬关机 | 数据安全与时间控制之间的平衡 | 超时时可能导致数据丢失 | 自动化运维、有 SLA 的批量任务 |
硬关机 | 直接断电或强制停止虚拟机 | 快速执行 | 可能导致数据丢失或系统损坏 | 测试环境、系统无响应时的紧急恢复场景 |


8. 动作参数配置完成之后,单击下一步。根据实际情况配置护栏策略和监控指标,单击提交,完成演练创建。

步骤三:执行演练
1. 登录 容器服务控制台,选择左侧导航栏中的集群。
2. 单击集群名称,进入集群详情页。
3. 选择左侧导航中的节点管理,在节点页签中,单击节点名称,在节点详情页中查看故障执行前节点状态。

4. 登录 云顾问 > 混沌演练控制台,进入演练详情,单击前往动作组执行。

5. 单击执行,开始演练。


6. 单击动作卡片,查看动作执行详情。


7. 查看执行日志,确认执行成功。

8. 查看故障执行后节点的状态,可以看到,节点状态已经异常,说明故障注入成功。

9. 执行恢复动作,查看日志,确认恢复动作执行成功。

10. 查看故障恢复动作执行成功后的集群节点状态。可以看到节点已经正常运行,集群节点下的 Pod 均已正常运行,说明故障已经恢复成功。

