文档中心>混沌演练平台>故障动作库>容器>标准集群与 Serverless 集群超级节点故障案例

标准集群与 Serverless 集群超级节点故障案例

最近更新时间:2024-06-27 17:56:21

我的收藏

背景

容器服务的超级节点,相较普通节点,支持快速弹性伸缩,将以往多个节点转为一个节点进行管理,使得管理承载的容器资源更为简单。然而,容器节点可能会遇到硬件故障、资源不足、网络故障等问题,导致容器实例无法正常运行。
为了提高容器服务的可靠性和稳定性,需进行超级节点故障演练。通过演练,可以验证系统在容器节点出现故障时能否正常运行,提前暴露此故障场景下的一系列问题,以便优化系统架构并做好应急预案。

演练实施

步骤一:演练准备

购买标准集群容器实例,购买超级节点,部署测试服务。
购买 Serverless 集群容器实例,自带超级节点,部署测试服务。

步骤二:创建演练

1. 登录 云顾问 > 混沌演练控制台,进入演练管理页面,点击新建演练
2. 创建空白演练,点击跳过,新建空白演练



3. 填写演练基本信息,根据需要填写关联资源标签,然后点击下一步



4. 创建两个动作组,选择资源类型为容器,分别添加标准集群超级节点Serverless 集群超级节点资源对象。





5. 查找演练实例并添加到动作组。





6. 添加演练动作,点击立即添加,然后选择故障动作:Node封锁、Node drain(Node驱逐)。



7. 全局配置,确认演练动作组,选择演练执行方式,及配置护栏策略。



8. 点击提交,完成创建演练。




步骤三:执行演练

1. 进入演练详情,单击前往动作组执行



2. 按照已编排完成的动作顺序执行。


3. 执行 Node 封锁Node 封锁恢复
3.1 执行 Node 封锁故障动作,查看动作卡片中的执行日志,并观察节点状态,发现已经被封锁,无法被调度。





3.2 执行 Node 封锁的故障恢复动作,解除节点封锁,观察节点状态。





4. 执行 Node drain Node drain 恢复
4.1 查看节点当前 Pod 列表,检查服务的高可用策略,保证服务所在 Pod 在被节点驱逐后其他节点有足够重启 Pod 的资源容量。
4.2 执行 Node drain 故障动作,造成节点内资源驱逐,动作卡片中会提示出被驱逐的 Pod,方便观察被影响到的服务,并对超级节点进行封锁,不可再被调度。同时经由集群调度,被驱逐的 Pod 在其他 Node 重建恢复服务。





4.3 执行故障恢复。节点解除封锁,恢复可调度状态。