图片

Linkerd 是 Kubernetes 上的轻量级服务网格,GitHub 星标超过 1 万。它主打简单易用,比 Istio 轻量太多。想要服务网格的能力,又不想吃太多资源,选它挺好。

我自己在小集群试过 Linkerd,确实安装快,资源占用低,跑起来比 Istio 轻快多了。今天聊聊它好在哪。

Linkerd 解决了什么问题

想要服务网格的好处——加密、监控、重试这些——但是 Istio 太重,每个 Pod 占好多内存,小集群资源根本不够用。

Linkerd 用 Rust 写 sidecar,内存占用小很多,安装也简单,一键就能搞定。适合不想折腾太复杂,但又想要服务网格能力的团队。它自动给你做 mTLS 加密,服务之间通信默认就是安全的,不用你自己管证书。监控指标自动出来,Prometheus 直接拉,不用每个服务自己埋点。

基础例子看一下

先装 CLI 工具,然后一键安装到集群:

curl -fsL https://get.linkerd.io | bash
linkerd install | kubectl apply -f -

等它起来,给命名空间加个注解,自动注入 sidecar:

kubectl annotate namespace default linkerd.io/inject=enabled

部署应用就完事了,官方有个示例叫 emojivoto,直接跑:

curl -fsL https://run.linkerd.io/emojivoto.yml | kubectl apply -f -

打开 dashboard 看状态:

linkerd dashboard

所有服务的流量、成功率、延迟都一目了然。要做流量拆分灰度发布:

kubectl apply -f - <<EOF
apiVersion: split.smi-spec.io/v1alpha3
kind: TrafficSplit
metadata:
  name: emojivoto
spec:
  service: emojivoto-web
  backends:
  - service: emojivoto-web-v1
    weight: 90
  - service: emojivoto-web-v2
    weight: 10
EOF

90% 流量走 v1,10% 走 v2,配置完立即生效,就是这么快。

核心特性

轻量级

Rust 写的 sidecar,内存占用比 Istio 的 Envoy 小很多,CPU 也更省。小集群也玩得起,资源成本低。

安装简单

一条命令装完就能用,不用理解一堆复杂配置,新手也能快速跑起来。

自动 mTLS

所有服务之间通信默认加密,证书自动轮转,生成、分发、续期全都不用你管,安全开箱即用。

原生 Kubernetes 集成

用 CRD 配置,完全兼容 Kubernetes 生态,不用记一大堆自定义概念,Kubernetes 用户上手很快。

零代码侵入

不用改业务代码,加个注解就自动注入,啥都不用动,能力就有了,接入成本极低。

哪些场景用 Linkerd

Kubernetes 小集群,资源不多,想要服务网格,Linkerd 比 Istio 合适太多。团队小,不想花太多精力运维复杂基础设施,轻量够用就好,直接选 Linkerd。

只需要基础服务网格能力——加密、监控、灰度——不需要太复杂的路由规则,Linkerd 完全能满足。初创公司资源有限,想先体验服务网格,成本低风险小。

Linkerd 有哪些优缺点

优点就是真的轻,真的简单。安装快,资源省,接入零代码,小团队小集群太友好。默认开 mTLS,不用你折腾证书,这点特别省心。CNCF 毕业项目,稳定靠谱。

缺点嘛,功能确实不如 Istio 全,复杂路由、高级安全策略这些没有,要非常复杂的流量管理还是得上 Istio。生态用户都比 Istio 少一点,遇到冷门问题资料相对难找。但它定位就是轻量,功能简单点太正常了。

现在 Linkerd 发展得怎么样

出来快十年了,一直朝着轻量简单的方向走,CNCF 早就毕业了。现在越来越多人用它做轻量服务网格,Istio 太重的时候换它,定位清晰,一直稳定维护。

现在学 Linkerd 值得吗

玩 Kubernetes 微服务,值得学。你不一定天天用,但知道有这么个轻量选项,小项目小集群用它能省好多资源。安装试用都简单,半小时就能跑通,学会了总有一天用得上。如果你团队资源有限,不想搞太重的服务网格,直接用它就对了,绝对值得。

项目地址:https://github.com/linkerd/linkerd2

安装试用都简单,半小时就能跑通,学会了总有一天用得上。如果你团队资源有限,不想搞太重的服务网格,直接用它就对了,绝对值得。

项目地址:https://github.com/linkerd/linkerd2

Logo

一站式 AI 云服务平台

更多推荐