背景
DNS(Domain Name System,域名系统)在网络中起到关键作用,它将域名解析为 IP 地址,从而使容器能够通过域名访问其他服务。然而,容器资源的网络 DNS 异常可能导致域名解析失败、服务访问中断、通信故障等问题,从而影响业务正常运行。
为了提高容器服务的可靠性和稳定性,需要进行网络 DNS 异常故障演练。通过演练,可以验证系统在网络 DNS 异常的情况下是否能够正常运行,以便于快速有效地解决故障。
演练实施
步骤一:演练准备
购买容器实例,部署测试服务。若已有可以演练的容器实例,则直接创建演练。
进入 探针管理 页面安装探针。
步骤二:创建演练
1. 登录 混沌演练控制台,进入演练管理页面,单击新建演练。
2. 单击跳过,新建空白演练。![](https://qcloudimg.tencent-cloud.cn/image/document/f1c429278fc03298f45a172c1f019d6f.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/f1c429278fc03298f45a172c1f019d6f.png)
3. 实例类型选择容器,实例对象选择标准集群Node, 然后添加实例。![](https://qcloudimg.tencent-cloud.cn/image/document/6c90ddb0812ddf113a351c849f12effd.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/6c90ddb0812ddf113a351c849f12effd.png)
4. 单击立即添加,添加故障动作,选择网络资源。![](https://qcloudimg.tencent-cloud.cn/image/document/ed0596f4380334ec241119131462fe7c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/ed0596f4380334ec241119131462fe7c.png)
5. 选择网络Dns异常故障动作。![](https://qcloudimg.tencent-cloud.cn/image/document/3500bc4c8fe2301a06a898940924a007.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/3500bc4c8fe2301a06a898940924a007.png)
6. 设置动作参数,单击确定。![](https://qcloudimg.tencent-cloud.cn/image/document/6215185a1b3dadc2a57c0fe48a7a0b64.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/6215185a1b3dadc2a57c0fe48a7a0b64.png)
7. 动作参数配置完成之后,单击下一步。根据实际情况配置护栏策略和监控指标,最后单击提交,完成演练创建。![](https://qcloudimg.tencent-cloud.cn/image/document/073665d68e134a464538838ae1eea993.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/073665d68e134a464538838ae1eea993.png)
步骤三:执行演练
1. 故障执行前,使用![](https://qcloudimg.tencent-cloud.cn/image/document/a2324f5b485bd9e17dae96b006d3fd1f.png)
vi /etc/hosts
命令查看执行故障的机器上的 host 配置。![](https://qcloudimg.tencent-cloud.cn/image/document/a2324f5b485bd9e17dae96b006d3fd1f.png)
使用![](https://qcloudimg.tencent-cloud.cn/image/document/61f5beef423e4aaeccb56d1f87738200.png)
ping
命令进行域名解析测试。解析正常。![](https://qcloudimg.tencent-cloud.cn/image/document/61f5beef423e4aaeccb56d1f87738200.png)
2. 进入演练详情,单击前往动作组执行。![](https://qcloudimg.tencent-cloud.cn/image/document/e90196747001d843821dbefae752ed5e.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/e90196747001d843821dbefae752ed5e.png)
3. 单击执行,开始演练。![](https://qcloudimg.tencent-cloud.cn/image/document/e3167e2faf408dfb0bfdef0941fc628a.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/e3167e2faf408dfb0bfdef0941fc628a.png)
4. 查看动作执行结果详情。![](https://qcloudimg.tencent-cloud.cn/image/document/de297fbe7bde97b604e14a610d8e9989.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/de297fbe7bde97b604e14a610d8e9989.png)
5. 查看执行日志,确认执行成功。![](https://qcloudimg.tencent-cloud.cn/image/document/092d0e5d02ebefffa9d7dd75e4f24eb0.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/092d0e5d02ebefffa9d7dd75e4f24eb0.png)
6. 使用
vi /etc/hosts
命令查看故障执行后机器上的 host 配置,可以发现此时机器上的 hosts 文件里已经多了一条配置,域名就是故障动作参数里设置的域名。![](https://qcloudimg.tencent-cloud.cn/image/document/2ffa54d02e3c6dca6b3839dcda9c6453.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/2ffa54d02e3c6dca6b3839dcda9c6453.png)
7. 执行故障恢复动作,查看执行日志,确认故障恢复动作执行成功。![](https://qcloudimg.tencent-cloud.cn/image/document/0dc6c3aa72d3c3a922585cabd5318eff.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/0dc6c3aa72d3c3a922585cabd5318eff.png)
8. 使用 ![](https://qcloudimg.tencent-cloud.cn/image/document/8e69b79a7fa07ad4ad424e46ab6a1d01.png)
vi /etc/hosts
命令查看故障恢复后机器上的 host 配置,可以发现此时机器上的 hosts 文件已经恢复如初。![](https://qcloudimg.tencent-cloud.cn/image/document/8e69b79a7fa07ad4ad424e46ab6a1d01.png)
9. 修改故障动作参数里的域名,再次演练测试。![](https://qcloudimg.tencent-cloud.cn/image/document/6e72d582d2a25b4b6ca615d777aa294d.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/6e72d582d2a25b4b6ca615d777aa294d.png)
10. 故障注入成功之后,使用![](https://qcloudimg.tencent-cloud.cn/image/document/731562e51cd518c032913a4f44027ae8.png)
ping qq.com
测试解析。可以看到,qq.com 域名解析已经被篡改为127.0.0.1。![](https://qcloudimg.tencent-cloud.cn/image/document/731562e51cd518c032913a4f44027ae8.png)
11. 单击恢复动作卡片中的执行,恢复故障。![](https://qcloudimg.tencent-cloud.cn/image/document/86c0ccea09b6763224feaace2801fb98.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/86c0ccea09b6763224feaace2801fb98.png)
12. 故障恢复成功之后,再次使用![](https://qcloudimg.tencent-cloud.cn/image/document/7520ea8d34b84e542ed28619bddf3fa8.png)
ping qq.com
测试解析。已恢复正常。![](https://qcloudimg.tencent-cloud.cn/image/document/7520ea8d34b84e542ed28619bddf3fa8.png)