Kubernetes AKS - Ошибка Ingress Backend 404 - PullRequest
0 голосов
/ 24 марта 2020

Я использую акс на azure. У меня 404, когда я пытаюсь запросить мой сервис.

Вход:

Name:             portal-deployment2
Namespace:        portal-api
Address:          10.226.16.4
Default backend:  default-http-backend:80 (<none>)
TLS:
  portal-certificate terminates portal.example.com
Rules:
  Host                                      Path  Backends
  ----                                      ----  --------
  portal.example.com
                                            /   portal-deployment2:80 (10.226.16.48:9999)
Annotations:
  certmanager.k8s.io/acme-challenge-type:  http01
  certmanager.k8s.io/cluster-issuer:       letsencrypt-prod
  kuberentes.io/tls-acme:                  true
  kubernetes.io/ingress.class:             nginx
Events:
  Type    Reason  Age   From                      Message
  ----    ------  ----  ----                      -------
  Normal  CREATE  11m   nginx-ingress-controller  Ingress portal-api/portal-deployment2
  Normal  UPDATE  10m   nginx-ingress-controller  Ingress portal-api/portal-deployment2

Сервис:

Name:              portal-deployment2
Namespace:         portal-api
Labels:            app.kubernetes.io/instance=portal
                   app.kubernetes.io/managed-by=Helm
                   app.kubernetes.io/name=deployment2
                   app.kubernetes.io/version=1.16.0
                   helm.sh/chart=deployment2-0.1.0
Annotations:       <none>
Selector:          app.kubernetes.io/instance=portal,app.kubernetes.io/name=deployment2
Type:              ClusterIP
IP:                10.0.187.224
Port:              http  80/TCP
TargetPort:        9999/TCP
Endpoints:         10.226.16.48:9999
Session Affinity:  None
Events:            <none>

Когда я использую nginx -контроллер bash :

bash-5.0$ curl 10.226.16.48:9999
{"timestamp":"2020-03-24T09:39:34.545+0000","status":404,"error":"Not Found","message":"No message available","path":"/"}

bash-5.0$ curl 10.0.187.224
{"timestamp":"2020-03-24T09:39:43.565+0000","status":404,"error":"Not Found","message":"No message available","path":"/"}

bash-5.0$ curl -k portal.example.com
default backend - 404

Похоже, nginx контроллер не может обработать маршрут и перенаправить меня на соответствующий POD

1 Ответ

0 голосов
/ 27 марта 2020

После прочтения сообщения SO, я думаю, что проблема может быть связана с записью DNS, связанной с portal.example.com

Поскольку пользователь показывает, что керлинг IP POD / Service возвращает ожидаемые результаты, но При попытке использовать DNS-имя я бы предположил, что DNS-разрешение portal.example.com не возвращает IP-адрес, ожидаемый пользователем.

Существует множество причин, по которым это не сработает,

1) запись DNS не управляется автоматически сторонней службой, такой как: external-DNS 2) запись DNS не была добавлена ​​вручную в зону DNS (example.com) 3) запись DNS отсутствует неправильно переписан на компьютере пользователя / etc / host.

Следует отметить, что portal.example.com должен разрешить IP-адрес входного контроллера NGINX Kubernetes Service IP

Надеясь на эту помощь и проясняя потенциальную проблему.

...