在微服务环境中,服务所有者编写代码,并且越来越多地被要求保持他们编写的服务正常运行。我们非常贴切地称之为服务运维。对我而言,服务运维的想法是我订阅和倡导的 应用运维 概念的子集。
那么,从实际角度来看,这会是什么样子呢?

云原生应用运维成熟度模型。
考虑到云原生应用运维成熟度模型,您首先要确保所有代码和配置都位于存储库(通常是 Git)中。然后,将所有容器镜像放入安全、私有的容器注册表(例如 Quay)。您要确保已建立适当的 CI/CD 管道,以可重现的方式生成容器镜像。此外,您可能正在使用 Kubernetes,这是编排容器的事实行业标准。
但是,一旦您在运行容器化的微服务时开始遇到痛点,您就会开始问自己诸如此类的问题
- 我如何识别哪些微服务(包括 HTTP 和 gRPC 服务)行为异常?
- 调用链中的哪个服务最慢?我在网络上看到什么错误?
- 我应该如何排查或优化跨多个微服务的特定请求路径?
认识 Linkerd 2.0
Linkerd 2.0 在您演进的这个阶段为您提供帮助。它在构建时考虑了 Unix 哲学。也就是说,它并不旨在做所有事情以及更多,但(或者正因为如此?)它非常擅长它所做的事情:专注于核心服务网格职责,包括系统范围的遥测、安全性和可靠性。

Linkerd 2.0 仪表板显示微服务应用的详细信息。
以下是包含的内容
- 一种自包含的、所谓的服务 Sidecar 设计,用于增强服务
- 零配置安装过程,无需更改您的应用程序代码
- 预配置的 Grafana 仪表板以及通过 Prometheus 集成的监控
- 自动传输层安全 (TLS) 管理,包括证书生成和分发
- 可用的 Web UI 和强大的命令行界面 (CLI)

Linkerd 2.0 CLI 显示跨所有命名空间的服务级别通信统计信息。
对于策略管理、可观察性等,Linkerd 2.0 与其他工具(如 Prometheus 和 Grafana)的集成非常顺畅。事实上,它们已经开箱即用地嵌入到仪表板中。

预构建的 Grafana 仪表板(包含在 Linkerd 2.0 中)。
一个演示胜过千言万语
以下演示展示了在不到五分钟内完成 设置 后与 Linkerd 2.0 的交互。它展示了如何使用 linkerd 命令行工具,通过 Linkerd 2.0 调试由几个微服务组成的应用程序。
下一步
Linkerd 2.0 是一个非常有用的工具,它占用的资源极少,并使服务运维能够更快、更有效地工作。
我对它的可能性感到兴奋,并期待看到这个 CNCF 项目 背后的社区将在其已提供的功能之上交付什么。我确信对分布式跟踪、7 层策略执行和流量整形(例如 A/B 测试等)等功能的支持将是未来计划中的重点。我迫不及待地想看到 Linkerd 2.0 继续可持续且健康地发展。
更多信息
好的,接下来您应该去哪里呢?我有一些建议
- 加入关于 Linkerd 2.0 的 讨论。通过加入 Linkerd Slack 社区(在 #linkerd2 频道上)在论坛中留下反馈、建议功能或寻求帮助。
- 通过我整理的 Katacoda 场景试用 Linkerd 2.0。它可以通过您喜欢的浏览器访问,您将在不到 10 分钟的时间内学会如何安装和使用 Linkerd 2.0。
- 查看我在 10 月份 Velocity NYC 演讲 中关于 Linkerd 2.0 的 动手演示材料。
本文最初发布在 Hacker Noon 上,经许可转载。
评论已关闭。