开发者社区> 黑客下午茶> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

了解 Linkerd Service Mesh 架构

简介: 了解 Linkerd Service Mesh 架构
+关注继续查看

从较高的层次上看,Linkerd 由一个控制平面(control plane) 和一个 数据平面(data plane) 组成。


控制平面是一组服务,提供对 Linkerd 整体的控制。

数据平面由在每个服务实例“旁边”运行的透明微代理(micro-proxies)组成,作为 Pod 中的 sidecar。这些代理会自动处理进出服务的所有 TCP 流量,并与控制平面进行通信以进行配置。


Linkerd 还提供了一个 CLI,可用于与控制平面数据平面进行交互。


系列



中文手册(https://hacker-linner.com)


CLI



Linkerd CLI 通常在集群外部运行(例如在您的本地机器上),用于与 Linkerd 交互。


控制平面(control plane)



Linkerd 控制平面是一组在专用 Kubernetes 命名空间(默认为 linkerd)中运行的服务。控制平面有几个组件,列举如下。


目标服务(destination)


数据平面代理使用 destination 服务来确定其行为的各个方面。它用于获取服务发现信息(即发送特定请求的位置和另一端预期的 TLS 身份);获取有关允许哪些类型的请求的策略信息;获取用于通知每条路由指标重试超时的服务配置文件信息;和更多其它有用信息。


身份服务(identity)


identity 服务充当 TLS 证书颁发机构, 接受来自代理的 CSR 并返回签名证书。这些证书在代理初始化时颁发,用于代理到代理连接以实现 mTLS


代理注入器(proxy injector)


proxy injector 是一个 Kubernetes admission controller,它在每次创建 pod 时接收一个 webhook 请求。此 injector 检查特定于 Linkerdannotationlinkerd.io/inject: enabled)的资源。当该 annotation 存在时,injector 会改变 pod 的规范, 并将 proxy-initlinkerd-proxy 容器以及相关的启动时间配置添加到 pod 中。


数据平面(data plane)



Linkerd 数据平面包含超轻型微代理,这些微代理部署为应用程序 Pod 内的 sidecar 容器。由于由 linkerd-init(或者,由 LinkerdCNI 插件)制定的 iptables 规则, 这些代理透明地拦截进出每个 podTCP 连接。


代理(Linkerd2-proxy)


Linkerd2-proxy 是一个用 Rust 编写的超轻、透明的微代理Linkerd2-proxy 专为 service mesh 用例而设计,并非设计为通用代理。

代理的功能包括:


  • HTTPHTTP/2 和任意 TCP 协议的透明、零配置代理。
  • HTTPTCP 流量的自动 Prometheus 指标导出。
  • 透明、零配置的 WebSocket 代理。
  • 自动、延迟感知、第 7 层负载平衡。
  • HTTP 流量的自动第 4 层负载平衡。
  • 自动 TLS
  • 按需诊断 Tap API
  • 还有更多。

代理支持通过 DNS 和目标 gRPC API 进行服务发现。


您可以在此处阅读有关这些微代理的更多信息:

  • 为什么 Linkerd 不使用 Envoy
  • Linkerd 最先进的 Rust 代理 Linkerd2-proxy


Linkerd init 容器


linkerd-init 容器作为 Kubernetes init 容器 添加到每个网格 pod 中,该容器在任何其他容器启动之前运行。它使用 iptables 通过代理将所有 TCP 流量,进出 Pod 的所有流量。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
谈谈如何从数据湖(Data Lake)架构转向数据网格(Data Mesh)架构
尽管数据网格实践被应用在有些客户中,但企业规模性的采用仍有很长的路要走。
0 0
详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代(二)
详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代(二)
0 0
详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代(一)
详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代(一)
0 0
Data Mesh的原则和逻辑架构-数据架构参考
原文链接:[https://martinfowler.com/articles/data-mesh-principles.html](https://link.zhihu.com/?target=https%3A//martinfowler.com/articles/data-mesh-principles.html) 作者简介:Zhamak是Thoughtworks的首席技术顾问,专注于企业的分布式系统架构和数字平台策略。作为Thoughtworks技术顾问委员会的成员,她为创建Thoughtworks技术雷达做出了贡献。
0 0
2020 年,从架构谈起,到 Mesh 结束
如今,几乎所有的事情都离不开软件,当你开车时,脚踩上油门,实际上是车载计算机通过力度感应等计算输出功率,最终来控制油门,你从未想过这会是某个工程师的代码。
0 0
Service Mesh 最火项目 Istio 架构解析
本文摘自于由阿里云高级技术专家王夕宁撰写的《Istio 服务网格技术解析与实践》一书,文章从基础概念入手,介绍了什么是服务网格及 Istio,针对 2020 服务网格的三大发展趋势,体系化、全方位地介绍了 Istio 服务网格的相关知识。
0 0
Service Mesh 最火项目 Istio 分层架构,你真的了解吗?
本文摘自于由阿里云高级技术专家王夕宁撰写的《Istio 服务网格技术解析与实践》一书,文章从基础概念入手,介绍了什么是服务网格及 Istio,针对 2020 服务网格的三大发展趋势,体系化、全方位地介绍了 Istio 服务网格的相关知识。
0 0
阿里巴巴 Service Mesh 落地的架构与挑战
云原生已成为整个阿里巴巴经济体构建面向未来的技术基础设施,Service Mesh 作为云原生的关键技术之一,顺利完成在 双11 核心应用严苛而复杂场景下的落地验证。本文作者将与大家分享在完成这一目标过程中我们所面临和克服的挑战。
0 0
干货 | 蚂蚁金服是如何实现经典服务化架构往 Service Mesh 方向的演进的?
本文会给大家分享 Service Mesh 在蚂蚁金服的演进历程和在2018年6月举办的 GIAC 全球互联网架构大会中蚂蚁金服高级技术专家与现场人员关于Service Mesh的热门 QA 互动。
838 0
【权限设计系列】「认证授权专题」微服务架构的登陆认证问题
【权限设计系列】「认证授权专题」微服务架构的登陆认证问题
0 0
+关注
黑客下午茶
公号「黑客下午茶」,云原生 DevOps 全栈重度患者
文章
问答
文章排行榜
最热
最新
相关电子书
更多
云原生架构白皮书2022年新版
立即下载
技术揭秘:RocketMQ 5.0 云原生架构升级之路
立即下载
基于英特尔®架构的阿里云服务网格ASM技术加速应用服务加密通
立即下载