Kubernetes 入口总是返回404

Kubernetes 入口总是返回404,kubernetes,kubernetes-ingress,nginx-ingress,Kubernetes,Kubernetes Ingress,Nginx Ingress,我在裸机配置中使用K8s 1.21.0,没有负载平衡器。 我已经使用helm在NodePort配置中安装了nginx ingress: helm install**********nginx stable/nginx ingres--设置“controller.service.type=NodePort”--名称空间=nginx ingres 编辑:我也尝试过作为负载平衡器,但结果是一样的 我使用以下yaml部署了一个简单的nginx web服务器: apiVersion: apps/v1 ki

我在裸机配置中使用K8s 1.21.0,没有负载平衡器。 我已经使用helm在NodePort配置中安装了nginx ingress:

helm install**********nginx stable/nginx ingres--设置“controller.service.type=NodePort”--名称空间=nginx ingres

编辑:我也尝试过作为负载平衡器,但结果是一样的

我使用以下yaml部署了一个简单的nginx web服务器:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: www-deployment
spec:
  selector:
    matchLabels:
      app: www
  replicas: 1
  template:
    metadata:
      labels:
        app: www
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
和一项服务:

apiVersion: v1
kind: Service
metadata:
  name: webserver-service
spec:
  selector:
    app: www
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
具有以下入口:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: k8stest.************.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: webserver-service
            port:
              number: 80
从我的控制平面上,我可以卷曲集群IP以获得良好的服务。我得到了我所期望的:

curl 10.103.183.94
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>....

我还尝试在入口配置中使用和不使用主机值,并尝试在入口路径中使用/test而不是仅仅使用/in。没有任何东西被发送到后端nginx服务。

好的,我放弃了helm安装的nginx ingress控制器,使用裸机安装,如下所述:

当这一切开始运行时,一切都如预期的那样进入了生活

curl -H "Host: k8stest.**********.com" http://10.106.95.61
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.19.9</center>
</body>
</html>
[06/May/2021:08:31:53 +0000] "GET / HTTP/1.1" 404 153 "-" "curl/7.68.0" "-"