3.3. Mise en miroir du référentiel d'images d'OpenShift Container Platform
Miroir du référentiel d'images OpenShift Container Platform sur votre registre à utiliser lors de l'installation ou de la mise à jour du cluster.
Conditions préalables
- Votre hôte miroir a accès à l'internet.
- Vous avez configuré un registre miroir à utiliser dans votre réseau restreint et vous pouvez accéder au certificat et aux informations d'identification que vous avez configurés.
- Vous avez téléchargé le secret d'extraction depuis le Red Hat OpenShift Cluster Manager et l'avez modifié pour inclure l'authentification à votre dépôt miroir.
- Si vous utilisez des certificats auto-signés, vous avez spécifié un Subject Alternative Name dans les certificats.
Procédure
Effectuez les étapes suivantes sur l'hôte miroir :
- Consultez la page de téléchargement d'OpenShift Cont ainer Platform pour déterminer la version d'OpenShift Container Platform que vous souhaitez installer et déterminez la balise correspondante sur la page Repository Tags.
Définir les variables d'environnement nécessaires :
Exporter la version :
oCP_RELEASE=<release_version>
Pour
<release_version>
, spécifiez la balise qui correspond à la version d'OpenShift Container Platform à installer, par exemple4.5.4
.Exporter le nom du registre local et le port de l'hôte :
$ LOCAL_REGISTRY='<local_registry_host_name>:<local_registry_host_port>'
Pour
<local_registry_host_name>
, indiquez le nom de domaine de votre dépôt miroir, et pour<local_registry_host_port>
, indiquez le port sur lequel il sert le contenu.Exporter le nom du référentiel local :
$ LOCAL_REPOSITORY='<local_repository_name>'
Pour
<local_repository_name>
, indiquez le nom du référentiel à créer dans votre registre, par exempleocp4/openshift4
.Exportez le nom du référentiel à mettre en miroir :
$ PRODUCT_REPO='openshift-release-dev'
Pour une version de production, vous devez spécifier
openshift-release-dev
.Exportez le chemin d'accès à votre registre secret :
$ LOCAL_SECRET_JSON='<path_to_pull_secret>'
Pour
<path_to_pull_secret>
, indiquez le chemin absolu et le nom de fichier du secret d'extraction pour le registre miroir que vous avez créé.Exporter le miroir de validation :
$ RELEASE_NAME="ocp-release"
Pour une version de production, vous devez spécifier
ocp-release
.Exportez le type d'architecture de votre serveur, par exemple
x86_64
ouaarch64
:aRCHITECTURE=<server_architecture>
Exportez le chemin d'accès au répertoire qui hébergera les images en miroir :
rEMOVABLE_MEDIA_PATH=<path> $ REMOVABLE_MEDIA_PATH=<path> 1
- 1
- Indiquer le chemin d'accès complet, y compris la barre oblique initiale (/).
Mettre en miroir les images de la version dans le registre miroir :
Si votre hôte miroir n'a pas d'accès à Internet, prenez les mesures suivantes :
- Connectez le support amovible à un système connecté à Internet.
Examinez les images et les manifestes de configuration pour créer un miroir :
$ oc adm release mirror -a ${LOCAL_SECRET_JSON} \ --from=quay.io/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE}-${ARCHITECTURE} \ --to=${LOCAL_REGISTRY}/${LOCAL_REPOSITORY} \ --to-release-image=${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}:${OCP_RELEASE}-${ARCHITECTURE} --dry-run
-
Enregistrez l'intégralité de la section
imageContentSources
à partir de la sortie de la commande précédente. Les informations sur vos miroirs sont propres à votre dépôt miroir, et vous devez ajouter la sectionimageContentSources
au fichierinstall-config.yaml
lors de l'installation. Mettez les images en miroir dans un répertoire du support amovible :
$ oc adm release mirror -a ${LOCAL_SECRET_JSON} --to-dir=${REMOVABLE_MEDIA_PATH}/mirror quay.io/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE}-${ARCHITECTURE}
Transférer les supports dans l'environnement réseau restreint et télécharger les images dans le registre local des conteneurs.
$ oc image mirror -a ${LOCAL_SECRET_JSON} --from-dir=${REMOVABLE_MEDIA_PATH}/mirror "file://openshift/release:${OCP_RELEASE}*" ${LOCAL_REGISTRY}/${LOCAL_REPOSITORY} 1
- 1
- Pour
REMOVABLE_MEDIA_PATH
, vous devez utiliser le même chemin d'accès que celui spécifié lors de la mise en miroir des images.
ImportantL'exécution de
oc image mirror
peut entraîner l'erreur suivante :error: unable to retrieve source image
. Cette erreur se produit lorsque les index d'images incluent des références à des images qui n'existent plus dans le registre d'images. Les index d'images peuvent conserver des références plus anciennes afin de permettre aux utilisateurs qui utilisent ces images de bénéficier d'un chemin de mise à niveau vers des points plus récents du graphique de mise à niveau. En guise de solution temporaire, vous pouvez utiliser l'option--skip-missing
pour contourner l'erreur et continuer à télécharger l'index d'image. Pour plus d'informations, voir Échec de la mise en miroir de l'opérateur du service Mesh.
Si le registre de conteneurs local est connecté à l'hôte miroir, prenez les mesures suivantes :
Poussez directement les images de version dans le registre local à l'aide de la commande suivante :
$ oc adm release mirror -a ${LOCAL_SECRET_JSON} \ --from=quay.io/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE}-${ARCHITECTURE} \ --to=${LOCAL_REGISTRY}/${LOCAL_REPOSITORY} \ --to-release-image=${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}:${OCP_RELEASE}-${ARCHITECTURE}
Cette commande extrait les informations de version sous forme de condensé, et sa sortie inclut les données
imageContentSources
dont vous avez besoin lorsque vous installez votre cluster.Enregistrez l'intégralité de la section
imageContentSources
à partir de la sortie de la commande précédente. Les informations sur vos miroirs sont propres à votre dépôt miroir, et vous devez ajouter la sectionimageContentSources
au fichierinstall-config.yaml
lors de l'installation.NoteLe nom de l'image est remplacé par Quay.io pendant le processus de mise en miroir, et les images podman afficheront Quay.io dans le registre de la machine virtuelle de démarrage.
Pour créer le programme d'installation basé sur le contenu que vous avez mis en miroir, extrayez-le et épinglez-le à la version :
Si votre hôte miroir n'a pas d'accès à Internet, exécutez la commande suivante :
$ oc adm release extract -a ${LOCAL_SECRET_JSON} --icsp-file=<file> \N--command=openshift-install \N"${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}:${OCP_RELEASE}\N"
Si le registre de conteneurs local est connecté à l'hôte miroir, exécutez la commande suivante :
$ oc adm release extract -a ${LOCAL_SECRET_JSON} --command=openshift-install "${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}:${OCP_RELEASE}-${ARCHITECTURE}"
ImportantPour vous assurer que vous utilisez les images correctes pour la version d'OpenShift Container Platform que vous avez sélectionnée, vous devez extraire le programme d'installation du contenu mis en miroir.
Vous devez effectuer cette étape sur une machine disposant d'une connexion internet active.
Si vous êtes dans un environnement déconnecté, utilisez l'indicateur
--image
dans le cadre de la collecte obligatoire et pointez vers l'image de la charge utile.
Pour les clusters utilisant une infrastructure fournie par l'installateur, exécutez la commande suivante :
$ openshift-install