【发布时间】:2021-01-23 12:22:15
【问题描述】:
我正在按照一些 k8s 文档设置入口服务,但我无法理解以下内容:
kubernetes.ip/ingress.class:
nginx.ingress.kubernetes.io/rewrite-target:
你知道这些注释的作用吗?
提前致谢。
【问题讨论】:
标签: kubernetes devops nginx-ingress
我正在按照一些 k8s 文档设置入口服务,但我无法理解以下内容:
kubernetes.ip/ingress.class:
nginx.ingress.kubernetes.io/rewrite-target:
你知道这些注释的作用吗?
提前致谢。
【问题讨论】:
标签: kubernetes devops nginx-ingress
kubernetes.io/ingress.class注解正式为deprecated:在 Kubernetes 1.18 中添加
IngressClass资源之前, Ingress 类的类似概念通常用kubernetes.io/ingress.classIngress 上的注解。虽然这 注释从未被正式定义,它得到了广泛的支持 入口控制器,现在应该被视为正式弃用。
您应该使用ingressClassName:
Ingresses 上较新的
ingressClassName字段替代了 该注释,但不是直接等价物。虽然注释 一般用于引用 Ingress 控制器的名称 应该实现 Ingress,该字段是对IngressClass包含额外 Ingress 的资源 配置,包括 Ingress 控制器的名称。
在某些情况下,后端服务中公开的 URL 不同于 Ingress 规则中的指定路径。无需重写任何请求 将返回 404。设置注释
nginx.ingress.kubernetes.io/rewrite-target到预期的路径 服务。如果应用程序根暴露在不同的路径中并且需要 重定向,设置注解
nginx.ingress.kubernetes.io/app-root重定向/的请求。
对于更详细的示例,我强烈建议您查看此source。它准确地显示了重写的工作原理。
【讨论】: