Istio分步指南(五):Istio和Linkerd

Istio分步指南(五):Istio和Linkerd

原文地址 https://medium.com/faun/istio-step-by-step-part-05-istio-and-linkerd-570b511f7a85

大家好,我希望我的 Istio 系列教程会有所不同,所以几天前我开始研究 Linkerd,后者也是与 Istio 一样的 Service Mesh Platform 提供程序。因此,我想检查一下两者之间的区别和相似之处。本文是我研究的摘要。

cover

最初,开发人员使用 Monolith 应用程序体系结构来部署其应用程序。简而言之,如果我们选择一家公司,那么他们只有一个系统来管理整个公司的所有流程。这些应用程序是用单一语言编写的,并使用一台服务器。

但是随着发展,系统的用户增加了。开发人员无法在单个服务器上运行该应用程序。而且,他们在升级系统时还面临许多问题,例如他们必须破坏整个系统才能升级应用程序的单个部分。这种情况花费大量时间和时间。因此,他们决定将该 Monolith 应用程序细分为小型服务。这些服务就是Microservices

微服务单独运行。因此,如果开发人员想要升级服务,则他们不想破坏整个系统。相反,他们可以升级服务。这使开发人员的工作更加轻松。但这带来了另一个问题。由于微服务是单独部署的,因此应分别进行配置。对于开发人员而言,这是一项艰巨的任务。因此,他们需要一个 Service Mesh 来部署和管理这些微服务。作为解决方案,一些公司能够为这些微服务部署提供服务网格。 Istio 和 Linkerd 是其中的一些服务网格。

现在让我们继续我们的主题。在这里,我将不介绍 Istio,因为我的第一篇文章涵盖了 Istio 基础知识。

Linkerd

Linkerd 是Kubernetes和其他框架的服务网格,它是Cloud Native Computing Foundation(CNCF)的开放源代码项目,已通过Apache V2许可。 Linkerd 是作为服务网格部署的“代理”。它可以管理,控制和监视应用程序中的服务到服务通信。与 Istio sidecar-proxy Envoy一样,Linkered 也执行入站和出站流量管理,发送遥测数据和控制信号。但是 Linkerd 控制平面与 Istio 控制平面有很大不同。

Linkerd 架构

与 Istio 架构相同,Linkerd 服务网格也基本上分为 Contol Plane 和 Data Plane 两部分。控制平面是上部,数据平面是下部(根据上图)。

控制平面: Linkerd 的控制平面由四个组件组成,如 Controller,Web,Prometheus 和 Grafana。它们在 linkerd 默认 Kubernetes 命名空间下运行。

  • Controller — 是控制平面的主要组件之一。这是一个多容器 pod,由 public-api,proxy-api,destination 和 tap 组成。这些有助于 Control Plane 的功能。

  • Web — 是一个提供 Linkerd 仪表板的部署。
  • Prometheus - 在 Istio 架构中,我们讨论了 Mixer 它的控制平面的主要组成部分。Mixer 负责从 Envoy 和服务收集度量。对于 Linkered,Prometheus 是负责收集指标的人。加上存储它们。它被配置为使用 Linkerd 生成的数据。
  • Grafana - Linkerd 随附许多现成的仪表板。 Grafana 组件用于呈现和显示这些仪表板。您可以通过 Linkerd 仪表板本身中的链接访问这些仪表板。

数据平面: 与 Istio 数据平面相同,Linkerd 数据平面还包含 Pod,这些 Pod 包含linkerd-proxy以及与该 Pod 一起部署在同一个 Pod 中的服务。

因此,这些是 Linkerd 的基础。在这里,我不想比较它们,但是想知道它们之间的区别。作为总结,

Istio 是一个服务网格体系结构,而 Linkerd 是一个独立的网络代理,可以将其部署为服务网格。

下篇文章见。祝好运 !!!

Rating: