You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes未给Ingress分配地址 按官方教程配置后访问返回404

问题排查与解决步骤
  • 1. 修复Ingress无Address的异常

你使用的minikube 1.23版本搭配k8s 1.22版本,存在ingress-nginx控制器的RBAC权限兼容问题,执行以下命令补全权限即可:

kubectl patch clusterrole ingress-nginx -n ingress-nginx --type=json -p='[{"op": "add", "path": "/rules/-", "value": {"apiGroups": [""],"resources": ["services", "endpoints", "secrets"],"verbs": ["get", "list", "watch"]}},{"op": "add", "path": "/rules/-", "value": {"apiGroups": ["extensions", "networking.k8s.io"],"resources": ["ingresses"],"verbs": ["get", "list", "watch"]}},{"op": "add", "path": "/rules/-", "value": {"apiGroups": ["networking.k8s.io"],"resources": ["ingresses/status"],"verbs": ["update"]}}]'

执行完成后等待2分钟,再执行kubectl get ingress查询,Address字段就会正常显示minikube的IP地址。

  • 2. 修复访问返回404的异常

你配置的nginx.ingress.kubernetes.io/rewrite-target: /$1注解和当前Ingress的路径规则不匹配:
你当前的Ingress路径配置为/,不需要带占位符的重写规则,将注解修改为nginx.ingress.kubernetes.io/rewrite-target: /即可。同时注意k8s 1.22版本要求Ingress必须指定pathType字段,否则规则不会生效,完整的参考配置如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: hello-world.info
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: web
            port:
              number: 8080
  • 3. default backend报错说明

该报错不影响你自定义规则的正常访问,minikube内置的ingress-nginx默认没有部署default-http-backend组件,只有访问未匹配规则的域名路径时才会调用默认后端,你当前配置的hello-world.info规则不受该报错影响。

修改配置后重新apply Ingress资源,等待1分钟再访问hello-world.info即可正常返回内容。

内容的提问来源于stack exchange,提问作者Digao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:09:01