当前位置: 首页 > article >正文

Kubernetes Service Mesh进阶:Linkerd实践与对比

Kubernetes Service Mesh进阶Linkerd实践与对比一、引言服务网格(Service Mesh)是云原生架构中用于管理服务间通信的基础设施层。Linkerd作为第二代服务网格以其轻量、高性能的特点备受关注。本文将深入探讨Linkerd的核心概念、实践部署以及与Istio的对比。二、Linkerd架构解析2.1 Linkerd架构组件┌─────────────────────────────────────────────────────────────────┐ │ Linkerd架构 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Control │────▶│ Proxy │────▶│ Control │ │ │ │ Plane │ │ (数据平面) │ │ Plane │ │ │ ├──────────────┤ └──────────────┘ └──────────────┘ │ │ │ linkerd │ │ │ │ │ control │ │ │ │ │ controller │ ▼ │ │ ├──────────────┤ ┌──────────────┐ ┌──────────────┐ │ │ │ Prometheus │ │ Service │────▶│ Service │ │ │ ├──────────────┤ │ A │ │ B │ │ │ │ Grafana │ └──────────────┘ └──────────────┘ │ │ └──────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘2.2 核心组件说明组件作用部署位置Control Plane控制平面管理配置和策略独立部署Data Plane数据平面处理服务间通信Sidecar注入linkerd controller核心控制器控制平面Prometheus指标收集控制平面Grafana可视化仪表盘控制平面三、Linkerd部署实践3.1 安装Linkerd CLI# 下载并安装Linkerd CLI curl -sL https://run.linkerd.io/install | sh # 验证安装 linkerd version # 检查集群兼容性 linkerd check --pre3.2 部署控制平面# 安装控制平面 linkerd install | kubectl apply -f - # 验证控制平面状态 linkerd check # 安装可视化组件 linkerd viz install | kubectl apply -f - # 打开仪表盘 linkerd viz dashboard3.3 Sidecar注入# 为命名空间启用Sidecar注入 kubectl annotate namespace default linkerd.io/injectenabled # 手动注入Sidecar到现有Deployment kubectl get deployment my-app -o yaml | linkerd inject - | kubectl apply -f - # 查看注入状态 linkerd check --proxy四、Linkerd核心功能实践4.1 流量管理apiVersion: policy.linkerd.io/v1beta1 kind: Server metadata: name: my-service namespace: default spec: podSelector: matchLabels: app: my-service port: http protocol: h2capiVersion: policy.linkerd.io/v1beta1 kind: HTTPRoute metadata: name: my-service-route namespace: default spec: parentRefs: - name: my-service kind: Server rules: - matches: - path: type: PathPrefix value: /api filters: - type: RequestHeaderModifier requestHeaderModifier: add: - name: X-Request-Id value: {{random}} backendRefs: - name: my-service port: 8080 weight: 1004.2 金丝雀发布apiVersion: policy.linkerd.io/v1beta1 kind: HTTPRoute metadata: name: canary-route namespace: default spec: parentRefs: - name: my-service rules: - matches: - headers: - name: X-Canary value: true backendRefs: - name: my-service-v2 port: 8080 weight: 100 - backendRefs: - name: my-service-v1 port: 8080 weight: 90 - name: my-service-v2 port: 8080 weight: 104.3 故障注入# 注入延迟故障 linkerd inject --fault-injectiondelay500ms deployment/my-app # 注入错误故障 linkerd inject --fault-injectionrate0.1 deployment/my-app4.4 指标与监控# 查看服务指标 linkerd viz stat deploy # 查看路由指标 linkerd viz stat routes # 查看特定服务详情 linkerd viz tap deploy/my-app # 查看拓扑图 linkerd viz top deploy/my-app五、Linkerd与Istio对比5.1 架构对比特性LinkerdIstio数据平面Linkerd2-proxy (基于Buoyant)Envoy控制平面轻量单一组件复杂多组件资源占用低较高学习曲线平缓陡峭功能覆盖核心功能全功能5.2 性能对比# Linkerd性能测试 linkerd bench --duration60s --rate1000 # Istio性能测试 istioctl benchmark --duration60s --rate10005.3 适用场景对比场景LinkerdIstio轻量级部署✅❌快速入门✅❌复杂流量管理❌✅多集群支持❌✅严格安全需求❌✅六、Linkerd最佳实践6.1 配置优化apiVersion: linkerd.io/v1alpha1 kind: LinkerdConfig metadata: name: linkerd-config spec: proxy: resources: requests: cpu: 10m memory: 20Mi limits: cpu: 100m memory: 100Mi image: cr.l5d.io/linkerd/proxy:stable-2.14.06.2 安全配置# 启用mTLS linkerd install --identity-trust-domaincluster.local | kubectl apply -f - # 配置证书轮换 linkerd identity get-issuer # 验证mTLS状态 linkerd check --proxy七、总结Linkerd以其轻量级、高性能的特点成为服务网格领域的重要选择。对于追求简单、高效的场景Linkerd是理想的选择而对于需要复杂流量管理和高级安全特性的场景Istio可能更适合。

