背景
智能顾问-混沌演练针对 Serverless 集群提供了网络乱序、网络重复、网络丢包、网络延迟、网络 DNS 异常五类故障模拟。在 Kubernetes 集群中,由于 Pod 的生命周期与请求密切相关,网络性能的稳定性对于服务的响应速度和用户体验至关重要。通过模拟这些网络故障,您可以更好地了解您的服务在不同网络状况下的表现,从而优化您的应用程序并提高其容错能力。
演练实施
演练准备
在 Serverless 集群容器实例上,部署测试服务。
进入 探针管理 页面安装探针。
演练步骤
步骤1:创建演练
1. 登录 智能顾问控制台 > 架构治理,进入治理模式,点击混沌演练。(详细创建演练方式请参阅 使用智能顾问进行混沌演练 )

2. 点击新建演练,填写演练基本信息,完成后点击下一步。

3. 在演练实例中,选择容器- Serverless 集群 Pod,选择后点击搜索添加,添加实例资源。亦可通过架构图添加方式,直接点击架构图上的 TKE 资源,选择实例进行添加。

4. 添加实例时,选择需要注入的集群 ID、命名空间,将会自动获取该空间下的所有 pod。


5. 完成添加实例后,点击添加动作,选择网络资源下的网络故障动作。
网络乱序:模拟网络数据包到达目的地的顺序与发送顺序不一致的场景。
网络重复:模拟网络数据包在传输过程中被重复发送的场景。
网络丢包:模拟网络数据包在传输过程中丢失的场景。
网络延迟:模拟网络数据包在传输过程中延迟到达目的地的场景。
DNS 篡改:模拟 DNS 解析异常的场景。

6. 配置故障动作参数。
网卡:网卡名称必须在所选实例中均存在,否则可能导致故障注入失败,多个网卡请用英文分号;分隔。
白名单端口:不受影响的端口号,多个端口请用英文分号;分隔。
本地端口:从本机指定端口发出的包会受到影响,多个端口请用英文分号;分隔。
远程端口:发往指定端口的包会受到影响,多个端口请用英文分号;分隔。
远程IP:发往指定 IP 的包会受到影响,多个 IP 请用英文分号;分隔。

7. 参数配置完成之后,在全局配置中选择执行方式、护栏策略,及添加可观测指标。配置完成后,点击提交,即可完成演练任务创建。
步骤3:执行演练
1. 单击执行演练,由于网络动作为高风险动作,需完成身份验证后方可执行动作。

2. 演练开始执行后,通过配置的可观测指标,或容器产品控制台观测故障注入效果。
3. 故障注入完成后,点击恢复动作后的执行,将注入的故障恢复。
