Ingress reagiert mit 'Standard-backend - 404", wenn mit GKE
Unter Verwendung der neuesten Kubernetes-version in GCP (1.6.4
), ich habe Folgendes Ingress
definition:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: myproject
namespace: default
annotations:
ingress.kubernetes.io/rewrite-target: /
kubernetes.io/ingress.class: "gce"
spec:
rules:
- host: staging.myproject.io
http:
paths:
- path: /poller
backend:
serviceName: poller
servicePort: 8080
Hier ist mein service und Bereitstellung:
apiVersion: v1
kind: Service
metadata:
name: poller
labels:
app: poller
tier: backend
role: service
spec:
type: NodePort
selector:
app: poller
tier: backend
role: service
ports:
- port: 8080
targetPort: 8080
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: poller
spec:
replicas: 1
template:
metadata:
labels:
app: poller
tier: backend
role: service
spec:
containers:
- name: poller
image: gcr.io/myproject-1364/poller:latest
imagePullPolicy: Always
env:
- name: SPRING_PROFILES_ACTIVE
value: staging
- name: GET_HOSTS_FROM
value: dns
ports:
- containerPort: 8080
In meinem /etc/hosts
habe ich eine Zeile wie:
35.190.37.148 staging.myproject.io
Allerdings bekomme ich default backend - 404
beim Eisstockschießen jeden Endpunkt auf staging.myproject.io
:
$ curl staging.myproject.io/poller/cache/status
default backend - 404
Ich habe genau die gleiche Konfiguration lokal arbeiten im inneren Minikube, nur mit dem Unterschied, dass die domain (dev.myproject.io
), und das funktioniert wie ein Charme.
Habe ich gelesen, und versucht so ziemlich alles, was ich finden konnte, einschließlich der Stoff, aus hier und hier und hier, aber vielleicht bin ich auch nur etwas fehlt... irgendwelche Ideen?
- Könnten Sie teilen sich die Ausgabe:
kubectl describe ingress
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dauert es 5-10 Minuten für ein Eindringen tatsächlich nutzbar werden, in GKE. In der Zwischenzeit können Sie sehen, Antworten mit dem status-codes 404, 502 und 500.
Es ist ein eindringen tutorial hier: https://cloud.google.com/container-engine/docs/tutorials/http-balancer ich empfehle es. Basierend auf dem, was Sie eingefügt haben, kann ich nur Folgendes sagen:
ingress.kubernetes.io/rewrite-target
Anmerkung, vielleicht ist das das Problem.200 OK
zuGET /
Anfrage.curl http://<ip>/
aber Ihr Eindringen Spezifikation behandelt nur/poller
Endpunkt. Also, es ist normal, Sie bekommendefault backend - 404
Reaktion, während die Abfrage/
. Sie hat nicht konfigurieren backends für/
Weg in Ihr Eindringen spec.200 OK
an der Basis der Domäne. Ich gerade steckte ein leeres 200-Antwort, wartete ein paar Minuten, und es funktionierte genauso wie erwartet. Danke.