首页 > 解决方案 > 找不到:NGINX 入口

问题描述

我正在尝试学习 .NET 微服务。我一直在关注Youtube 上的一个很棒的教程(时间:4:44:55,添加 API 网关)。在 NGINX Ingress 出现之前,一切都运行良好。我从培训师的 GitHub 帐户中粘贴了相同的 YAML 文件,我仔细检查了所有内容,但找不到任何内容:

我可以看到所有的 pod 和服务都运行良好:

在此处输入图像描述

在此处输入图像描述

我更新了我的主机文件。

在此处输入图像描述

我错过了什么?

网址,我正在使用:http ://acme.com/api/platforms/

错误:HTTP 错误 404。未找到请求的资源。

Ingress YAML 的输出:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"networking.k8s.io/v1","kind":"Ingress","metadata":{"annotations":{"kubernetes.io/ingress.class":"nginx","nginx.ingress.kubernetes.io/use-regex":"true"},"name":"ingress-srv","namespace":"default"},"spec":{"rules":[{"host":"acme.com","http":{"paths":[{"backend":{"service":{"name":"platforms-clusterip-srv","port":{"number":80}}},"path":"/api/platforms","pathType":"Prefix"},{"backend":{"service":{"name":"commands-clusterip-srv","port":{"number":80}}},"path":"/api/c/platforms","pathType":"Prefix"}]}}]}}
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: "true"
  creationTimestamp: "2021-09-18T00:12:41Z"
  generation: 1
  name: ingress-srv
  namespace: default
  resourceVersion: "2274742"
  uid: a7376202-8b1b-4f1a-a42f-08de5f602192
spec:
  rules:
  - host: acme.com
    http:
      paths:
      - backend:
          service:
            name: platforms-clusterip-srv
            port:
              number: 80
        path: /api/platforms
        pathType: Prefix
      - backend:
          service:
            name: commands-clusterip-srv
            port:
              number: 80
        path: /api/c/platforms
        pathType: Prefix
status:
  loadBalancer:
    ingress:
    - hostname: localhost

服务: 在此处输入图像描述

更新:尝试了以下命令并获得了一些新信息:

在此处输入图像描述

更新:结果

Kubectl 获取 pods --namespace=ingress-nginx

在此处输入图像描述

标签: dockerkubernetes.net-coremicroserviceskubernetes-ingress

解决方案


首先,感谢 Harsh 的宝贵时间。我尝试了所有的东西,但没有发现错误。

我能够在 HTTPS 上解决它真的是一个奇迹。我可以访问“https://acme.com/api/platforms”。但是,HTTP 仍然给我同样的错误。但是,我对 HTTPS 很好


推荐阅读