Linkerd 轻量级 Service Mesh 实战指南
前言
Linkerd 是最轻量级的 Service Mesh 实现,以简单、高性能著称。本文详细介绍 Linkerd 的部署、配置和实际应用场景。
一、Linkerd 核心特点
| 特点 | 说明 |
|---|---|
| 超轻量 | 每个 Proxy 仅占用 10-50MB 内存 |
| 高性能 | 基于 Rust 编写,延迟极低 |
| 简单易用 | 单命令安装,零配置运行 |
| K8s 原生 | 深度集成 Kubernetes |
二、安装 Linkerd
# 下载 linkerd CLI
curl -sL https://run.linkerd.io/install | sh
# 验证集群兼容性
linkerd check --pre
# 安装控制平面
linkerd install | kubectl apply -f -
# 等待组件就绪
kubectl -n linkerd wait --for=condition=ready pod --all
# 验证安装
linkerd check
三、启用 Sidecar 注入
# 为命名空间启用注入
kubectl annotate namespace default linkerd.io/inject=enabled
# 部署应用(自动注入)
kubectl apply -f app.yaml
# 验证注入
kubectl get pods -o jsonpath='{range .items[*]}{.metadata.name}: {.spec.containers[*].name}{"\n"}{end}'
四、流量管理
4.1 服务剖析
# 查看服务指标
linkerd stat deployments -n default
# 查看拓扑
linkerd top deployments -n default
# 查看详细指标
linkerd tap deploy/api -n default
4.2 流量拆分
apiVersion: split.smi-spec.io/v1alpha2
kind: TrafficSplit
metadata:
name: web-split
namespace: default
spec:
service: web-svc
backends:
- service: web-v1
weight: 90
- service: web-v2
weight: 10
五、安全特性
5.1 自动 mTLS
# 验证 mTLS 状态
linkerd edges deployment -n default
# 查看加密流量
linkerd tap deploy/api --output wide -n default
六、可观测性
# 安装可视化工具
linkerd viz install | kubectl apply -f -
# 访问 Dashboard
linkerd viz dashboard
# 查看服务网格拓扑
linkerd viz top
总结
Linkerd 以其轻量、高性能和易用性,成为 Service Mesh 的优秀选择,特别适合追求简单和性能的场景。
Service Mesh 系列文章 3/10
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。







