Kubernetes, wie man ein Bild aus einem privaten Register zieht

Kubernetes, wie man ein Bild aus einem privaten Register zieht

Registrien sind von zwei Arten: privat und öffentlich. Auf öffentliche Registrien können ohne Anmeldeinformationen zugegriffen werden. Um jedoch auf eine private Registrierung zuzugreifen, müssen Sie jedoch Anmeldeinformationen zur Anmeldung anmelden. Kubernetes -Containerumgebung arbeitet mit Containerbildern und diese Bilder werden entweder im öffentlichen oder im privaten Register gespeichert. Die Bilder in einem öffentlichen Repository sind für alle ohne Schutz verfügbar. Wenn Sie jedoch auf ein Bild in einer privaten Registrierung zugreifen müssen, müssen Sie Anmeldeinformationen haben, um auf eine private Registrierung zuzugreifen. In diesem Leitfaden werden Sie alle Schritte zum Abziehen eines Bildes aus einem privaten Register ausführlich vermitteln.

Voraussetzungen:

Die Kubernetes -Umgebung erfordert grundlegende Tools, mit denen Sie darin arbeiten können. Stellen Sie also sicher, dass Ihr System bereits alle folgenden Tools installiert hat

  • Ubuntu 20.04 oder eine andere neueste Version
  • Kubectl -Befehlszeilenwerkzeug
  • Minikube Cluster
  • Mindestens zwei generische Knoten, ohne als Kontrollebene -Wirte zu fungieren
  • Docker -Befehlszeilen -Tool oder ein anderes Containerregister
  • Docker -ID oder andere Containerregistrierung mit Anmeldeinformationen

Angenommen, Sie haben Ihr System durch die Installation aller Voraussetzungen vorbereitet, beginnen wir mit dem Prozess des Abziehens eines Bildes aus einem privaten Register.

Wir verwenden einen Docker -Container in diesem Leitfaden. Dies ist daher speziell so konzipiert, dass Sie lernen, wie Sie ein Bild aus der privaten Registrierung eines Dockers ziehen können.

Beginnen wir also diese Schritt-für-Schritt.

Schritt 1: Starten Sie den Minikube -Cluster

Während wir den Minikube -Cluster verwenden, müssen wir sicherstellen, dass es sich im aktiven Modus befindet. Der Minikube -Cluster kann mit dem folgenden Befehl beginnen:

kalsoom@kalsoom-virtualbox> minikube Start

Mit diesem Befehl können Sie den Minikube -Cluster starten, in dem Sie Ihre Befehle und Anwendung ausführen können. Wenn Sie diesen Befehl "Start" ausführen, erhalten Sie eine ähnliche Ausgabe wie im folgenden Snapshot:

Schritt 2: Überprüfen Sie den Docker -Container

Da wir den Container des Docker verwenden und versuchen, auf ein Bild in einer privaten Docker -Registrierung zuzugreifen, müssen wir uns dafür anmelden. Wir müssen den Anmeldenamen und das Passwort für die private Registrierung angeben, um vollständigen Zugriff auf die Registrierung zu haben. Geben Sie nun den folgenden Befehl in Ihr Befehlszeilen -Tool ein und melden Sie sich beim Docker Hub an:

kalsoom@kalsoom-virtualbox> Docker Anmeldung

Wie im obigen Screenshot gezeigt, fordert das Befehlszeilen -Tool um einen Benutzernamen und ein Passwort, um sich mit der Docker -ID bei der Docker Hub anzumelden. Hier können Sie die Anmeldeinformationen Ihrer Docker -ID angeben und Zugriff auf die private Registrierung der zugehörigen ID erhalten.

Schritt 3: Greifen Sie auf die JSON -Datei zu

Wenn Sie sich mit der Docker -ID, der 'config, beim Docker Hub anmelden.Die JSON -Datei wird mit dem Autorisierungs -Token aktualisiert. Dies geschieht als Antwort auf den Anmeldungsprozess und das Autorisierungs -Token ermöglicht es Ihnen, den geheimen Schlüssel zum Zugriff auf das Docker Private Registry zu erstellen. Geben Sie den folgenden Befehl in Ihrem Befehlszeilen -Tool ein, um das Autorisierungs -Token aus der Konfiguration zu erhalten.JSON -Datei:

kalsoom@kalsoom-virtualbox> cat ~/.Docker/config.JSON

Siehe die Ausgabe im folgenden Screenshot:

Schritt 4: Erstellen Sie einen geheimen Schlüssel

Ein geheimes Schlüssel ist wichtig, um einen völlig sicheren Zugang zum privaten Register des Dockers zu gewährleisten. Daher werden wir den Autorisierungsschlüssel verwenden, um den geheimen Schlüssel zu den vorhandenen Anmeldeinformationen zu erstellen. Auf diese Weise können wir das Bild aus einer privaten Docker -Registrierung ziehen, da Docker das Geheimnis der Kubernetes verwendet.IO/DockerCongigjson. Führen Sie nun den folgenden Befehl in Ihrem Terminal aus und erhalten Sie das Geheimnis in den vorhandenen Anmeldeinformationen:

