背景
容器服务的超级节点,相较普通节点,支持快速弹性伸缩,将以往多个节点转为一个节点进行管理,使得管理承载的容器资源更为简单。然而,容器节点可能会遇到硬件故障、资源不足、网络故障等问题,导致容器实例无法正常运行。
为了提高容器服务的可靠性和稳定性,需进行超级节点故障演练。通过演练,可以验证系统在容器节点出现故障时能否正常运行,提前暴露此故障场景下的一系列问题,以便优化系统架构并做好应急预案。
演练实施
步骤一:演练准备
购买标准集群容器实例,购买超级节点,部署测试服务。
购买 Serverless 集群容器实例,自带超级节点,部署测试服务。
步骤二:创建演练
1. 登录 云顾问 > 混沌演练控制台,进入演练管理页面,点击新建演练。
2. 创建空白演练,点击跳过,新建空白演练。
![](https://qcloudimg.tencent-cloud.cn/image/document/6908d942c834e83b08d8fa859693ae04.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/6908d942c834e83b08d8fa859693ae04.png)
3. 填写演练基本信息,根据需要填写关联资源标签,然后点击下一步。
![](https://qcloudimg.tencent-cloud.cn/image/document/46e12a79f48d6111bd4a147da8c92c1b.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/46e12a79f48d6111bd4a147da8c92c1b.png)
4. 创建两个动作组,选择资源类型为容器,分别添加标准集群超级节点和 Serverless 集群超级节点资源对象。
![](https://qcloudimg.tencent-cloud.cn/image/document/6bb18d8a85a5fc7dbc231724f4d772d5.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/43837d7169474b8c1b6b051d553097dc.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/6bb18d8a85a5fc7dbc231724f4d772d5.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/43837d7169474b8c1b6b051d553097dc.png)
5. 查找演练实例并添加到动作组。
![](https://qcloudimg.tencent-cloud.cn/image/document/4f8da385b0eb395bb044ec1cf021d546.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/a545203c68fcbc7ee4ee7daced71c869.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/4f8da385b0eb395bb044ec1cf021d546.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/a545203c68fcbc7ee4ee7daced71c869.png)
6. 添加演练动作,点击立即添加,然后选择故障动作:Node封锁、Node drain(Node驱逐)。
![](https://qcloudimg.tencent-cloud.cn/image/document/74fd01dc7de59d97ce68d550408f4d6b.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/74fd01dc7de59d97ce68d550408f4d6b.png)
7. 全局配置,确认演练动作组,选择演练执行方式,及配置护栏策略。
![](https://qcloudimg.tencent-cloud.cn/image/document/aeea5aaf8335762cb3b55acb3198237c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/aeea5aaf8335762cb3b55acb3198237c.png)
8. 点击提交,完成创建演练。
![](https://qcloudimg.tencent-cloud.cn/image/document/81a7ec1efdb7ffb35ad02c145868e0ef.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/81a7ec1efdb7ffb35ad02c145868e0ef.png)
步骤三:执行演练
1. 进入演练详情,单击前往动作组执行。
![](https://qcloudimg.tencent-cloud.cn/image/document/d349ae79f7f52482c26a97fc0d57d873.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/d349ae79f7f52482c26a97fc0d57d873.png)
2. 按照已编排完成的动作顺序执行。![](https://qcloudimg.tencent-cloud.cn/image/document/9253f469349315fe312e7fd5fab628ec.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/9253f469349315fe312e7fd5fab628ec.png)
3. 执行 Node 封锁和 Node 封锁恢复。
3.1 执行 Node 封锁故障动作,查看动作卡片中的执行日志,并观察节点状态,发现已经被封锁,无法被调度。
![](https://qcloudimg.tencent-cloud.cn/image/document/1185ceccf115b6b991af141ea8f7c5ac.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/64244ee98ab740713e0ae5abd00dce44.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/1185ceccf115b6b991af141ea8f7c5ac.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/64244ee98ab740713e0ae5abd00dce44.png)
3.2 执行 Node 封锁的故障恢复动作,解除节点封锁,观察节点状态。
![](https://qcloudimg.tencent-cloud.cn/image/document/a6148ee63c0be06851c1dba480a95f4e.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/9524d7ecb51e6ff8db0ab5477c8d74d5.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/a6148ee63c0be06851c1dba480a95f4e.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/9524d7ecb51e6ff8db0ab5477c8d74d5.png)
4. 执行 Node drain 和 Node drain 恢复。
4.1 查看节点当前 Pod 列表,检查服务的高可用策略,保证服务所在 Pod 在被节点驱逐后其他节点有足够重启 Pod 的资源容量。
4.2 执行 Node drain 故障动作,造成节点内资源驱逐,动作卡片中会提示出被驱逐的 Pod,方便观察被影响到的服务,并对超级节点进行封锁,不可再被调度。同时经由集群调度,被驱逐的 Pod 在其他 Node 重建恢复服务。
![](https://qcloudimg.tencent-cloud.cn/image/document/6ea9e757b2faf09f8b6ed98195bf6b81.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/fab5efdcd4359353f28445a3e5e7eee2.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/6ea9e757b2faf09f8b6ed98195bf6b81.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/fab5efdcd4359353f28445a3e5e7eee2.png)
4.3 执行故障恢复。节点解除封锁,恢复可调度状态。
![](https://qcloudimg.tencent-cloud.cn/image/document/cc12dafe61b22e577ad9db9ab7615e36.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/36eba0b31ae9fd2fb15aff9adf02f8ca.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/cc12dafe61b22e577ad9db9ab7615e36.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/36eba0b31ae9fd2fb15aff9adf02f8ca.png)