前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linkerd发布Kubernetes自动多集群故障转移新特性

Linkerd发布Kubernetes自动多集群故障转移新特性

作者头像
CNCF
发布2022-03-28 14:32:24
7430
发布2022-03-28 14:32:24
举报
文章被收录于专栏:CNCFCNCF

作者:Alejandro Pedraza

今天,我们很高兴地宣布 Linkerd 新的自动故障转移特性。这个特性,使 Linkerd 能够自动将所有通信,从一个失败或不可访问的服务,重定向到该服务的一个或多个副本,包括其他集群上的副本。而且,正如你所期望的那样,任何重定向流量,都维护着 Linkerd 对应用程序的安全性、可靠性和透明性的所有保证,甚至跨越了由开放互联网分隔的集群边界。

故障转移策略作为一个 Kubernetes 操作器(operator)实现,可以添加到现有的 Linkerd 部署中,可以应用到单个集群,但对于多集群部署特别有用。Linkerd 已经提供了强大的跨集群通信功能[1],适用于任何集群拓扑结构,包括多云和混合云;对应用程序是完全透明的;zero-trust 兼容;并且没有向系统引入任何单点故障(SPOF,single points of failure)。对于这个特性集,新的故障转移操作器(failover operator)现在增加了自动化,允许 Kubernetes 用户配置故障条件,在某种情况下 Linkerd 将自动在一个或多个服务之间转换流量。

采用真正的 Linkerd 方式,这个新功能引入了最少的新机制,而不是构建在现有的 Kubernetes 和服务网格原语(如健康探针和服务网格接口[2]TrafficSplit)之上。这家新操作器完善了 Linkerd 现有的可靠性特性,为超高可靠性部署提供了一个完整的解决方案,包括:

  • 单个节点的故障:通过重试[3]请求平衡[4]处理
  • 错误代码更改导致的失败:通过金丝雀部署处理[5]
  • 由于普遍的服务不可用而导致的失败:使用故障转移操作器处理
  • 全集群中断导致的故障:由故障转移操作器处理

开始使用

该操作器作为一个独立的项目,但需要搭配最新的Linkerd edge 发布版本[6]。该操作器也将支持预计将在未来几周内发布的 2.11.2 版本。

想现在就试试吗?前往linkerd-failover 仓库[7],并按照那里的说明进行安装,或通过 Helm 安装:

代码语言:javascript
复制
# Add the linkerd-edge Helm repo if you haven't already
helm repo add linkerd-edge https://helm.linkerd.io/edge
# And the linkerd-smi extension
helm repo add linkerd-smi https://linkerd.github.io/linkerd-smi
helm repo up

# Install linkerd-smi and linkerd-failover
helm install linkerd-smi -n linkerd-smi --create-namespace linkerd-smi/linkerd-smi
helm install linkerd-failover -n linkerd-failover --create-namespace --devel linkerd-edge/linkerd-failover

然后,通过将 failover.linkerd.io/control-by:linkerd-failover 标签应用于现有的 TrafficSplit 来配置服务故障转移。例如:

代码语言:javascript
复制
apiVersion: split.smi-spec.io/v1alpha2
kind: TrafficSplit
metadata:
name: sample-svc
annotations:
  failover.linkerd.io/primary-service: sample-svc
labels:
  failover.linkerd.io/controlled-by: linkerd-failover
spec:
service: sample-svc
backends:
  - service: sample-svc
    weight: 1
  - service: sample-svc-remote
    weight: 0

在本例中,在总体健康检查失败的情况下,到 sample-svc 服务的流量将自动从本地集群转移到副本。就是这么简单!

我们希望你能对 Linkerd 这个令人兴奋的新功能给予反馈。初始的操作器实现涵盖了基本内容,但后面还会有更多内容。请查看我们的初始路线图[8](很快会转移到linkerd2 仓库[9]),并向我们提供你的特性请求、错误报告和任何其他反馈!

Linkerd 适用于所有人

Linkerd 是CNCF[10]的一个毕业项目[11]。Linkerd 致力于开放治理。如果你有功能要求,问题,或评论,我们希望你加入我们快速增长的社区!Linkerd 托管在GitHub[12]上,我们在Slack[13]Twitter[14]邮件列表[15]上有一个蓬勃发展的社区。快来加入我们吧!

参考资料

[1]跨集群通信功能: https://linkerd.io/2/features/multicluster/

[2]服务网格接口: https://smi-spec.io/

[3]重试: https://linkerd.io/2/features/retries-and-timeouts/

[4]请求平衡: https://linkerd.io/2/features/load-balancing/

[5]金丝雀部署处理: https://linkerd.io/2.11/features/traffic-split/

[6]Linkerd edge 发布版本: https://linkerd.io/edge/

[7]linkerd-failover 仓库: https://github.com/linkerd/linkerd-failover

[8]初始路线图: https://github.com/linkerd/linkerd-failover/issues

[9]linkerd2 仓库: https://github.com/linkerd/linkerd2

[10]CNCF: https://cncf.io/

[11]毕业项目: https://linkerd.io/2021/07/28/announcing-cncf-graduation/

[12]GitHub: https://github.com/linkerd/

[13]Slack: https://slack.linkerd.io/

[14]Twitter: https://twitter.com/linkerd

[15]邮件列表: https://linkerd.io/2/get-involved/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CNCF 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开始使用
  • Linkerd 适用于所有人
    • 参考资料
    相关产品与服务
    服务网格
    服务网格(Tencent Cloud Mesh, TCM),一致、可靠、透明的云原生应用通信网络管控基础平台。全面兼容 Istio,集成腾讯云基础设施,提供全托管服务化的支撑能力保障网格生命周期管理。IaaS 组网与监控组件开箱即用,跨集群、异构应用一致发现管理加速云原生迁移。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档