用途:在 Kubernetes 集群中部署并配置服务网格(Istio 或 Linkerd),为微服务提供加密的服务间通信、细粒度流量控制、可观测性与基础设施级安全策略。
主要能力:安装控制平面;为命名空间启用 sidecar 自动注入;配置 mTLS(Istio 用 PeerAuthentication,Linkerd 默认对网格内 Pod 启用);实现流量管理(金丝雀发布、A/B 测试、流量拆分、重试、熔断、超时);集成 Prometheus、Grafana、Kiali、Jaeger 等可观测性组件;执行健康检查与验证。
使用方式:需具备管理员权限的 Kubernetes 集群,并选择 Istio 或 Linkerd。以 Istio 为例,安装命令为 curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.20.2 sh - 与 istioctl install --set profile=production -y;Linkerd 为 curl -sL https://run.linkerd.io/install | sh、linkerd check --pre、linkerd install --ha | kubectl apply -f -。随后通过 kubectl label namespace default istio-injection=enabled(Istio)或 kubectl annotate namespace default linkerd.io/inject=enabled(Linkerd)启用注入,并应用 mTLS、VirtualService/TrafficSplit 等配置。验证可用 istioctl analyze、istioctl proxy-status、linkerd check 等。
适用场景:微服务需加密通信、精细化流量控制、无侵入可观测性、统一熔断重试超时、分布式追踪与依赖映射。
限制与注意事项:每个 Pod 的 sidecar 约增加 100-200MB 内存,需保证集群资源(生产建议至少 4 核 8GB);同一 host 多个 VirtualService 会导致未定义行为;证书需监控过期;命名空间打标签前创建的 Pod 不会注入 sidecar,需重启;Istio 要求端口按协议命名(如 http-web);生产环境应先用 PERMISSIVE 模式再切 STRICT;追踪采样率建议 1-10%;需注意网格与 Kubernetes 版本兼容性。具体配置模板与完整示例见原文档 EXAMPLES.md。