我们很高兴宣布 Linkerd 2.8 的发布!该版本为 Linkerd 引入了一个新的多集群扩展,使它可以跨 Kubernetes 集群建立连接,这些集群对应用程序而言是安全的,透明的,并且可以与任何网络拓扑一起使用。我们认为,这是当今提供安全的 Kubernetes 多集群连接的最简单选择。2.8 版本还使 Linkerd 在附加系统的开头有了更多的模块化,并引入了许多其他功能和稳定性改进。
Multi-cluster Kubernetes
Linkerd 2.8 的新多集群功能意味着 Linkerd 现在可以安全,对应用程序完全透明且独立于网络拓扑的方式跨集群边界连接 Kubernetes 服务。正如我们之前的文章中所讨论的,此多集群功能旨在满足一些关键目标:
- 提供统一的信任域。源工作负载和目标工作负载的身份必须在群集边界内和跨群集边界的每一步进行验证。
- 分离故障域。群集中断仍应允许其余群集正常运行。
- 支持异构网络。由于群集可以跨越云,VPC,本地数据中心及其组合,因此 Linkerd 除网关连接性外,不应引入任何 L3 / L4 要求。
- 提供具有集群内通信的统一模型。Linkerd 为群集内通信提供的可观察性,可靠性和安全性功能应扩展到这种新的跨群集通信。
就像集群内连接一样,Linkerd 的跨集群连接对应用程序代码也是透明的。cluster _west_的服务 A 可以通过直接将其寻址为 C.east
或将其寻址为 C 并让 Linkerd 自动将该服务的流量路由(甚至转移一部分)到集群 C,以与集群 C 的服务 C 对话。东向集群。不管该通信是在集群内,在数据中心或 VPC 内的跨集群还是在公共 Internet 上进行,Linkerd 都将在集群之间建立连接,并通过 mTLS 在两侧进行加密和认证。
这项新的多集群功能可为 Linkerd 解锁大量用例,包括故障转移(在出现故障时跨数据中心或云转换流量);“反向多租户”(每个租户都有自己的集群);混合云(工作负载可以在本地环境和云环境之间移动,而不会影响应用程序的其余部分)。
最后,像 Linkerd 的所有功能一样,Linkerd 的多集群“服务镜像”方法会尽可能利用现有的 Kubernetes 功能,并最少增加额外的设备。远程服务直接表示为 Kubernetes 服务; 没有引入新的 CRD;并且配置复杂度保持在最低限度。
Ambassador 支持 Multi-cluster
我们很高兴地报告,我们在 Ambassador 项目中的朋友已经创建了一个多集群集成,使 Ambassador 用户可以利用 Ambassador 部署作为 Linkerd 的多集群网关!在 Ambassador 博客文章中了解更多信息。
附加组件
2.8 版本还引入了一个简单的附加系统,用于从 Linkerd 添加 (或删除) 功能包。Linkerd 2.8 附带两个插件:
- 一个 Jaeger 插件,它添加 Jaeger 和 oc-collector 组件以收集和显示分布式跟踪到您的集群
- 一个 Grafana 插件(默认情况下启用),可将 Grafana 图添加到 Linkerd 的仪表板。
将来,我们将把更多功能转移到附加组件中,例如,您可以删除默认的 Prometheus 安装,然后用自己的安装替换,也可能完全不用。
其他
Linkerd 2.8 还提供了大量其他改进,性能增强和错误修复的列表,其中包括:
- Helm 图表更加灵活和模块化,带有新的 Prometheus 配置选项。
- 代理现在使用 pod 元数据标记发出的分布式跟踪范围。
- 代理的各种性能改进,以减少争用,改善延迟并减少虚假超时。
- 自动防止常见的流量环流情况。
有关详细信息,请参见完整的发行说明。
Linkerd 的规划
我们相信 Linkerd 的核心价值是连通性 - 在云原生世界中,连通性不仅仅意味着“A 和 B 可以交换数据包”,而是“A 和 B 可以以验证双方身份的方式交换数据包”侧面具有清晰的授权语义;对第三方保密;并且是可测量和可检查的”。
展望未来,我们看到 Linkerd 能够创建此连接,从而将其转换为适用于您的 Kubernetes 下文的安全平面。2.8 版本标志着朝着这个方向迈出了一大步,接下来的几个版本将充实 Linkerd 的功能集,包括将 mTLS 扩展到所有连接。引进政策;以及更多。请继续关注有关此主题的更多信息。
立即体验
准备尝试 Linkerd 了吗?那些通过我们每周的边缘发布跟踪 2.x 分支的人将已经看到这些功能的实际应用。无论哪种方式,都可以通过运行以下命令下载稳定的 2.8 版本:
curl https://run.linkerd.io/install | sh
使用 Helm?请参阅我们的有关在 Helm 中安装 Linkerd 的指南。从以前的版本升级?我们为您提供了覆盖:请参阅我们的 Linkerd 升级指南,以了解如何使用 linkerd upgrade 命令。
PS:本文属于翻译,原文