Verschiedene eindringen in anderen Namespace in kubernetes
Erstellt habe ich zwei unterschiedliche Namensräume für unterschiedliche Umgebungen. man devops-qa anderes ist die devops-dev. Ich habe zwei eindringen in unterschiedliche namespaces. Also während der Erstellung eindringen von qa-env in devops-qa-namespace, der schriftliche Regel innen das eindringen von qa ist in Ordnung. Bedeutet ich bin in der Lage, den Zugriff auf die Webseiten von Qs-env. Den moment, als ich schaffen das eindringen von dev env in devops-dev-namespace, ich werde in der Lage sein, um den Zugriff auf die Webseiten von dev-env aber nicht in der Lage, den Zugriff auf die Webseiten von qa. Und wenn lösche ich die dev ingress-dann werde ich wieder in der Lage sein, um den Zugriff auf die Qs-env website
Unten ist die ingree der beiden dev-und qa-env.
Dev Ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
name: cafe-ingress-dev
namespace: devops-dev
spec:
tls:
- hosts:
- cafe-dev.example.com
secretName: default-token-drk6n
rules:
- host: cafe-dev.example.com
http:
paths:
- path: /
backend:
serviceName: miqpdev-svc
servicePort: 80
QA Eindringen
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
name: cafe-ingress-qa
namespace: devops-qa
spec:
tls:
- hosts:
- cafe-qa.example.com
secretName: default-token-jdnqf
rules:
- host: cafe-qa.example.com
http:
paths:
- path: /greentea
backend:
serviceName: greentea-svc
servicePort: 80
- path: /blackcoffee
backend:
serviceName: blackcoffee-svc
servicePort: 80
Token erwähnt im ingress-Datei wird von jedem namespace. Und der nginx eindringen controller läuft im QA-namespace
Wie kann ich sowohl das eindringen und wird in der Lage, alle websites, die bereitgestellt werden in den beiden dev-und qa-env ?
Ich bin mit nginx-plus
Ist jedes token
default-token-jdnqf
oder default-token-drk6n
ein TLS-Zertifikat, die Sie selbst erstellt und selbst signiert?InformationsquelleAutor Nikit Swaraj | 2017-07-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich tatsächlich mein problem Gelöst. Ich habe alles richtig gemacht hast. Aber nur, was ich nicht tun ist die Karte der hostname mit der gleichen ip in Route53. Und statt den Zugriff auf die website mit Hostnamen, ich war der Zugriff über IP. Jetzt nach dem Zugriff auf die website von Hostnamen, ich war in der Lage, darauf zuzugreifen 🙂
InformationsquelleAutor Nikit Swaraj
Scheint, wie Sie geschrieben und hier haben Sie Ihre Antwort. Die Lösung besteht in der Bereitstellung eines anderen Eindringen für jeden namespace. Aber die Bereitstellung 2 Ingresses Dinge, da eine Instanz ist für die Ausführung auf einem nicht-standard-port (zB. 8080, 8443).
Ich denke, das ist besser gelöst mit DNS. Erstellen Sie den CNAME-Datensätze
cafe-qa.example.com
undcafe-dev.example.com
beide zeigen aufcafe.example.com
. Update jedes Eindringen manifest entsprechend. Mithilfe von DNS ist so etwas wie der standard-Weg, um separate Dev/QA/Prod Umgebungen.Bedeutet "andere host" bedeuten, die Sie verwenden
cafe-qa.example.com
undcafe-dev.example.com
? Können Sie aktualisieren Sie die Frage mit Ihrem neuen config?eine weitere Sache, ich bin mit nginx-plus zur Verfügung gestellt von Nginx nicht von kubernetes... So wird es Unterstützung für diese Einrichtung.
Ich kann nicht herausfinden, warum. Ich habe ähnliche Eindringen manifestiert wie deins, aber meins funktioniert problemlos. Ich benutze Traefik obwohl. Sind die manifeste, in Ihre Frage genau dieselbe wie die, die in Ihrer Bereitstellung? Auch haben Sie die Bereitstellung der nginx-eindringen-controller mit dem tutorial @radek-goblin-pieczonka?
Hallo Eugene, ich glaube, ich bin mit Problem-Ursache ich bin mit ingress-controller zur Verfügung gestellt von Nginx Inc, nicht von kubernetes Nginx. Ich bin Einstellung, die es bis jetzt. Wenn Sie irgendwelche Blogs, die mir helfen, um den reibungslosen setup, den nginx-controller für kuberenetes nginx eindringen, dann pls mit mir teilen, verursachen offiziellen documentaion (github) hasnot erklärt es gut.
InformationsquelleAutor Eugene Chow
Können Sie erstellen nginx eindringen cotroller in kube-system-namespace erstellen, anstatt es in die QA-namespace.
InformationsquelleAutor sumit salunke