相关文章:

Kubernetes Service Mesh进阶:Linkerd实践与对比

Kubernetes Service Mesh进阶:Linkerd实践与对比 一、引言 服务网格(Service Mesh)是云原生架构中用于管理服务间通信的基础设施层。Linkerd作为第二代服务网格,以其轻量、高性能的特点备受关注。本文将深入探讨Linkerd的核心概念、实践部署以及与Istio的…...

WarcraftHelper完整指南:让魔兽争霸III在现代电脑上重获新生

WarcraftHelper完整指南:让魔兽争霸III在现代电脑上重获新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸III在Windows …...

OBS多平台直播终极指南:obs-multi-rtmp插件让你一键同步推流到各大平台

OBS多平台直播终极指南:obs-multi-rtmp插件让你一键同步推流到各大平台 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 还在为多平台直播的繁琐配置而烦恼吗?obs…...

复合索引设计指南:最左前缀 字段排座次

🍵 复合索引设计指南:最左前缀 & 字段排座次 昨天隔壁工位的老哥一脸懵圈地凑过来:“兄弟,我明明给表建了 (a,b,c) 的复合索引,结果一查 WHERE b1,数据库直接给我上演‘全表扫描’,索引是集…...

ClawX:OpenClaw AI智能体桌面门户,图形化编排与自动化实战

1. 项目概述:ClawX,为OpenClaw AI智能体打造的桌面门户如果你和我一样,对AI智能体(AI Agent)的潜力感到兴奋,却又对在终端里敲打复杂的命令行、配置繁琐的YAML文件感到头疼,那么ClawX的出现&…...

OpenClaw Windows11 保姆级安装部署教程(专属优化、一次成功)

OpenClaw Windows11 保姆级安装部署教程(专属优化、一次成功)一、前言OpenClaw(圈内俗称「小龙虾」)是 GitHub 星标 28W 的开源本地 AI 智能体,主打全自动电脑操控能力,支持自动操作电脑、整理文件、浏览器…...

淘宝淘金币自动化脚本终极指南:每天节省20分钟的完整解决方案

淘宝淘金币自动化脚本终极指南:每天节省20分钟的完整解决方案 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本,包含蚂蚁森林收取能量,芭芭农场全任务,解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi …...

AI写专著全攻略:从构思到完稿,快速生成20万字专著

学术专著写作困境与AI工具解决方案 学术专著的生命力源于其逻辑的严谨性,但在写作过程中,逻辑论证往往是最容易出现问题的部分。专著的写作必须围绕核心观点展开系统的论证,要不仅深入阐述每一个论点,还需要应对来自不同学派的争…...

华为OD新系统机试真题 2026.5.10 - 美观的灯笼

美观的灯笼(Py/Java/C/C/Js/Go)题解 华为OD新系统机试真题 华为OD新系统上机考试真题 5月10号 100分题型 华为OD新系统机试真题目录点击查看: 华为OD新系统机试真题题库目录|机考题库 算法考点详解 题目描述 春节将至,工人要在古镇老街挂灯笼。街上有…...

FastAPI新手快速入门

