SSL -Zertifikate werden verwendet, um die Anwendung zu sichern, die auf Kubernetes für zukünftige Sicherheit gestellt wird. Nehmen wir ein weiteres sicheres Zertifikat, TLS, mit einem sehr sicheren privaten Schlüssel enthält. Zertifikate werden mit Zertifikaten erstellt: K8R.io api. Wir werden mithilfe detaillierter Beispiele über die Konfiguration der SSL -Zertifikate unterrichten. Beginnen wir mit dem SSL -Zertifikat in Kubernetes. SSL -Zertifikate sind für Browser sehr wichtig. Der Browser erstellt mit Hilfe von SSL- und TLS -Zertifikaten eine sichere Verbindung zu Kubernetes -Diensten.
Voraussetzungen:
Jeder Benutzer muss Ubuntus neueste Version seines Systems haben. Der Benutzer des Windows -Betriebssystems installiert ein virtuelles Feld und fügt Ubuntu oder Linux zum System praktisch hinzu. Benutzer müssen mit Kubernetes, der Kubectl -Befehlszeile, Pods und Clustern vertraut sein und wissen, dass Cluster -DNS dieses Thema besser verstehen.
Lassen Sie uns einen kurzen Blick auf die Konfiguration der SSL -Zertifikat in Kubernetes werfen, indem wir das gesamte Verfahren in verschiedene Schritte unterbrechen.
Schritt 1: Starten Sie das Kubernetes -Bedienfeld
Wir möchten eine Umgebung in unserer Anwendung, in der wir Kubernetes -Befehle ausführen können, um Kubernetes -Aufgaben auszuführen. Infolgedessen bietet Kubernetes uns einen lokalen Container mit dem Titel „Minikube.”Bei jedem Kubernetes -Anwendungsstart starten wir ein Minikube in Kubernetes, das im Grunde genommen ein Terminal ist, das zum Ausführen von Kubernetes -Befehlen erforderlich ist. In diesem Schritt führen wir den Befehl aus, Minikube zu initialisieren, nämlich:
> Minikube Start
Wenn wir diesen Befehl auf unserem Systemterminal ausführen, beginnt die Ausführung des Befehls mit dem Drücken der Eingabetaste. Der Befehl zeigt uns ein unterhalb des angehender Screenshot-Ergebnis für die Rückkehr.
Schritt 2: Zertifikatsignalanforderung erstellen
Nachdem wir einen Cluster mit Minikube erstellt haben, möchten wir nun eine Zertifikatsignalanforderung erstellen. Im Gegenzug für diese Aktion führen wir den Befehl zur Unterzeichnung der Zertifikatanforderung und zum Generieren eines privaten Schlüssels aus.
> Katze <Nach der Ausführung von Abfragen wird die Anfrage erfolgreich mit dem privaten Schlüssel generiert. Das Ergebnis ist oben als Screenshot beigefügt.
Schritt 3: Erstellen Sie ein Zertifikatsignalanforderung, das in der YAML -Datei manifestiert wird
In diesem Schritt werden wir ein YAML -Datei erstellen, das für das Erstellen eines CSR in Kubernetes manifestiert wird. Wir führen den Befehl unten aus:
> Katze <Nach der Ausführung dieses Befehls wird eine YAML -Datei erfolgreich erstellt. Und wir senden es an den API -Server, wie im angehängten Screenshot gezeigt.
Schritt 4: Erhalten Sie den Status der Zertifikatsignieranfrage
In diesem Schritt werden wir uns den CSR -Status ansehen, wie sie durch die API zu sehen ist. Wir können den angegebenen Befehl ausführen, um den Status der Zertifikatanforderung abzurufen.
> Kubectl beschreiben CSV My-SVC.My-NamesspaceWenn der Befehl ausgeführt wird, wird der CSR -Status in der Ausgabe angezeigt, wie im angehängten Screenshot gezeigt. Der Status von CSR ist „anhängig“, und dieser Status stammt aus der API. Der Name der Datei ist my-SVC. My-namespace und Anmerkungen, Anfragen von Benutzern und Betreff, Betreff alternative Namen mit DNS-Namen und IP-Adressen, Ereignissen usw. sind in der CSR -Beschreibung enthalten. Der Status ist „anhängig“, was bedeutet, dass das CSR -Zertifikat noch nicht genehmigt wurde.
Schritt 5: CSR -Zertifikate Genehmigung
Der Status des CSR -Zertifikats steht noch aus. In diesem Fall senden wir also eine Abfrage an die API von Kubernetes, um das CSR -Zertifikat zu genehmigen. Wir führen diesen Befehl zur Genehmigung aus:
> Kubectl-Zertifikat genehmigen Sie My-SVC .My-NamesspaceDer Befehl zeigt die Ausgabe nach der Ausführung an. Eine autorisierte Person wie die Kubernetes -Verwaltung genehmigt das CSR -Zertifikat. Da wir autorisierte Benutzer sind, erstellen wir YAML -Dateien. Infolgedessen ist das CSR -Zertifikat mit dem Befehl leicht zu genehmigen, wie im folgenden Screenshot zur Klärung gezeigt.
My-SVC.My-namesspace wird erfolgreich über die Zertifikate zugelassen.K8S.io api.
Schritt 6: Abrufen Sie das CSR -Zertifikat in Kubernetes ab
Wir warten jetzt darauf, ob das CSR -Zertifikat genehmigt wurde. Wir werden also den Befehl ausführen, um eine Liste aller CSR -Zertifikate zu erhalten, die derzeit im System aktiv sind. Führen Sie den Befehl aus:
> kubectl bekommen csrDer Name des zugelassenen CSR -Zertifikats in Kubernetes ist im angehängten Screenshot angezeigt. Dieser Befehl gibt den Namen, das Alter, den Unterzeichnernamen, den Anforderer, die angeforderte Dauer und den Zustand des CSR -Zertifikats zurück.
Schritt 7: Unterschreiben Sie das Zertifikat, indem Sie Autorität erstellen
In diesem Schritt werden wir sehen, wie Zertifikate in Kubernetes signiert sind. Das SSL -Zertifikat ist genehmigt, aber noch nicht unterzeichnet. Der Name des Unterzeichners wird im Zertifikat in Kubernetes angezeigt. Wir führen den Befehl aus, über den der angeforderte Unterzeichner das Zertifikat unterschreibt. Der Befehl ist:
> Katze <
"CN": "Mein Beispiel -Unterzeichner",
"Taste":
"Algo": "RSA",
"Größe": 2048
EofDer Befehl wird ausgeführt, um das Zertifikat digital zu unterschreiben. Signierer unterzeichnet die angeforderten Zertifikate und aktualisiert den API -Status mit dem Befehl „SSL -Zertifikat.”Wir haben ein Signierzertifikat erstellt, indem wir den obigen Befehl ausführen. Das Ergebnis ist im angehängten Screenshot angezeigt. Eine eindeutige Seriennummer wurde erfolgreich verwendet, um das Zertifikat zu unterzeichnen.
Schritt 8: Erstellen Sie eine JSON -Datei, um ein Zertifikat auszustellen
Nach der Unterzeichnung der Zertifikat erstellen wir eine JSON -Datei, aus der wir ein Zertifikat ausgeben. Wir erstellen eine JSON -Datei, indem wir den folgenden Befehl mit dem angehängten Screenshot ausführen:
> Nano Signingfile.JSONNachdem der Befehl ausgeführt wurde, wird die JSON -Datei erstellt, wie im Screenshot unten angezeigt werden kann.
Schritt 9: Verwenden Sie die Server-Signing-Config.JSON
In diesem Schritt verwenden wir die Server-Signing-Config-Datei, die sich in JSON befindet, um die Zertifikate zu unterschreiben und auszugeben. Wir führen den Befehl für die Zertifikatunterzeichnung mit einer privaten Schlüsseldatei aus.
> kubectl Holen Sie sich CSR my-SVC.my -namespace -o jsonpath = '.Spezifikation.Anfrage '| \ base64 -Decode | \ CFSSL Sign -ca ca.PEM-Ca Ca-Key Ca-Key.PEM-CONfig-Server-Signing-Config.JSON | \ CFSSLJSON-BARENNach diesem Befehl wird das bereits in der JSON -Datei definierte Zertifikat unterzeichnet. Die Seriennummer dieser CSR wird generiert. Hier generieren wir eine signierte Servierzertifikatsdatei mit dem Namen „CA-Signed-Server.Pem.”
Schritt 10: Signiertes Zertifikat -Hochladen im API -Objekt
In diesem Schritt laden wir das signierte Zertifikat in den anstehenden API -Status hoch, den wir oben gesehen haben. Der Befehl zum Hochladen ist:
> kubectl Holen Sie sich CSR my-SVC.my -namesspace -o json | \ jq '.Status.Certificate = "
'$ (Base64 CA-signiert-server.pem | tr -d '\ n') '' '| \
> kubectl ersetzen -RAW /APIS /Zertifikate.K8S.IO/V1/CertificatesigningRequests/My-SVC.My- Namespace/Status -f -Wenn dieser Befehl ausgeführt wird, wird das unterschriebene Zertifikat erfolgreich hochgeladen, wenn die CSR genehmigt wird. Der angehängte Screenshot -ABoved zeigt uns ein JSON -Format, mit dem das signierte Zertifikat als API -Objekte hochgeladen werden.
Schritt 11: Angesichts genehmigte Zertifikate in Kubernetes
Wir führen den Befehl erneut aus, um die genehmigten Zertifikate in Kubernetes anzuzeigen.
> kubectl bekommen csrDas Zertifikat wurde genehmigt und erfolgreich ausgestellt, wie im obigen Screenshot gezeigt.
Schritt 12: Speichern Sie das Zertifikat im System
In diesem Schritt lernen wir, wie Sie das signierte Zertifikat herunterladen und es in unserem System erfolgreich verwenden. Wir stellen das Zertifikat einfach auf dem Server bereit. Der Befehl ist:
> kubectl Holen Sie sich CSR my-SVC.my -namespace -o jsonpath = '.Status.Zertifikat '\
| Base64 -DeCode> Server.crtSchritt 13: Füllen Sie das Zertifikat ein
In diesem Schritt lernen wir, wie Sie das Zertifikat auf dem Server bevölkern, damit wir das Zertifikat für Websicherheit problemlos verwenden können. Wir führen den Befehl aus:
kalsoom@kalsoom> kubectl erstellen geheimes TLS -Server -Cert Server.CRT-Keey Server-Key.PemDer oben genannte Screenshot zeigt uns, dass TLS Secure oder Secret Server erfolgreich mit Namenscert Server erstellt wird.CR und private Key-Serverschlüssel haben.Pem.
Schritt 14: Konfigurieren Sie das Zertifikat
In diesem Schritt konfigurieren wir das Zertifikat, um sicherzustellen, dass es sich um ein sicheres Servierzertifikat handelt, indem wir den folgenden Befehl ausführen:
> kubectl configMap-Beispiel-SERVING-CA-FROM-Datei CA.crt = ca.PemWie im angehängten Screenshot gezeigt, wird die Konfigurationskarte/die Vorbilder-SERVING-CA in Kubernetes erfolgreich für eine sichere Verbindung auf dem Webserver erstellt.
Abschluss
SSL -Zertifikate werden verwendet, um Kubernetes -Anwendungen auf dem Webserver Sicherheit bereitzustellen. Wir haben jedes Einsprungdetail für Ihr Verständnis erläutert. Sie können auch dieselben Befehle in Ihrer Kubernetes -Anwendung ausführen, um das SSL -Zertifikat zu installieren.