系列文章:


总目录索引:九析带你轻松完爆 istio 服务网格系列教程

目录

1 前言

2 邀约

3 故障注入之中止

4 Istio 故障注入之中止实例

    4.1 客户端资源文件

    4.2 k8s 服务文件

    4.3 部署工作负载(deployment)

    4.4 虚拟服务文件

5 验证故障注入


1 前言

        如果你对博客有任何疑问,请告诉我。

第三十四章 九析带你轻松完爆 Istio - fault injection 故障注入之中止_第1张图片


2 邀约

        你可以从 b 站搜索 “九析”,获取免费的、更生动的视频资料:

第三十四章 九析带你轻松完爆 Istio - fault injection 故障注入之中止_第2张图片


3 故障注入之中止

        上章介绍了故障注入原理和实操,知道了故障注入多用在两个场景:

延迟:模拟增加网络延迟或上游服务过载

中止:模拟服务故障而导致调用服务不可用。中止通常以 HTTP 错误代码或 TCP 连接失败表示

        在上节中已经介绍了故障注入延迟的实例,这节重点介绍故障注入的中止。


4 Istio 故障注入之中止实例

        本实例包括 4 个资源文件,3 个 k8s 相关,1 个 istio 相关:

jiuxi-client.yaml

jiuxi-nginx-svc.yaml

jiuxi-nginx-deploy.yaml

jiuxi-nginx-vs.yaml

4.1 客户端资源文件

        jiuxi-client.yaml 内容如下:

第三十四章 九析带你轻松完爆 Istio - fault injection 故障注入之中止_第3张图片

        执行如下语句进行 Istio 注入,注入后,此 client 将处于网格之内:

istioctl kube-inject -f jiuxi-client.yaml | kubectl apply -f -

        Istio 注入成功成功如下图所示:

clipboard4.png

4.2 k8s 服务文件

        jiuxi-nginx-svc.yaml 内容如下:

第三十四章 九析带你轻松完爆 Istio - fault injection 故障注入之中止_第4张图片

        执行如下语句部署 service:

kubectl apply -f jiuxi-nginx-svc.yaml

4.3 部署工作负载(deployment)

        jiuxi-nginx-deploy.yaml 内容如下:

第三十四章 九析带你轻松完爆 Istio - fault injection 故障注入之中止_第5张图片

        部署语句如下:

kubectl apply -f jiuxi-nginx-deploy.yaml

4.4 虚拟服务文件

        故障注入就在虚拟服务资源中,内容如下:

第三十四章 九析带你轻松完爆 Istio - fault injection 故障注入之中止_第6张图片

        部署语句如下:

kubectl apply -f jiuxi-nginx-vs.yaml

        自此,整个实例部署完毕。


5 验证故障注入

        执行如下语句登录客户端:

kubectl exec -it client-5b77d5949f-clrb7 -- sh

        使用 wget 访问 nginx-svc:

wget -q -O - http://nginx-svc

        发现模拟后端服务中止失效。如下图所示:

clipboard8.png

        自此,九析带你轻松完爆故障注入之中止。