已经添加或修改了 Ingress 规则,但规则并没有生效。
Ingress 配置出现错误,导致新 Ingress 规则无法被正确加载。
Ingress 资源配置错误,与预期配置不相符。
Ingress Controller 的权限出现问题,导致无法正常监视 Ingress 资源变动。
旧 Ingress 使用 server-alias 配置域名,此配置与新 Ingress 冲突,导致规则被忽略。
检查 Ingress 配置,确认是否存在 Ingress 配置错误/正确但不符合预期。
进入 Controller Pod 容器,查看 nginx.conf 文件中是否已添加了规则。
检查 ClusterRole、ClusterRoleBinding、Role、RoleBinding、ServiceAccount 等关联资源,默认名称为 ingress-nginx。
若旧 Ingress 使用 server-alias 配置域名,此配置与新 Ingress 冲突,导致规则被忽。可参考以下步骤处理:
针对非rewrite-target
,且路径中使用了正则表达式的情况,确认 Annotation 中配置了nginx.ingress.kubernetes.io/use-regex: "true"
。
检查 PathType 是否与预期相符(ImplementationSpecific
默认与Prefix
作用相同)。ImplementationSpecific
与Prefix
详细介绍参见:Basic Configuration。