一、认识FastAPI1.什么是apiapi接口其实就是应用程序器对外提供操作数据的入口,这个入口可以是函数、方法或者url接口当客户端调用入口,应用程序会执行对应代码操作,完成相对应的功能(应用服务器只负责对外提供统一API&#xff0c…...

SQL线索

插入insert into 表 (列) value (),(),...;从另一个表插入数据:insert into 表 (列) select 列 from 另一个表 where 限制;删除delete from 表 where 限制;子查询删:delete from 表 where 列 in (select 列 from 另一个表 where 限制);改update 表 set 列…...

宝塔面板登录教程

1买个服务器2连接ssh-宝塔或者xshell都行3在xshell下载宝塔面板4在服务器主页--在哪里订购的就在有个管理点进去-加入安全组或者添加nat转发。如果不行用bt命令重置端口号再访问,最后重置之后重启一下-bt 15使用nat转发的要用外网端口,宝塔显示的是内网的…...

HMCL启动器社区参与指南:从新手到核心贡献者的完整路径

HMCL启动器社区参与指南:从新手到核心贡献者的完整路径 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL 你是否曾经遇到过游戏启动问题却不知向谁求助…...

如何在老旧电视上实现流畅的1080P直播?MyTV-Android原生应用深度解析

如何在老旧电视上实现流畅的1080P直播?MyTV-Android原生应用深度解析 【免费下载链接】mytv-android 使用Android原生开发的视频播放软件 项目地址: https://gitcode.com/gh_mirrors/my/mytv-android 你是否曾为家中老旧智能电视的卡顿直播体验而烦恼&#x…...

OpenCode 的工具体系:给大模型装上操控代码库的“手”与“眼

要在代码库里真正帮上忙,光有聪明的脑子还不够,大语言模型(LLM)还需要能够执行具体操作的“工具”。OpenCode 把这些工具视为模型与项目环境之间的纽带——读取文件、修改代码、运行命令、查文档,甚至主动上网搜索&…...

ARM TRCCNTCTLR寄存器详解与调试技巧

1. ARM Trace Counter控制寄存器TRCCNTCTLR深度解析在嵌入式系统调试和性能分析领域,硬件计数器是不可或缺的关键工具。作为ARM架构调试系统的重要组成部分,Trace Counter Control Register(TRCCNTCTLR)系列寄存器为开发者提供了精…...

JSCJ-ELEC长电长晶原厂一级代理分销经销

JSCJ-ELEC长晶长电原厂一级代理分销经销 品牌 元件类别 型号 描述 包装 数量 CJ 二极管 RB160M-30 SOD-123 3000 45,000...

C#循环入门指南:从0到1掌握循环逻辑

一、for循环:已知循环次数,首选它for循环是最常用、最规范的循环,适合已知循环次数的场景(比如打印10遍文字、计算1到100的和)。它的结构很固定,就像一个“固定流程的重复机器”,一步都不会乱。…...

【大模型服务治理实战指南】:奇点智能大会首发的7大避坑法则与3套可落地架构模板

更多请点击: https://intelliparadigm.com 第一章:大模型服务治理:奇点智能大会 在2024年奇点智能大会上,大模型服务治理成为核心议题。随着LLM推理服务规模化部署,企业面临模型版本混乱、流量调度失衡、资源隔离缺失…...

专业指南:如何用Legacy-iOS-Kit一站式管理老旧苹果设备

专业指南:如何用Legacy-iOS-Kit一站式管理老旧苹果设备 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …...

SMU5.4-5.10补题

牛客Round142 A-E题vj A,B,C,D,F...

QMCDecode:解锁QQ音乐加密文件,三步实现音乐格式自由转换

QMCDecode:解锁QQ音乐加密文件,三步实现音乐格式自由转换 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录&am…...

英雄联盟智能辅助工具Seraphine:三步快速上手的终极指南

英雄联盟智能辅助工具Seraphine:三步快速上手的终极指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 你是否厌倦了在英雄联盟排位赛中手忙脚乱地查询对手战绩?是否希望有一个智能助…...

Spring MVC 的核心知识点梳理

MVC 是什么 MVC 不是 Spring 发明的,而是一种设计模式,目的是“解耦”。 M(Model,模型):数据 业务逻辑。比如 Teacher 类,TeacherService。V(View,视图)&…...

IP第一次作业

...

HCIA前三章综合实验报告

实验要求按照图示配置IP地址完成路由器之间的协议配置构建需求的环境,配置MGRE,GRE测试全网通实验配置(1)配置IP地址[R1-GigabitEthernet0/0/0]ip address 192.168.1.2 24[R1-Serial4/0/0]ip address 15.1.1.1 24[R2-GigabitEther…...

如何让Windows任务栏变透明:TranslucentTB终极美化指南

如何让Windows任务栏变透明:TranslucentTB终极美化指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想让你的Windows桌面焕…...

微信网页版终极解决方案:三步实现浏览器端微信完整使用指南

微信网页版终极解决方案:三步实现浏览器端微信完整使用指南 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为繁琐的微信安装流程而烦…...

Android虚拟定位终极指南:无需Root的应用级位置伪装解决方案

Android虚拟定位终极指南:无需Root的应用级位置伪装解决方案 【免费下载链接】FakeLocation Xposed module to mock locations per app. 项目地址: https://gitcode.com/gh_mirrors/fak/FakeLocation 你是否遇到过这样的困扰:想在游戏中签到获取限…...

GetQzonehistory:三步轻松备份QQ空间历史说说,永久保存青春记忆

GetQzonehistory:三步轻松备份QQ空间历史说说,永久保存青春记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心QQ空间里的青春记忆会随着时间流逝而消…...