Aidez à améliorer cette page
Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tout le monde.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Copier une image de conteneur d'un référentiel vers un autre référentiel
Cette rubrique décrit comment extraire une image de conteneur d'un référentiel auquel vos nœuds n'ont pas accès et envoyer l'image vers un référentiel auquel vos nœuds ont accès. Vous pouvez transmettre l'image à Amazon ECR ou à un référentiel alternatif auquel vos nœuds ont accès.
Prérequis
-
Le moteur Docker installé et configuré sur votre ordinateur. Pour connaître la marche à suivre, consultez la rubrique Installer Docker Engine
dans la documentation Docker. -
Version
2.12.3
ou ultérieure ou version1.27.160
ou ultérieure de l’AWS Command Line Interface (AWS CLI) installée et configurée sur votre appareil ou AWS CloudShell. Pour vérifier votre version actuelle, utilisez
. Les gestionnaires de package, par exempleaws --version | cut -d / -f2 | cut -d ' ' -f1
yum
,apt-get
, Homebrew ou macOS, sont souvent antérieurs de plusieurs versions à la AWS CLI. Pour installer la dernière version, consultez Installation, mise à jour et désinstallation de l’AWS CLI et Configuration rapide avec aws configure dans le Guide de l’utilisateur AWS Command Line Interface. La version d’AWS CLI qui est installée dans AWS CloudShell peut également être en retard de plusieurs versions par rapport à la dernière version. Pour la mettre à jour, consultez Installation d’AWS CLI dans votre répertoire d’accueil dans le Guide de l’utilisateur AWS CloudShell. -
Un point de terminaison d'un VPC d'interface pour Amazon ECR si vous souhaitez que vos nœuds extraient des images de conteneur ou transmettent des images de conteneur vers un référentiel Amazon ECR privé sur le réseau d'Amazon. Pour de plus amples informations, veuillez consulter Créer des points de terminaison de VPC pour Amazon ECR dans le Guide de l'utilisateur Amazon Elastic Container Registry.
Effectuez les étapes suivantes pour extraire une image de conteneur d'un référentiel et la transférer vers votre propre référentiel. Dans les exemples suivants fournis dans cette rubrique, l'image pour l'assistant de métriques Amazon VPC CNI plugin for Kubernetes
par vos propres valeurs.example values
Pour copier une image de conteneur d'un référentiel vers un autre référentiel
-
Si vous ne disposez pas déjà d'un référentiel Amazon ECR ou d'un autre référentiel, créez-en un auquel vos nœuds ont accès. La commande suivante crée un référentiel privé Amazon ECR. Un nom de référentiel privé Amazon ECR doit commencer par une lettre. Il peut uniquement contenir des lettres minuscules, des chiffres, des tirets (-), des traits de soulignement (_) et des barres obliques (/). Pour de plus amples informations, veuillez consulter Créer un référentiel privé dans le Guide de l'utilisateur Amazon Elastic Container Registry.
Vous pouvez remplacer.
par ce que vous souhaitez. Il est recommandé de créer un référentiel distinct pour chaque image. Nous vous le recommandons, car les identifications d'image doivent être uniques au sein d'un référentiel. Remplacezcni-metrics-helper
par une Région AWS prise en charge par Amazon ECR.region-code
aws ecr create-repository --region
region-code
--repository-namecni-metrics-helper
-
Déterminez le registre, le référentiel et l'identification (facultatif) de l'image que vos nœuds doivent extraire. Ces informations se trouvent dans le format
registry/repository[:tag]
.De nombreuses rubriques Amazon EKS sur l'installation d'images nécessitent que vous appliquiez un fichier manifeste ou que vous installiez l'image à l'aide des Charts de Helm. Cependant, avant d'appliquer un fichier manifeste ou d'installer une charte de Helm, visualisez d'abord le contenu du fichier
values.yaml
manifeste ou de la charte. De cette façon, vous pouvez déterminer le registre, le référentiel et l'identification à extraire.Par exemple, vous pouvez trouver la ligne suivante dans le fichier manifeste
pour l'assistant de métriques Amazon VPC CNI plugin for Kubernetes . Le registre est 602401143452.dkr.ecr.us-west-2.amazonaws.com
, qui est un registre privé Amazon ECR. Le référentiel estcni-metrics-helper
.image: "602401143452.dkr.ecr.us-west-2.amazonaws.com/cni-metrics-helper:v1.12.6"
Vous pouvez voir les variantes suivantes pour un emplacement d'image :
-
Seul
repository-name:tag
. Dans ce cas,docker.io
est généralement le registre, mais il n'est pas spécifié puisque Kubernetes l'ajoute par défaut à un nom de référentiel si aucun registre n'est spécifié. -
repository-name/repository-namespace/repository:tag
. Un espace de noms de référentiel est facultatif, mais est parfois spécifié par le propriétaire du référentiel pour catégoriser les images. Par exemple, toutes les images Amazon EC2 de la galerie publique Amazon ECRutilisent l'espace de noms aws-ec2
.
Avant d'installer une image avec Helm, affichez le fichier
values.yaml
Helm pour déterminer l'emplacement de l'image. Par exemple, le fichiervalues.yaml
pour l'assistant de métriques Amazon VPC CNI plugin for Kubernetescomprend les lignes suivantes. image: region: us-west-2 tag: v1.12.6 account: "602401143452" domain: "amazonaws.com"
-
-
Extrayez l'image conteneur spécifiée dans le fichier manifeste.
-
Si vous extrayez des images d'un registre public, tel que la galerie publique Amazon ECR
, vous pouvez passer à la sous-étape suivante, car l'authentification n'est pas requise. Dans cet exemple, vous vous authentifiez auprès d'un registre privé Amazon ECR contenant le référentiel pour l'image d'assistance des métriques CNI. Amazon EKS conserve l'image dans chaque registre répertorié dans Afficher les registres d'images de conteneurs Amazon pour les modules complémentaires Amazon EKS. Vous pouvez vous authentifier auprès de n'importe quel registre en remplaçant
et602401143452
par les informations d'un registre différent. Un registre distinct existe pour chaque Région AWS dans laquelle Amazon EKS est pris en charge.region-code
aws ecr get-login-password --region
region-code
| docker login --username AWS --password-stdin602401143452
.dkr.ecr.region-code
.amazonaws.com -
Extrayez l'image. Dans cet exemple, vous effectuez une extraction à partir du registre auquel vous vous êtes authentifié au cours de la sous-étape précédente. Remplacez
et602401143452
par les informations que vous avez spécifiées lors de la sous-étape précédente.region-code
docker pull
/cni-metrics-helper:v602401143452
.dkr.ecr.region-code
.amazonaws.com1.12.6
-
-
Étiquetez l'image que vous avez extraite avec votre registre, votre référentiel et votre identification. L'exemple suivant suppose que vous avez extrait l'image du fichier manifeste et que vous allez la transmettre au référentiel privé Amazon ECR que vous avez créé à la première étape. Remplacez
par votre ID de compte. Remplacez111122223333
par la Région AWS dans laquelle vous avez créé votre référentiel privé Amazon ECR.region-code
docker tag cni-metrics-helper:
v1.12.6
111122223333
.dkr.ecr.
/region-code
.amazonaws.comcni-metrics-helper
:v1.12.6
-
Authentifiez auprès de votre registre. Dans cet exemple, vous vous authentifiez auprès du registre privé Amazon ECR que vous avez créé à la première étape. Pour plus d'informations, veuillez consulter Authentification de registre dans le Guide de l'utilisateur Amazon Elastic Container Registry.
aws ecr get-login-password --region
| docker login --username AWS --password-stdinregion-code
111122223333
.dkr.ecr.region-code
.amazonaws.com -
Transmettez l'image à votre référentiel. Dans cet exemple, vous transmettez l'image au référentiel privé Amazon ECR que vous avez créé à la première étape. Pour plus d'informations, consultez Transmission d'une image Docker dans le Guide de l'utilisateur Amazon Elastic Container Registry.
docker push
111122223333
.dkr.ecr.
/region-code
.amazonaws.comcni-metrics-helper
:v1.12.6
-
Mettez à jour le fichier manifeste que vous avez utilisé pour déterminer l'image lors d'une étape précédente avec le
registry/repository:tag
pour l'image que vous avez transmise. Si vous installez avec les Charts de Helm, il existe souvent une option pour spécifier le fichierregistry/repository:tag
. Lors de l'installation du graphique, spécifiez leregistry/repository:tag
pour l'image que vous avez transmise à votre référentiel.