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

发表回复

后才能评论