快速上手 Linkerd v2 Service Mesh(服务网格) (2)

在我们对它进行网格(mesh)划分之前,让我们先来看看这个应用程序。 如果此时您正在使用 ,则可以直接访问 。 如果你没有使用 Docker Desktop,我们需要转发 web-svc 服务。要将 web-svc 本地转发到端口 8080,您可以运行:

kubectl -n emojivoto port-forward svc/web-svc 8080:80

现在访问 :8080。

点击周围,您可能会注意到 emojivoto 的某些部分已损坏!例如,如果你点击一个甜甜圈表情符号(doughnut emoji),你会得到一个 404 页面。别担心,这些错误是故意的。(我们可以使用 Linkerd 来识别问题。如果您对如何准确找出问题感兴趣,请查看调试指南。)

接下来,让我们通过运行以下命令将 linker 添加到 emojivoto:

kubectl get -n emojivoto deploy -o yaml \ | linkerd inject - \ | kubectl apply -f -

此命令检索在 emojivoto 命名空间中运行的所有部署(deployments),通过 linkerd inject 运行清单,然后将其重新应用到集群。linkerd inject 命令向 pod spec 添加注解(annotations),指示 Linkerd 将代理(proxy)作为容器添加(“注入”)到 pod spec 中。 (有关更多信息,请参阅自动代理注入。)

与 install 一样,inject 是纯文本操作,这意味着您可以在使用之前检查输入和输出。一旦通过管道传输到 kubectl apply,Kubernetes 将执行滚动部署(rolling deploy)并使用数据平面的代理更新每个 pod,所有这些都没有任何停机时间。

恭喜!您现在已将 Linkerd 添加到现有服务中!就像控制平面一样,可以验证一切是否按照数据平面应有的方式工作。要进行此检查,请运行:

linkerd -n emojivoto check --proxy 监测它的运行

您现在可以查看 Linked 面板并查看 demo app 中的所有服务。由于 demo app 附带了 load generator,我们可以通过运行以下命令查看实时流量指标(live traffic metrics):

linkerd -n emojivoto viz stat deploy

这将显示每个部署的“黄金(golden)”指标:

成功率(Success rates)

请求率(Request rates)

延迟分布百分位数(Latency distribution percentiles)

为了进一步深入,可以使用 top 来实时查看正在调用哪些路径:

linkerd -n emojivoto viz top deploy

为了更深入,我们可以使用 tap 显示跨单个 pod、deployment 甚至 emojivoto 命名空间中的所有内容的请求流:

linkerd -n emojivoto viz tap deploy/web

如果您想改用浏览器,所有这些功能也可在仪表板中使用:

快速上手 Linkerd v2 Service Mesh(服务网格)

快速上手 Linkerd v2 Service Mesh(服务网格)

快速上手 Linkerd v2 Service Mesh(服务网格)

快速上手 Linkerd v2 Service Mesh(服务网格)

那过去发生的事情呢?Linkerd 包含 Grafana 来可视化 Prometheus 收集的指标,并附带一些预配置的仪表板。您可以通过单击概览页面中的 Grafana 图标来访问这些。

快速上手 Linkerd v2 Service Mesh(服务网格)

我是为少 微信:uuhells123 公众号:黑客下午茶 加我微信(互相学习交流),关注公众号(获取更多学习资料~)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpggf.html