kalsoom@kalsoom-virtualbox> kubectl erstellen geheime generische Regcred \

Kopieren Sie einfach und fügen Sie die Anmeldeinformationen mit dem Befehl in das Terminal ein und erhalten Sie das Geheimnis für Ihre private Registrierung. Siehe die unten angegebene Ausgabe:

Mit dem vorherigen Befehl können Sie das Geheimnis aus dem vorhandenen Anmeldeinformationen erstellen, wenn Sie ein Geheimnis erstellen möchten, indem Sie die Anmeldeinformationen zur Laufzeit vorlegen. Darüber hinaus können Sie dies tun, indem Sie den unten angehängten Befehl ausführen:

> kubectl erstellen geheimes Docker-Registry Regcred-Docker-server = --Docker-Username = --Docker-Password = --Docker-email =

Hier nimmt der Parameter '-docker-server =' den Namen Ihres Servers, den Parameter '-docker-username =' nimmt Ihren Benutzernamen an, das Parameter '-docker-password =' ​​nimmt das Passwort und das '-docker- E -Mail = 'Parameter nimmt Ihre E -Mail -Adresse ein. Siehe die Beispieldaten im folgenden Screenshot:

Dies hat ein Geheimnis mit dem Namen "Regcred" mit dem in der Befehlszeile angegebenen Anmeldeinformationen erstellt.

Schritt 5: Inspektion des Geheimnisses

Nachdem wir das Geheimnis geschaffen haben, um das Bild aus dem Privatregister zu ziehen, müssen wir es überprüfen, um zu überprüfen, was es enthält. Dies ermöglicht es uns, den Inhalt des Regrcred Secret zu verstehen. Führen Sie den folgenden Befehl in Ihrem Terminal aus und sehen Sie das Regcred Secret:

> kubectl Holen Sie sich geheimes Regcred -output = yaml

Da das Regcred -Geheimnis in der YAML -Datei gespeichert ist, versuchen wir mit diesem Befehl, die YAML -Datei mit dem Geheimnis zu öffnen. Siehe die unten angegebene Ausgabe:

Die Daten werden im Base64 -Format dargestellt und die Anmeldeinformationen werden mit der Base64 -Verschlüsselungstechnik verschlüsselt. Um den Inhalt des Regcred -Geheimnisses zu verstehen, müssen wir den Inhalt in einem lesbaren Format haben. Daher werden wir das Geheimnis in ein lesbares Format entschlüsseln, indem wir den folgenden Befehl verwenden:

> kubectl erhalten geheime Regcred -output = jsonPath = .Daten.\.DockerConfigjson "| Base64 -Decode

Siehe die unten angegebene Ausgabe und sehen Sie sich das Geheimnis in einem lesbaren Format an:

Schritt 6: Erstellen Sie die Konfigurationsdatei

Jetzt sind wir bereit, das Bild aus dem Privatregister zu ziehen. Wir erstellen also einen Pod, der das Geheimnis verwendet, das wir zuvor erstellt haben, um auf das Bild zuzugreifen. Die Konfigurationsdefinition des Pod wird in einer YAML -Datei aufbewahrt. Erstellen Sie eine YAML -Datei mit dem folgenden Befehl:

> Nano privat.Yaml

Dieser Befehl hat eine YAML -Datei erstellt, in der Sie die Konfigurationsdefinition zum Erstellen des POD speichern können. Siehe die gleiche Definition im folgenden Screenshot:

Schritt Nr. 7: Laden Sie die Konfigurationsdatei herunter

Laden Sie nun die Konfigurationsdatei in Ihr System herunter und speichern Sie sie unter Verwendung des folgenden Befehls:

> curl -l -o my-privat-reg-pod.yaml https: // k8s.IO/Beispiele/Pods/Private-Reg-Pod.Yaml

Schritt 8: Erstellen Sie die POD aus der Konfigurationsdatei

Jetzt ist unsere Konfigurationsdatei bereit, den Pod zu erstellen, der das Geheimnis verwendet. Der folgende Befehl erstellt den Pod:

> kubectl anwenden -f privat.Yaml

Der Pod wurde erfolgreich erstellt. Lassen Sie uns also überprüfen, ob dies ordnungsgemäß ausgeführt wird, indem wir den folgenden Befehl verwenden:

> Kubectl erhalten Sie POD Private-Regle

Abschluss

Wir haben von den öffentlichen und privaten Registern des Docker -Hubs erfahren und wie man mit dem Anmeldeinformator auf Dockers privates Repository zugreifen. Mit Hilfe eines einfachen Szenarios haben wir gelernt, wie man auf den Docker -Hub zugreift, indem wir die vorhandenen Anmeldeinformationen verwenden und Anmeldeinformationen zur Laufzeit bereitstellen. Und schließlich haben wir gelernt, ein Bild aus einer privaten Registrierung des Docker -Hubs zu ziehen.