Docker erstellt Schritte zur Implementierung von Kubectl-Images

Docker erstellt Schritte zur Implementierung von Kubectl-Images

Wenn der Programmdienst mit k8s bereitgestellt wird, das in gitlab ci/cd integriert ist, wird das Kubeclt-Image im gitlab-ci-Prozess benötigt. Es gibt zwei Möglichkeiten, ein Kubeclt-Image mit Docker zu erstellen

Methode 1 (das Bild ist relativ klein, etwa 45,8 M)

Installieren Sie die ausführbare Datei kubectl mit curl unter Linux

cd /usr/local/bin
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.20.1/bin/linux/amd64/kubectl
chmod +x ./kubectl

Weitere Einzelheiten finden Sie in der offiziellen Installationsdokumentation.

Erstellen Sie als Nächstes eine neue Dockerfile-Datei im Verzeichnis /usr/local/bin und schreiben Sie den folgenden Inhalt

VON alpin:latest
KOPIEREN Sie kubectl /usr/local/bin/
RUN chmod +x /usr/local/bin/kubectl

Nachdem die Dockerfile-Datei erstellt wurde, führen Sie den Build-Befehl im selben Verzeichnis aus

Docker-Build -t registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1.

Warten Sie, bis das Image erstellt wurde

Methode 2 (das Bild ist relativ groß, etwa 48,9 M)

Diese Methode ist relativ praktisch, aber der Aufbau ist langsam. Während des Konstruktionsprozesses müssen Sie die ausführbare Kubectl-Datei herunterladen und direkt eine neue Dockerfile-Datei mit folgendem Inhalt erstellen

VON alpin:latest

Führen Sie den Befehl apk add --update -t ​​​​deps curl aus.

Führen Sie curl -L https://storage.googleapis.com/kubernetes-release/release/v1.20.1/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl \ aus.
  && chmod +x /usr/local/bin/kubectl

Führen Sie den Befehl apk del --purge deps \ aus.
  && rm /var/cache/apk/*

Führen Sie den Build-Befehl im selben Verzeichnis aus

Docker-Build -t registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1.

endlich

1. Testen Sie, ob das erstellte Image normal verwendet werden kann

docker run -it registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1 kubectl version --client

Der Ausgabeinhalt ist wie folgt, d. h. das erstellte Bild kann normal verwendet werden

Client-Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.1", GitCommit:"c4d752765b3bbac2237bf87cf0b1c2e307844666", GitTreeState:"clean", BuildDate:"2020-12-18T12:09:25Z", GoVersion:"go1.15.5", Compiler:"gc", Plattform:"linux/amd64"}

2. Ziehen Sie das Bild aus der Registrierung

Docker-Pull-Registrierung.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1

3. Pushen Sie das Image in die Registry und ersetzen Sie [ImageId] durch die entsprechende Image-ID

Docker-Login --Benutzername=Benutzernameregistry.cn-hangzhou.aliyuncs.com

Docker-Tag [ImageId] registry.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1

Docker-Push-Registrierung.cn-hangzhou.aliyuncs.com/sanchar/kubectl:v1.20.1

Dies ist das Ende dieses Artikels über die Implementierungsschritte zum Erstellen eines KUBECTL-Images durch Docker. Weitere relevante Inhalte zum Erstellen eines KUBECTL-Images durch Docker finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So fügen Sie auf dem Mac automatische Vervollständigungsbefehle für Docker und Kubectl hinzu

<<:  MySQL-Methode zum Generieren von Zufallszahlen, Zeichenfolgen, Daten, Bestätigungscodes und UUIDs

>>:  Fünf Möglichkeiten zum Durchlaufen von Objekten in JavaScript Beispielcode

Artikel empfehlen

Implementierung der mobilen Postcss-pxtorem-Anpassung

Führen Sie den Befehl aus, um das Plugin postcss-...

Implementierung von Platzhaltern und Escape-Zeichen in der Linux-Befehlszeile

Wenn wir Stapeloperationen für einen Dateityp aus...

Vereinfachen Sie die komplexe Website-Navigation

<br />Das Navigationsdesign stellt eine der ...

Grafisches Tutorial zur Deinstallation und Installation von MySQL unter Linux

Dies ist mein erster Blog. Ich bin seit zwei Jahr...

So verwenden Sie mysqldump zum Sichern von MySQL-Daten

1. Einführung in mysqldump mysqldump ist ein logi...

Rastersysteme im Webdesign

Bildung des Gittersystems Im Jahr 1692 war der fr...

So verarbeiten Sie sehr große Formularbeispiele mit Vue+ElementUI

Aufgrund von Geschäftsanpassungen im Unternehmen ...

Erste Zusammenfassung des Website-Erstellungs-Tutorials für Anfänger

Nachdem ich diese sechs Artikel geschrieben hatte,...

Implementierungs- und Nutzungsszenarien der JS-Anti-Shake-Drosselungsfunktion

Inhaltsverzeichnis 1. Was ist die Anti-Shake-Funk...

Tutorial zur HTML-Tabellenauszeichnung (9): Zellabstandsattribut CELLSPACING

Damit die Tabelle nicht zu kompakt wirkt, kann zw...