Linkerd 2.8 现已发布。该版本为 Linkerd 引入了一个新的多集群扩展,使它可以跨Kubernetes集群建立连接,这些集群对应用程序而言是安全的、透明的,并且可以与任何网络拓扑一起使用。
开发团队称,他们认为这是当今提供安全的 Kubernetes 多集群连接的最简单选择。2.8 版本还使 Linkerd 在 add-on 系统的开头有了更多的模块化,并引入了许多其他功能和稳定性改进。
Linkerd 的多集群功能旨在实现四个目标:
- 提供统一的信任域
- 分离故障域
- 支持异构网络
- 提供集群内通信的统一模型
Linkerd 表示,这种新的多集群功能可支持多种新用例,例如混合云、高可用性、集群故障转移和反向多租户。
许多现有的服务网格都具有此功能,但它依赖于高度配置的层,这些层增加了 Kubernetes 的复杂性。Linkerd 团队解释称,Linkerd 的方法利用了 Kubernetes 的许多现有功能来限制增加的复杂性。
Buoyant 的首席执行官兼Linkerd的创建者之一威廉·摩根(William Morgan)表示,“通过服务镜像,Linkerd 的多集群的运行方式与其余 Linkerd 的运作方式相同:默认情况下是安全的,它是开箱即用的,它为 Kubernetes 增添了最少的内容。我们从 Istio 等项目中看到的多集群方法由于其固有的复杂性而令人失望。使多集群变得简单不仅仅是一种样式选择;这是 Linkerd 连通性方法的基本组成部分。在零信任的云原生世界中,连接需要安全性,但是复杂性却是安全性的祸根。如果您有一个复杂的解决方案,那么您将有一个不安全的解决方案。”
2.8 版本引入了一个简单的 add-on 系统,用于从 Linkerd 添加(或删除)功能包。Linkerd 2.8 附带两个插件:
- 一个 Jaeger 插件,它添加 Jaeger 和 oc-collector 组件以收集和显示分布式跟踪到您的集群。
- 一个 Grafana 插件(默认情况下启用),可将 Grafana 图添加到 Linkerd 的仪表板。
将来,其还打算将更多功能转移到 add-on 组件中。例如,用户可以删除默认的 Prometheus 安装,然后用自己的安装替换,也可能完全不用。
Linkerd 2.8 还提供了大量其他改进,性能增强和错误修复的列表,其中包括:
- Helm 图表更加灵活和模块化,带有新的 Prometheus 配置选项。
- 代理现在使用 pod 元数据标记发出的分布式跟踪范围。
- 代理的各种性能改进,以减少争用,改善延迟并减少虚假超时。
- 自动防止常见的流量环流情况。
有关 Linkerd 2.8 的更多信息,可参见此处。