Le contrôleur d'entrée Nginx renvoie 404 Kubernetes

Aug 16 2020

J'essaie de créer un contrôleur d'entrée qui pointe vers un service que j'ai exposé via NodePort.

Voici le fichier yaml du contrôleur d'entrée (extrait de https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/):

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: example-ingress
spec:
  rules:
  - host: hello-world.info
    http:
      paths:
      - path: /
        backend:
          serviceName: appName
          servicePort: 80

Je peux me connecter directement au port du nœud et le frontend s'affiche.

Veuillez noter que je fais cela parce que l'application frontend est incapable de se connecter à d'autres déploiements que j'ai créés et j'ai lu qu'un contrôleur d'entrée serait en mesure de résoudre le problème. Dois-je encore ajouter un proxy inverse Nginx? Si oui, comment ferais-je cela? J'ai essayé d'ajouter ceci au fichier de configuration nginx mais sans succès.

location /middleware/ {
      proxy_pass http://middleware/;
   }

Réponses

2 Faheem Aug 16 2020 at 09:10

Vous devez utiliser un nom d'hôte approprié pour atteindre l'itinéraire défini dans l' Ingressobjet. Mettez à jour votre /etc/hostsfichier ou utilisez la curl -H "hello-world.info" localhostcommande type. Vous pouvez également supprimer le hostmappage et rediriger tout le trafic vers un service par défaut.

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: example-ingress
spec:
  rules:
  - http:
      paths:
      - path: /
        backend:
          serviceName: appName
          servicePort: 80