适用场景

Mesh 把流量治理从代码里拿出来放到 Sidecar:好处是统一,代价是资源开销与排障复杂度增加。判断标准是"服务数量与治理需求"。

配置步骤(Mesh 可观测与排障)

# 指标:请求量、成功率、P99、TCP 连接
# 链路:Jaeger/Zipkin 采集 span
# 排障:
istioctl proxy-status
kubectl logs 服务-xxx -c istio-proxy --tail=100

关键参数与建议

  • 适用:服务数量多、需要细粒度流量治理(灰度、熔断、mTLS)
  • 注入:按命名空间自动注入,注意排除 kube-system 等系统命名空间
  • 资源:每个 Pod 增加 Sidecar,CPU/内存预算要提前算
  • 可观测:Mesh 自带指标与链路,但对 PROMETHEUS 等平台要求更高
  • 排障:理解 iptables 拦截与 Sidecar 日志,否则问题定位很痛苦

容易踩的坑

  • 只关注业务日志,忽略 Sidecar 日志
  • 采样率过低,问题请求没有链路数据
  • 未监控 Sidecar 资源,内存上涨导致 OOM

验证与巡检

istioctl proxy-status
  • 巡检:所有代理同步(SYNCED)、采样率合理、Sidecar 资源正常

小结

Mesh 的落地建议先在一个非核心业务试点:验证注入、灰度、mTLS 与可观测,再评估是否全量。别一上来就全集群启用。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。