Linkerd 2.0迎来更新,向着Kubernetes再进一步

简介: Linkerd社区对自身服务网格平台进行一轮最新更新,旨在进一步提高开发人员与服务拥有者的效率,同时与持续发展的Kubernetes生态系统实现紧密集成。另外,此次更新还为Linkerd在日益拥挤的服务网格领域中争取到一些喘息空间。
Linkerd社区对自身服务网格平台进行一轮最新更新,旨在进一步提高开发人员与服务拥有者的效率,同时与持续发展的Kubernetes生态系统实现紧密集成。另外,此次更新还为Linkerd在日益拥挤的服务网格领域中争取到一些喘息空间。

Bouyant公司CEO兼Linkerd社区初始开发者之一William Morgan表示,2.0版本最重要的特征就在于基础代码库进行了完全重写,且更加注重对服务网格部署的简化。

此次重写将控制层由JVM编程语言变更为Go编程语言。Morgan表示,与此前的迭代相比,这轮大规模调整使得Linkerd 2.0“体积更小,而速度更快。”

除了性能优势之外,转向Go语言还令Linkerd与Kubernetes生态系统更为接近。Morgan指出,“我们的大多数用户都身在Kubernetes阵营,因此我们希望尽早解决这个问题。”

Morgan解释称,除了与Kubernetes生态系统相结合之外,Go编程语言也“更容易上手”,并将推动这套平台迎来更为重大的创新。Linkerd与Kubernetes亦同属于云原生计算基金会(简称CNCF)生态系统中的组成部分。

服务边挂

该平台还拥有新的服务边挂设计,即允许平台仅运行一项服务,同时在无需配置或代码变更的前提下实现自动化观察、可靠性与运行时诊断。

Morgan解释道,这种方法与当前的服务网格平台相反——因为后者采取“全有或全无”的价值主张。他指出,路由是一项部署强度较高的任务,特别是考虑到最终用户对于云原生空间往往并不熟悉。

Morgan在描述当前进程时表示,“这是一项重要技术,需要投入大量时间才能学习完成。此外,用户还必须将相关知识与实际技术结合起来,这明显会提高使用门槛。”

而对于缺少云原生工程师或意见领袖的技术支持的服务拥有者而言,这道门槛无疑更高。Morgan指出,“人们并不关心Kubernetes、Docker或者服务网格,他们只是想让其直接发挥作用。”

在Linkerd 2.0的帮助下,Morgan认为这些服务拥有者能够使用边挂方式启动单一服务,从而简化过渡流程。“服务拥有者将获得可靠性、可见性与调试能力,从而在白天高效运作,并在夜晚安心入睡。”

Morgan指出,此次Linkerd更新能够在数秒之内完成服务安装,这一能力与其它服务网格平台“形成了鲜明的对比。”

服务网格空间

随着服务网格空间受到越来越多新产品的关注,这种对比也显得愈发必要。Istio无疑是其中最值得一提的对手,其目前已经得到谷歌、IBM以及Lyft等企业的采用。这套平台于今年7月迎来了自己的通用版本(1.0)。

考虑到其源自谷歌的身份,Istio当然受到Google Cloud Platform的官方支持,但目前仍未能与Amazon Web Services(简称AWS)以及微软Azure建立官方对接。此外,其亦严重依赖于同属于云原生基金会的Envoy服务代理平台。

红帽公司Istio产品经理Brian Harrington最近解释称,Istio与Linkerd之间存在明显不同,因为前者充当的实际是用于服务网格管理的控制层。其能够处理Enovy边挂部署——即将Envoy部署在运行中的容器Pod旁侧,并通过同Kubernetes或Apache Mesos等容器编排层平台的配合实现部署协调。
Harrington同时补充称,“通过这种流量拦截过程,Istio得以执行其「神奇的」服务组件自动连接能力。”
Linkerd社区此前已经添加过相关支持,允许用户同时运行Linkerd与Istio——其中的具体方法是将Istio作为Linkerd实例的控制层。
此外,Linkerd的关注重点与HasiCorp的Consul服务网格平台也比较相似。HashiGroup创始人兼联席CTO Mitchell Hasimoto最近在采访当中表示,与Istio相比,Consul无需强制要求用户接受所有组件即可建立服务网格,这将为组织提供更多选择。Hashimoto指出,“Istio在Kubernetes中的运行难度更低,但Consul则更具全局能力。”


