用途:在 Kubernetes 集群中搭建生产级 Ingress 网络,通过单一负载均衡器暴露多个服务,并实现自动 TLS 证书管理与高级路由。
主要能力:安装 NGINX Ingress Controller(支持云厂商 LoadBalancer、裸机 NodePort、AWS NLB);用 cert-manager 配合 Let's Encrypt 自动签发与续期证书;配置路径/主机路由、rewrite-target、金丝雀按权重或请求头分流;限流、Basic Auth、OAuth2 认证;自定义错误页、CORS 与请求头修改;暴露 Prometheus 指标。
使用方式:先添加 Helm 仓库并安装控制器,例如 helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx,再按云或裸机场景设置 service.type;随后安装 cert-manager 并创建 ClusterIssuer,在 Ingress 上通过 cert-manager.io/cluster-issuer 注解触发证书签发;用 ingressClassName: nginx 指定控制器,通过注解实现重写、金丝雀、限流与认证。
适用场景:微服务多服务暴露、自动 HTTPS、蓝绿/金丝雀发布、按路径或主机分流、需要限流与认证的 API 网关式入口。
限制与注意:需集群支持 LoadBalancer 或 MetalLB,DNS 必须指向入口 IP;HTTP-01 校验需开放 80 端口;Let's Encrypt 有速率限制,测试应先用 staging;限流按 Ingress 而非按路径生效;同一路由只能有一个金丝雀 Ingress;认证仅作用于 Ingress,后端 ClusterIP 仍可能被绕过,需配合网络策略;configuration-snippet 存在注入风险,应校验注解。具体配置与完整示例以资料中的 EXAMPLES.md 为准。