把网络能力从每个服务中移出
没有网格时,每个服务各自实现 TLS、重试、指标和流量策略,且往往因语言而异。网格把这些关注点移入工作负载旁的代理:控制平面定义身份和策略,数据平面一致执行。
apiVersion: security.istio.io/v1
kind: PeerAuthentication
metadata:
name: default
spec:
mtls:
mode: STRICT
该清单是 Istio 示例,原则更广:传输身份和策略集中配置、由代理执行,而不是各应用手写。
网格是基础设施,不是安全毯
mTLS 证明哪个工作负载在调用,但不决定该工作负载是否有权调用某个端点。授权策略仍需定义。网格可执行粗粒度网络策略,但应用必须执行用户级授权并校验输入。网格还会增加延迟、内存和新的故障域;控制平面或代理注入故障会影响所有服务。
有意识地运维
增量上线网格,先使用宽松 mTLS 模式,观察后再强制,并保留逃生路径。监控代理资源、证书轮换、控制平面健康和配置漂移。测试控制平面不可用时会发生什么;数据平面应使用最后一次已知配置继续运行。
何时使用
当跨多服务、多语言的一致 mTLS、流量策略和遥测足以抵消运维成本时,使用网格。优点是不改应用即可获得统一行为;代价是复杂度、资源开销和新的调试层。与库或 API 网关相比,网格覆盖东西向流量,但不能替代边缘关注点和应用级授权。