找到 Nginx 入口主机 404 ip

Nginx ingress host 404 ip found

我是 Kubernetes 的初学者。我尝试从 helm 部署 Prometheus,现在我需要在内部网络中设置 Ingress。

我在通过主机名解析 Prometheus 时遇到问题。如果我使用 IP 地址,它可以工作,但是当我使用语法“主机”时,它是 404 错误。我不知道为什么没有通过主机名解析。我使用 kubespray 来部署 Kubernetes。

你能帮帮我吗?

入口

---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: prometheus-ingress
  namespace: monitoring
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: nginx
  tls:
  - hosts:
    - prom.tipsport.it
    secretName: foo-tls
  rules:
  - host: prom.cluster.local
  - http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: prometheus-kube-prometheus-prometheus
            port:
              number: 9090


Describe pod
Name:             prometheus-ingress
Namespace:        monitoring
Address:          10.10.10.3,10.10.10.4,10.10.10.5
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
TLS:
  foo-tls terminates prom.tipsport.it
Rules:
  Host        Path  Backends
  ----        ----  --------
  *           
              /   prometheus-kube-prometheus-prometheus:9090 (10.233.66.116:9090)
Annotations:  nginx.ingress.kubernetes.io/enable-cors: true
              nginx.ingress.kubernetes.io/rewrite-target: /
Events:
  Type    Reason  Age                  From                      Message
  ----    ------  ----                 ----                      -------
  Normal  Sync    7m36s (x8 over 61m)  nginx-ingress-controller  Scheduled for sync
  Normal  Sync    7m35s (x8 over 61m)  nginx-ingress-controller  Scheduled for sync
  Normal  Sync    7m34s (x8 over 61m)  nginx-ingress-controller  Scheduled for sync

你要的是这个:

  rules:
  - host: prom.tipsport.it
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: prometheus-kube-prometheus-prometheus
            port:
              number: 9090

host: 字段告诉它要路由哪个主机 header,因此它应该是 public 主机名。此外,它应该与提供进一步路由说明的 http: 字段位于同一部分。您也不需要重写目标注释,因为不需要重写。