首页/云/云与容器速查/Ingress 七层路由
本包目录(340 条)
云基础概念44 条计算与存储56 条网络与安全组33 条容器与 Docker106 条
Kubernetes68 条
容器排障33 条

Ingress 七层路由

用一组规则把集群外 HTTP(S) 流量路由到内部 Service:按 host/path 转发、终结 TLS。Ingress 只是规则对象,真正干活的是 Ingress Controller。

云与容器速查云更新于 2026-10-12
apiVersionnetworking.k8s.io/v1(web 列表老写法已移除)
规则rules: host + http.paths(pathType: Prefix/Exact)
TLStls 段引用承载证书的 Secret,实现 HTTPS 终结
执行者需部署 Ingress Controller(nginx/traefik/云原生)
替代Gateway API 是新一代演进方向

Ingress 示例

Ingress 示例
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: web
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: nginx
  tls:
    - hosts: ["app.example.com"]
      secretName: app-example-tls
  rules:
    - host: app.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: web
                port:
                  number: 80
没有 Ingress Controller 时,Ingress 只是躺在 etcd 里的规则:kubectl get ingress 有地址栏为空就是没 controller。

易错点

  • pathType 不写:老版本默认行为与新规范不一致,路由结果漂移
  • 注解是 controller 特定的:换 controller 后 rewrite 等配置全部失效

数据来源与参考

  • Kubernetes Docs:Ingress
  • Kubernetes Docs:Ingress Controllers

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