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

Minikube配置NGINX Ingress访问服务返回404 Not Found问题求助

Minikube环境下Ingress访问NGINX服务返回404问题排查与解决

问题描述

创建了Deployment、Service和Ingress资源,希望从宿主机访问集群内的NGINX网页服务器,但访问时始终返回404 Not Found。经过长时间排查仍未定位问题,相关操作步骤和配置文件如下:

相关操作与配置

启用Minikube NGINX Ingress控制器

执行命令:minikube addons enable ingress

创建NGINX网页服务器Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: webserver-white
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx-webserver-white
  template:
    metadata:
      labels:
        app: nginx-webserver-white
    spec:
      containers:
        - name: nginx
          image: nginx:alpine
          ports:
          - containerPort: 80

创建ClusterIP Service管理Pod访问入口

apiVersion: v1
kind: Service
metadata:
  name: webserver-white-svc
  labels:
    run: webserver-white-svc
spec:
  type: ClusterIP
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-webserver-white

创建Ingress实现集群外访问服务

apiVersion: networking.k8s.io/v1 
kind: Ingress
metadata:
  name: webserver-white-ingress
  namespace: default
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  defaultBackend:
    service:
      name: webserver-white-svc
      port:
        number: 80
  rules:
  - host: white.example.com # 该域名指向控制平面IP
    http:
      paths:
      - backend:
          service:
            name: webserver-white-svc
            port:
              number: 80
        path: /
        pathType: ImplementationSpecific

已完成的排查测试

  • 登录任意NGINX Pod执行curl http://localhost,可正常返回NGINX首页HTML,Pod运行状态正常。
  • 启动测试Pod执行curl http://<service-cluster-ip>,可正常返回NGINX首页HTML,Service配置正常。
  • 登录NGINX Ingress控制器Pod执行curl http://<service-cluster-ip>,可正常返回内容,Ingress控制器到Service的链路连通。
  • 执行minikube ssh登录控制平面节点,执行ping <nginx-controller-ip>可正常连通Ingress控制器。
  • 改用NodePort类型Service测试,可通过节点端口正常访问NGINX首页,但仍无法通过Ingress端口访问。

环境信息

  • minikube版本:v1.23.0
  • 客户端与服务端kubectl版本:v1.22.1
  • 操作系统:Ubuntu 18.04.5 LTS (Bionic Beaver)

解决方案

最终定位问题为Ingress资源缺少注解kubernetes.io/ingress.class: "nginx",添加该注解后问题解决。

内容的提问来源于stack exchange,提问作者Daniel Serrão

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:18:05