Hilf mit, diese Seite zu verbessern
Möchten Sie zu diesem Benutzerhandbuch beitragen? Scrollen Sie zum Ende dieser Seite und wählen Sie Diese Seite bearbeiten am aus GitHub. Ihre Beiträge werden dazu beitragen, unser Benutzerhandbuch für alle zu verbessern.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Kopieren eines Container-Images von einem Repository in ein anderes
In diesem Thema wird beschrieben, wie Sie ein Container-Image aus einem Repository abrufen, auf das Ihre Knoten keinen Zugriff haben, und in ein Repository verschieben, auf das sie Zugriff haben. Das Image können Sie in Amazon ECR oder ein alternatives Repository verschieben, auf das die Knoten Zugriff haben.
Voraussetzungen
-
Die Docker-Engine ist auf Ihrem Computer installiert und konfiguriert. Weitere Informationen finden Sie unter Installieren der Docker-Engine
in der Docker-Dokumentation. -
Version
2.12.3
oder höher oder Version1.27.160
oder höher der AWS Command Line Interface (AWS CLI) auf Ihrem Gerät oder in AWS CloudShell installiert und konfiguriert. Um Ihre aktuelle Version zu überprüfen, verwenden Sie
. Paket-Manager wieaws --version | cut -d / -f2 | cut -d ' ' -f1
yum
,apt-get
oder Homebrew für macOS sind oft mehrere Versionen hinter der neuesten Version von AWS CLI. Informationen zur Installation der neuesten Version von finden Sie unter Installation, Aktualisierung und Deinstallation der AWS CLI und Schnellkonfiguration mit aws configure im AWS Command Line Interface-Benutzerhandbuch. Die in AWS CloudShell installierte AWS CLI-Version kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zum Aktualisieren der Version finden Sie unter Installieren von AWS CLI im Stammverzeichnis im AWS CloudShell-Benutzerhandbuch. -
Ein Schnittstellen-VPC-Endpunkt für Amazon ECR, wenn die Nodes Container-Images aus einem privaten Amazon-ECR-Repository über das Amazon-Netzwerk abrufen bzw. in ein solches verschieben sollen. Weitere Informationen finden Sie unter Erstellen der VPC Endpunkte für Amazon ECR im Benutzerhandbuch von Amazon Elastic Container Registry.
Gehen Sie wie folgt vor, um ein Container-Image aus einem Repository abzurufen und es in ein eigenes Repository zu verschieben. In den folgenden Beispielen in diesem Thema wird das Image für das Metrikhelferobjekt von Amazon VPC CNI plugin for Kubernetes
unbedingt durch eigene Werte.example values
So kopieren Sie ein Container-Image aus einem Repository in ein anderes
-
Wenn Sie noch nicht über ein Amazon-ECR-Repository oder ein anderes Repository verfügen, erstellen Sie eines, auf das die Knoten zugreifen können. Mit dem folgenden Befehl wird ein privates Amazon-ECR-Repository erstellt. Der Name eines privaten Amazon-ECR-Repositorys muss mit einem Buchstaben beginnen. Er darf nur Kleinbuchstaben, Zahlen, Bindestriche (-), Unterstriche (_) und Schrägstriche (/) enthalten. Weitere Informationen finden Sie unter Erstellen eines privaten Repositorys im Benutzerhandbuch von Amazon Elastic Container Registry.
Sie können
mit einem beliebigen Namen ersetzen, den Sie wählen. Erstellen Sie – als bewährte Methode – ein separates Repository für jedes Image. Das wird empfohlen, weil Image-Tags in einem Repository eindeutig sein müssen. Ersetzen Siecni-metrics-helper
durch eine von Amazon ECR unterstützte AWS-Region.region-code
aws ecr create-repository --region
region-code
--repository-namecni-metrics-helper
-
Bestimmen Sie die Registrierung, das Repository und das Tag (optional) des Images, das die Knoten abrufen müssen. Diese Informationen liegen im Format
registry/repository[:tag]
vor.Bei vielen der Amazon-EKS-Themen zur Installation von Images müssen Sie eine Manifestdatei anwenden oder das Image mithilfe eines Helm-Charts installieren. Bevor Sie eine Manifestdatei anwenden oder ein Helm-Chart installieren, sollten Sie sich jedoch zunächst den Inhalt des Manifests oder der Datei
values.yaml
des Charts ansehen. So können Sie die Registrierung, das Repository und das Tag für den Abrufvorgang bestimmen.Die folgende Zeile beispielsweise finden Sie in der Manifestdatei
für das Metrikhelferobjekt von Amazon VPC CNI plugin for Kubernetes . Die Registrierung ist 602401143452.dkr.ecr.us-west-2.amazonaws.com
, eine private Amazon-ECR-Registrierung. Das Repository istcni-metrics-helper
.image: "602401143452.dkr.ecr.us-west-2.amazonaws.com/cni-metrics-helper:v1.12.6"
Die folgenden Variationen sind bei einem Image-Speicherort möglich:
-
Nur
repository-name:tag
. In diesem Fall ist in der Regeldocker.io
die Registrierung, aber nicht spezifiziert, da Kubernetes sie standardmäßig einem Repository-Namen voranstellt, wenn keine Registrierung angegeben ist. -
repository-name/repository-namespace/repository:tag
. Ein Repository-Namespace ist optional, wird jedoch manchmal vom Repository-Besitzer zum Kategorisieren von Images angegeben. Alle Amazon-EC2-Images in der Amazon ECR Public Gallerynutzen beispielsweise den Namespace aws-ec2
.
Zeigen Sie vor dem Installieren eines Images mit Helm die Helm-Datei
values.yaml
an, um den Image-Speicherort zu bestimmen. Die Dateivalues.yaml
für das Metrikhelferobjekt von Amazon VPC CNI plugin for Kubernetesenthält zum Beispiel die folgenden Zeilen. image: region: us-west-2 tag: v1.12.6 account: "602401143452" domain: "amazonaws.com"
-
-
Rufen Sie das in der Manifestdatei angegebene Container-Image ab.
-
Beim Abruf aus einer öffentlichen Registrierung wie zum Beispiel Amazon ECR Public Gallery
können Sie zum nächsten Unterschritt springen, da keine Authentifizierung erforderlich ist. In diesem Beispiel authentifizieren Sie sich bei einer privaten Amazon-ECR-Registrierung, die das Repository für das Helper-Image für CNI-Kennzahlen enthält. Amazon EKS verwaltet das Image in jeder Registrierung, die in Amazon-Container-Image-Registrierungen für EKS Amazon-Add-Ons anzeigen aufgeführt ist. Die Authentifizierung ist bei jeder der Registrierungen möglich. Dazu ersetzen Sie
und602401143452
durch die Informationen für eine andere Registrierung. Für jede AWS-Region, in der Amazon EKS unterstützt wird, existiert eine separate Registrierung.region-code
aws ecr get-login-password --region
region-code
| docker login --username AWS --password-stdin602401143452
.dkr.ecr.region-code
.amazonaws.com -
Rufen Sie das Image ab. In diesem Beispiel erfolgt der Abruf aus der Registrierung, bei der Sie sich im letzten Unterschritt authentifiziert haben. Ersetzen Sie
und602401143452
durch die Informationen, die Sie im vorherigen Unterschritt angegeben haben.region-code
docker pull
/cni-metrics-helper:v602401143452
.dkr.ecr.region-code
.amazonaws.com1.12.6
-
-
Markieren Sie das abgerufene Image mit Ihrer Registrierung, Ihrem Repository und Ihrem Tag. Im folgenden Beispiel wird davon ausgegangen, dass Sie das Image über die Manifestdatei abgerufen haben und es in das private Amazon-ECR-Repository verschieben, das Sie im ersten Schritt erstellt haben. Ersetzen Sie
durch Ihre Konto-ID. Ersetzen Sie111122223333
mit der AWS-Region, in der Sie Ihr privates Amazon-ECR-Pflichtfeld erstellt haben.region-code
docker tag cni-metrics-helper:
v1.12.6
111122223333
.dkr.ecr.
/region-code
.amazonaws.comcni-metrics-helper
:v1.12.6
-
Authentifizieren Sie sich bei Ihrer Registrierung. In diesem Beispiel authentifizieren Sie sich bei der privaten Amazon-ECR-Registrierung, die Sie im ersten Schritt erstellt haben. Weitere Informationen finden Sie unter Registrierungsauthentifizierung im Benutzerhandbuch von Amazon Elastic Container Registry.
aws ecr get-login-password --region
| docker login --username AWS --password-stdinregion-code
111122223333
.dkr.ecr.region-code
.amazonaws.com -
Verschieben Sie das Image in Ihr Repository. In diesem Beispiel verschieben Sie das Image in das private Amazon-ECR-Repository, das Sie im ersten Schritt erstellt haben. Weitere Informationen finden Sie unter Verschieben eines Docker-Images im Benutzerhandbuch von Amazon Elastic Container Registry.
docker push
111122223333
.dkr.ecr.
/region-code
.amazonaws.comcni-metrics-helper
:v1.12.6
-
Aktualisieren Sie die Manifestdatei, mit deren Hilfe Sie das Image in einem vorherigen Schritt bestimmt haben, mit den Werten
registry/repository:tag
für das verschobene Image. Bei der Installation mit einem Helm-Chart gibt es oft eine Option zur Angabe der Werteregistry/repository:tag
. Geben Sie bei der Installation des Charts die Werteregistry/repository:tag
für das Image an, das Sie in das Repository verschoben haben.