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 :

  1. 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.
  2. Définir les variables d'environnement nécessaires :

    1. Exporter la version :

      oCP_RELEASE=<release_version>

      Pour <release_version>, spécifiez la balise qui correspond à la version d'OpenShift Container Platform à installer, par exemple 4.5.4.

    2. 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.

    3. 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 exemple ocp4/openshift4.

    4. 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.

    5. 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éé.

    6. Exporter le miroir de validation :

      $ RELEASE_NAME="ocp-release"

      Pour une version de production, vous devez spécifier ocp-release.

    7. Exportez le type d'architecture de votre serveur, par exemple x86_64 ou aarch64:

      aRCHITECTURE=<server_architecture>
    8. 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 (/).
  3. 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 :

      1. Connectez le support amovible à un système connecté à Internet.
      2. 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
      3. 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 section imageContentSources au fichier install-config.yaml lors de l'installation.
      4. 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}
      5. 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.
        Important

        L'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 :

      1. 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.

      2. 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 section imageContentSources au fichier install-config.yaml lors de l'installation.

        Note

        Le 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.

  4. 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}"
      Important

      Pour 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.

  5. Pour les clusters utilisant une infrastructure fournie par l'installateur, exécutez la commande suivante :

    $ openshift-install