Wie man ssl auf einem kubernetes-Anwendung?
Habe ich eine einfache meteor-app bereitgestellt, die auf kubernetes. Ich verbunden, eine externe IP-Adresse mit dem server, so dass es zugänglich von innerhalb des Clusters. Nun, ich bin bis zu setzen Sie es auf das internet und sichern Sie es (über das HTTPS-Protokoll). Kann jemand geben Sie einfache Anweisungen für diesen Abschnitt?
- Sie haben bereits ein gültiges Zertifikat und Schlüssel für die ssl-Verschlüsselung?
- ich haben es noch nicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meiner Meinung nach kube-lego ist die beste Lösung für GKE. Sehen Sie, warum:
Beispiel-Konfiguration (das ist es!):
Beispiel Eindringen (Sie können mehr von diesen):
Es gibt mehrere Möglichkeiten zum einrichten einer ssl-Endpunkt, aber Ihre Lösung zu lösen muss 2 Probleme: Erstens, Sie benötigen, um ein gültiges Zertifikat und Schlüssel. Zweitens, würden Sie brauchen, um das setup eine ssl-Endpunkt in Ihre Infrastruktur.
Haben Sie einen Blick auf k8s ingress-controller. Sie können einer ingress-controller mit einem Zertifikat/Schlüssel /Geheimnis aus der k8s secret store das einrichten eines ssl-Endpunkt. Natürlich, dies erfordert, dass Sie bereits über ein gültiges Zertifikat und Schlüssel.
Haben, könnten Sie einen Blick auf k8s spezifische Lösungen für die Ausstellung und Verwendung von Zertifikaten wie die Kubernetes Letsencrypt Controller, aber ich habe Sie nie benutzt und Sie kann nicht sagen, wie gut Sie funktionieren.
Hier sind einige Allgemeine Ideen zum Thema und verwenden Sie ssl-Zertifikate:
1. Immer ein gültiges ssl-Zertifikat und Schlüssel
AWS
Wenn Sie die in AWS ausgeführt werden, ist der einfachste Weg, die ich denken kann, ist durch die Einrichtung eines ELB, die Ausstellung des ssl-cert automatisch für Sie.
LetsEncrypt
Könnten Sie auch einen Blick auf LetsEncrypt zur Ausgabe kostenloser Zertifikate für Ihre domain. Nette Sache über es ist, dass Sie die Automatisierung Ihres cert emissionsprozess.
CA
Natürlich, Sie könnte immer gehen die old-fashion-Weg und eine Bescheinigung von einem Anbieter, dem Sie Vertrauen.
2. Einrichten der ssl-Endpunkt
AWS
Wieder, wenn du ein ELB, dann ist es schon fungiert als Endpunkt, und Sie sind fertig. Selbstverständlich werden Ihre client <-> ELB Verbindung ist verschlüsselt, aber ELB <-> k8s-cluster ist unverschlüsselt.
k8s eindringen controller
Wie oben erwähnt, je nach k8s-version, die Sie verwenden, Sie könnte auch die Einrichtung eines TLS -ingress-controller.
k8s-proxy-Dienst
Weitere option ist das einrichten eines service in Ihrem k8s-cluster, die beendet der ssl-Verbindung und leitet den traffic auf Ihre meteor-Anwendung unverschlüsselt.
Könnten Sie verwenden nginx als proxy für diese. In diesem Fall schlage ich vor, Sie speichern Sie Ihre Zertifikats-Schlüssel in k8s secret store und montieren Sie es in die nginx-container. NIE Schiff einen container Geheimnisse wie Zertifikat gespeicherten Schlüssel innen! Natürlich, Sie dennoch müssen, senden Sie Ihre verschlüsselten Datenverkehr zu einem k8s-Knoten - gibt es wieder mehrere Möglichkeiten, dies zu erreichen... am Einfachsten würde es sein, ändern Sie Ihre DNS-Eintrag auf den k8s-Knoten, sondern im Idealfall verwenden Sie eine TCP-LB.