Kopieren eines Container-Images von einem Repository in ein anderes - Amazon EKS

Hilf mit, diese Seite 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.

Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.

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 das Image in ein Repository übertragen, auf das Ihre Knoten Zugriff haben. Das Image können Sie in Amazon ECR oder ein alternatives Repository verschieben, auf das die Knoten Zugriff haben.

  • 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 Version 1.27.160 oder höher der auf Ihrem Gerät installierten und konfigurierten AWS Befehlszeilenschnittstelle (AWS CLI) oder AWS CloudShell. Um Ihre aktuelle Version zu überprüfen, verwenden Sie aws --version | cut -d / -f2 | cut -d ' ' -f1. Paketmanager wie yumapt-get, oder Homebrew für macOS liegen oft mehrere Versionen hinter der neuesten Version der AWS CLI. Informationen zur Installation der neuesten Version finden Sie unter Installation und Schnellkonfiguration mit aws configure im Benutzerhandbuch für die AWS Befehlszeilenschnittstelle. Die AWS CLI-Version, in der installiert ist, AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie im AWS CloudShell Benutzerhandbuch unter AWS CLI in Ihrem Home-Verzeichnis installieren.

  • Ein VPC-Schnittstellen-Endpunkt für Amazon ECR, wenn Sie möchten, dass Ihre Knoten Container-Images aus einem privaten Amazon ECR-Repository über das Amazon-Netzwerk abrufen oder Container-Images in ein privates Amazon ECR-Repository übertragen. 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, die in diesem Thema bereitgestellt werden, wird das Image für den Amazon VPC CNI-Plug-In für den Kubernetes-Metrik-Helper abgerufen. Ersetzen Sie beim Ausführen dieser Schritte die example values unbedingt durch eigene Werte.

  1. Wenn Sie noch kein Amazon ECR-Repository oder ein anderes Repository haben, erstellen Sie eines, auf das Ihre Knoten Zugriff haben. 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 cni-metrics-helper 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. region-codeErsetzen Sie durch eine AWS Region, die von Amazon ECR unterstützt wird.

    aws ecr create-repository --region region-code --repository-name cni-metrics-helper
  2. 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 jedoch eine Manifestdatei anwenden oder ein Helm-Diagramm installieren, sollten Sie sich zunächst den Inhalt des Manifests oder der values.yaml Diagrammdatei ansehen. So können Sie die Registrierung, das Repository und das Tag für den Abrufvorgang bestimmen.

    Sie finden beispielsweise die folgende Zeile in der Manifestdatei für den Amazon VPC CNI-Plug-In für Kubernetes Metrics Helper. Die Registrierung ist 602401143452.dkr.ecr.us-west-2.amazonaws.com, eine private Amazon-ECR-Registrierung. Das Repository ist cni-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 Regel docker.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. Beispielsweise verwenden alle EC2 Amazon-Bilder in der Amazon ECR Public Gallery den aws-ec2 Namespace.

      Zeigen Sie vor dem Installieren eines Images mit Helm die Helm-Datei values.yaml an, um den Image-Speicherort zu bestimmen. Die Datei values.yaml für den Amazon VPC CNI Plugin for Kubernetes Metrics Helper enthält beispielsweise die folgenden Zeilen.

      image: region: us-west-2 tag: v1.12.6 account: "602401143452" domain: "amazonaws.com"
  3. Rufen Sie das in der Manifestdatei angegebene Container-Image ab.

    1. Wenn Sie Daten aus einer öffentlichen Registrierung abrufen, z. B. der Amazon ECR Public Gallery, können Sie mit dem nächsten Unterschritt fortfahren, 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 unter Amazon Container-Image-Registrierungen für Amazon EKS-Add-Ons anzeigen aufgeführt ist. Die Authentifizierung ist bei jeder der Registrierungen möglich. Dazu ersetzen Sie 602401143452 und region-code durch die Informationen für eine andere Registrierung. Für jede AWS Region, in der Amazon EKS unterstützt wird, gibt es eine separate Registrierung.

      aws ecr get-login-password --region region-code | docker login --username AWS --password-stdin 602401143452.dkr.ecr.region-code.amazonaws.com
    2. 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 602401143452 und region-code durch die Informationen, die Sie im vorherigen Unterschritt angegeben haben.

      docker pull 602401143452.dkr.ecr.region-code.amazonaws.com/cni-metrics-helper:v1.12.6
  4. 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 111122223333 durch Ihre Konto-ID. region-codeErsetzen Sie es durch die AWS Region, in der Sie Ihr privates Amazon ECR-Repository erstellt haben.

    docker tag cni-metrics-helper:v1.12.6 111122223333.dkr.ecr.region-code.amazonaws.com/cni-metrics-helper:v1.12.6
  5. 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 region-code | docker login --username AWS --password-stdin 111122223333.dkr.ecr.region-code.amazonaws.com
  6. 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.com/cni-metrics-helper:v1.12.6
  7. 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. Wenn Sie mit einem Helm-Diagramm installieren, gibt es oft eine Option zur registry/repository:tag Angabe von. Geben Sie bei der Installation des Charts die Werte registry/repository:tag für das Image an, das Sie in das Repository verschoben haben.