概览与核心价值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/灰度策略,可在保证安全性的前提下实现灵活的入口流量管理,配置可复用与可验证。

发表评论 取消回复