未来方向

Morgan认为,尽管目前的服务网格选项越来越多,但Linkerd社区仍将专注于提高平台的可用性。他指出,凭借着这一关注重点,Linkerd平台本身仍将为广大用户所喜欢,并预计Linkerd将“比计划时间更早”由云原生基金会的“孵化”项目转变为全面“结业”项目。

Morgan最后总结称,“对我们来说,需求始终来自项目背后的用户社区,而这才是我们需要关注的重点所在。”

本文转自DockOne-Linkerd 2.0迎来更新,向着Kubernetes再进一步

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
Kubernetes 网络协议 API
Kubernetes Kubelet 状态更新机制
Kubernetes Kubelet 状态更新机制
Kubernetes Kubelet 状态更新机制
|
Kubernetes Docker 容器
kubernetes 【组件】configmap配置更新
kubernetes 【组件】configmap配置更新
|
容器 Kubernetes
Kubernetes中将Delete类型的PV更新为Retain类型
回收策略 典型的StorageClass模板如下所示,通过reclaimPolicy 字段定义生成PV的回收策略: apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: alicloud-disk-efficiency...
18139 0
|
Kubernetes 数据可视化 API
使用 Flux,Helm v3,Linkerd 和 Flagger 渐进式交付 Kubernetes(二)
使用 Flux,Helm v3,Linkerd 和 Flagger 渐进式交付 Kubernetes(二)
330 0
使用 Flux,Helm v3,Linkerd 和 Flagger 渐进式交付 Kubernetes(二)
|
存储 Kubernetes 安全
使用 Flux,Helm v3,Linkerd 和 Flagger 渐进式交付 Kubernetes(一)
使用 Flux,Helm v3,Linkerd 和 Flagger 渐进式交付 Kubernetes(一)
200 0
|
Kubernetes 算法 应用服务中间件
Kubernetes:应用自动扩容、收缩与稳定更新
Kubernetes:应用自动扩容、收缩与稳定更新
545 0
|
Kubernetes 测试技术 API
Linkerd + Namerd,实现Kubernetes 集群的灰度发布
主要内容源于 https://blog.buoyant.io/2016/11/04/a-service-mesh-for-kubernetes-part-iv-continuous-deployment-via-traffic-shifting/ ,砍掉了 Jenkins 等附加部分,更换了更加易于理解的示例应用,以保证主干突出。
6488 0
|
Web App开发 存储 监控
【Release Notes】Kubernetes解决方案更新
2017年8月 支持Kubernetes 1.7.2, 相应变更请参见 CHANGELOG。 去部署Kubernetes CloudProvider切换使用ECS实例ID标识集群节点,支持用户自由更改控制台实例名称。
4094 0
|
Kubernetes API 调度
Kubernetes最佳实践S01E07:零停机更新Kubernetes集群
每个人都知道,保持应用程序最新以及优化安全性和性能是一种很好的做法。 Kubernetes和Docker可以更轻松地执行这些更新,因为您可以使用更新构建新容器并相对轻松地部署它。就像您的应用程序一样,Kubernetes不断获得新功能和安全更新,因此底层节点和Kubernetes基础架构也需要保持最新。
1654 0
|
存储 Kubernetes 应用服务中间件
Kubernetes ConfigMap热更新测试 – 探究ConfigMap的创建和更新流程
ConfigMap热更新测试 ConfigMap是用来存储配置文件的kubernetes资源对象,所有的配置内容都存储在etcd中,下文主要是探究 ConfigMap 的创建和更新流程,以及对 ConfigMap 更新后容器内挂载的内容是否同步更新的测试。
2691 0