Fügen Sie dem Kubernetes -Cluster ein SSL/TLS -Zertifikat hinzu

Fügen Sie dem Kubernetes -Cluster ein SSL/TLS -Zertifikat hinzu

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-Namesspace

Wenn 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-Namesspace

Der 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 csr

Der 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


Eof

Der 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.JSON

Nachdem 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-BAREN

Nach 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 csr

Das 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.crt

Schritt 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.Pem

Der 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.Pem

Wie 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.