Muss ich derzeit einen zusätzlichen Webserver (nginx
) verwenden, um den gesamten Kubernete Ingress-Verkehr auf https umzuleiten, wenn ich auf GCE gehostet habe?Verwendung eines Kubernete Ingress auf GCE zum Umleiten/Erzwingen von TLS
Ich bin auf der Suche nach einer Golang-Anwendung in die Wildnis zu implementieren. Als Lernexperiment dachte ich, ich würde GCE verwenden, um & K8s zur Bereitstellung/Skalierung zu hosten. Ich habe deployments
und services
alles funktioniert wie erwartet zurückkehrenden Verkehr und erstellt Zertifikate mit Lets Encrypt für TLS Kündigung.
Ich bin an der Stelle der Implementierung eines Ingress
jetzt als Service LoadBalancers
scheinen veraltet zu sein. In diesem Stadium verwende ich eine statische IP für die Ingress für backend
Anfragen zu verwenden, um - wie
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: web-ingress annotations: kubernetes.io/ingress.global-static-ip-name: "kubernetes-ingress" ingress.kubernetes.io/ssl-redirect: "true" spec: tls: - secretName: web-ssl backend: serviceName: web servicePort: 80
Natürlich folgt Ich möchte alle HTTP-Datenverkehr über https/TLS gehen. Das Zuweisen des ingress.kubernetes.io/ssl-redirect: "true"
Eintrags hat keinen Unterschied gemacht. Als hinterhältiger Versuch dachte ich, ich könnte die servicePort
auf 443 ändern. Da mein Dienst Anfragen an beiden 80/443 Ports annimmt, wurden gültige Antworten zurückgegeben, aber http wurde nicht zu https gezwungen.
An dieser Stelle rate ich, dass ich "die Kugel beißen" und ein nginx Ingress Controller
schaffen muss. Dies hilft auch beim Aktualisieren von Zertifikaten unter Verwendung von Lego
zusammen mit dem Erstellen einer anderen Abstraktion, falls ich mehr Servicepunkte benötige.
Aber vorher wollte ich erst nachsehen, ob es keinen anderen Weg gibt? Jede Hilfe dankbar, danke.
Dank Eugene, ich bin "überall" die Tutorials und bin mit dem Nginx-Controller Fortschritte. Kompletter Overkill für App-Anforderungen, aber ein guter Lernprozess für die Zukunft =] – kylehqcom
Gern geschehen :) Es wird trotzdem eine großartige Lernerfahrung sein. –