Ingress gibt auf Minikube „Standard-Backend – 404“ zurück

Ingress gibt auf Minikube „Standard-Backend – 404“ zurück

Ich versuche, einen sehr einfachen Kubernetes-Cluster mit Frontend-, Backend- und DB-Diensten einzurichten. Hier ist ein Teil der Frontend-Dienstdefinitionsdatei:

apiVersion: v1
kind: Service
metadata:
  name: frontend
  labels:
    tier: frontend
spec:
  selector:
    tier: frontend
  ports:
  - port: 80
    nodePort: 30080
  type: LoadBalancer

Wenn ich auf die IP des Clusters über Port 30080 zugreife, funktioniert alles ordnungsgemäß.

Jetzt versuche ich, einen Ingress einzurichten, der an Port 80 funktioniert (als Vorbereitung für die Bereitstellung des Clusters in Azure). Ich möchte den gesamten HTTP-Verkehr an das Frontend weiterleiten, da dies der einzige HTTP-Dienst in meinem Cluster ist. Die Ingress-Definitionsdatei sieht also wie folgt aus:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: zippori
  annotations:
    kubernetes.io/ingress.class: addon-http-application-routing
spec:
  backend:
    serviceName: frontend
    servicePort: 80

Wenn ich jedoch aufhttp://minikube-ipIch erhalte den folgenden sehr einfachen Fehler:

Standard-Backend – 404

Es ist, als ob Ingress nichts an mein Frontend weiterleitet und nur sein eigenes Standard-Backend versucht.

Wie kann ich das beheben?

Antwort1

Das Problem liegt beim Ingress-Dienst.

In der Ingress-Art YAML verwenden Sie die Annotation, um „Ingress-Backend“ zu definieren. Für AKS ist es „addon-http-application-routing“, aber für Minikube funktioniert es sofortkubernetes.io/ingress.class: nginx

Durch Aktualisieren von Ingress mit der richtigen Annotation sollte der Dienst für Ihr Minikube-Setup aktiviert werden.

verwandte Informationen