Linkerd2.10中文手册持续修订更新中:https://linkerd.hacker-linner.com使用ServiceMeshInterface的TrafficSplitAPI轻松实现将故障注入应用程序。TrafficSplit允许您将一定比例的流量重定向到特定后端。这个后端是完全灵活的,可以返回你想要的任何响应——500秒、超时甚至疯狂的有效负载。书籍演示是演示此行为的好方法。总体拓扑结构如下:在本指南中,您会将一些请求从webapp拆分到books。大多数请求将最终到达正确的书籍目的地,但其中一些请求将被重定向到有问题的后端。该后端将为每个请求返回500秒,并将错误注入webapp服务。无需更改代码,并且由于此方法是配置驱动的,因此可以将其添加到集成测试和CI管道中。如果你真的过着混沌工程的生活方式,你甚至可以在生产中使用故障注入。先决条件要使用本指南,您需要在集群上安装Linkerd及其Viz扩展。设置服务首先,将书籍示例应用程序添加到您的集群:kubectlcreatensbooksapp&&\linkerdinjecthttps://run.linkerd.io/booksapp.yml|\kubectl-nbooksappapply-f-因为这个清单在其他地方用作演示,它具有配置错误率。为了展示故障注入的工作原理,需要删除错误率,以便有一个可靠的基线。Toincreasethesuccessrateofbookappto100%,run:kubectl-nbooksapppatchdeployauthors\--type='json'\-p='[{"op":"remove","path":"/spec/template/spec/containers/0/env/2"}]'Afterawhile,thestatisticswillshowa100%successrate.您可以通过运行以下命令来验证这一点:linkerdviz-nbooksappstatdeploy输出最终看起来有点像:NAMEMESHEDSUCCESSRPSLATENCY_P50LATENCY_P95LATENCY_P99TCP_CONNauthors1/1100.00%7.1rps4ms26ms33ms6books1/1100.00%8.6rps6ms73ms95ms6traffic1/1------webapp3/3100.00%7.9rps20ms76ms95ms9创建有问题的Thebackendinjectingerrorsintobooksapprequiresaserviceconfiguredtoreturnerrors.为此,您可以启动NGINX并将其配置为通过运行返回500s:cat<
