适用场景

服务网格分两块:南北向(外部进集群,靠 Ingress Gateway)与东西向(集群间服务互通,靠东西向网关或扁平网络)。多集群则要解决证书、DNS 与服务发现的统一。

配置步骤(南北向网关与证书)

apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata: { name: gw, namespace: istio-system }
spec:
  selector: { istio: ingressgateway }
  servers:
  - port: { number: 443, name: https, protocol: HTTPS }
    tls: { mode: SIMPLE, credentialName: example-cert }
    hosts: ['www.example.com']

关键参数与建议

  • 南北向:Ingress Gateway + 证书统一管理 + WAF 前置
  • 东西向:东西向网关或直接网络互通(同网段)
  • 多集群:多主/主从模式,共享根证书,服务发现联邦
  • 故障域:集群级故障要能摘除整集群
  • 可观测:跨集群链路追踪与统一指标

容易踩的坑

  • 证书散在各命名空间,续期遗漏
  • 网关未限制来源,直接面向公网无防护
  • 未配连接超时与请求体限制

验证与巡检

kubectl get gateway -A
  • 巡检:证书集中管理、网关前置 WAF、超时与体积限制合理

小结

多集群落地的验收:单集群故障时,流量能自动切走且业务可用;跨集群调用链路可追踪。这两个问题答清楚再谈扩容。

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