微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

发现 Nginx 入口主机 404 ip

如何解决发现 Nginx 入口主机 404 ip

我是 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: 字段告诉它要将哪个 Host 标头路由到哪里,因此它应该是公共主机名。此外,它应该与 http: 字段位于同一部分,提供进一步的路由说明。您也不需要重写目标注释,因为不需要重写。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。