概览与核心价值Ingress 负责集群入口流量的路由与安全控制。合理的 Controller 选择与路由/TLS/灰度策略配置,能显著提升对外服务的可用性与可维护性。核心概念Ingress Controller:如 `Nginx`、`Traefik`、`Contour`,提供路由与负载能力路由策略:Host/Path 路由、正则重写、优先级与默认后端安全:TLS 终止、HTTP→HTTPS 强制跳转示例:Nginx Ingress 路由与 TLSapiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: web-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: /$1 nginx.ingress.kubernetes.io/ssl-redirect: "true" spec: tls: - hosts: - example.com secretName: tls-secret rules: - host: example.com http: paths: - path: /api/?(.*) pathType: Prefix backend: service: name: api port: number: 8080 - path: /web pathType: Prefix backend: service: name: web port: number: 80 灰度与流量管理借助 `canary` 注解实现灰度:metadata: annotations: nginx.ingress.kubernetes.io/canary: "true" nginx.ingress.kubernetes.io/canary-weight: "10" 参数与验证环境:`Kubernetes v1.28`、`Nginx Ingress v1.9+`。验证点:TLS 终止与强制跳转生效(HTTP 请求重定向至 HTTPS)路由重写正确(`/api/foo` → 目标服务 `/foo`)灰度 10% 权重命中与日志可观测最佳实践选择稳定版本的 Controller,并开启访问日志为外部入口配置 `LoadBalancer` 与健康检查使用 `NetworkPolicy` 控制东西向访问结论通过 Ingress 的路由/TLS/灰度策略,可在保证安全性的前提下实现灵活的入口流量管理,配置可复用与可验证。

发表评论 取消回复