Nginx Ingress Controller gibt 404 Kubernetes zurück
Ich versuche, einen Ingress-Controller zu erstellen, der auf einen Dienst verweist, den ich über NodePort verfügbar gemacht habe.
Hier ist die Yaml-Datei für den Ingress-Controller (entnommen aus 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
Ich kann mich direkt mit dem Knotenport verbinden und das Frontend wird angezeigt.
Bitte beachten Sie, dass ich dies tue, weil die Frontend-App keine Verbindung zu anderen von mir erstellten Bereitstellungen herstellen kann und ich gelesen habe, dass ein Ingress-Controller das Problem lösen kann. Muss ich noch einen Nginx-Reverse-Proxy hinzufügen? Wenn ja, wie würde ich das machen? Ich habe versucht, dies zur Nginx-Konfigurationsdatei hinzuzufügen, aber ohne Erfolg.
location /middleware/ {
proxy_pass http://middleware/;
}
Antworten
Sie müssen einen richtigen Hostnamen verwenden, um die im Ingress
Objekt definierte Route zu erreichen . Aktualisieren Sie entweder Ihre /etc/hosts
Datei oder verwenden Sie den curl -H "hello-world.info" localhost
Befehl type. Alternativ können Sie die host
Zuordnung löschen und den gesamten Datenverkehr auf einen Standarddienst umleiten.
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: appName
servicePort: 80