Mise en miroir d'images à l'aide d'un registre de conteneurs intermédiaire (mise à niveau de la version 5.3.x vers une version ultérieure 5.3 refresh)

Si votre poste de travail client ne peut pas se connecter à Internet et au registre de conteneurs privé, vous devez mettre en miroir les images vers un registre de conteneurs intermédiaire avant de pouvoir les mettre en miroir vers votre registre de conteneurs privé.

Si votre poste de travail client peut se connecter à Internet et au registre de conteneurs privé, consultez la section Mise en miroir directe des images vers le registre de conteneurs privé.

Phase de mise à niveau
  • Vous n'êtes pas ici. Mise à jour de votre poste de travail client
  • Vous n'êtes pas ici. Collecte des informations requises
  • Vous n'êtes pas ici. Préparation d'une mise à niveau dans un réseau restreint
  • Vous êtes ici icône. Préparation à l'exécution d'une mise à niveau à partir d'un registre de conteneurs privé
  • Vous n'êtes pas ici. Mise à niveau des logiciels prérequis
  • Vous n'êtes pas ici. Mise à niveau des composants partagés du cluster
  • Vous n'êtes pas ici. Préparation à la mise à niveau d'une instance
  • Vous n'êtes pas ici. Mise à niveau d'une instance
Qui doit accomplir cette tâche?

Administrateur du registre Un administrateur du registre ou un utilisateur disposant des autorisations nécessaires pour transférer des images vers le registre de conteneurs privé doit effectuer cette tâche.

Quand devez-vous terminer cette tâche?

Si vous extrayez des images d'un registre de conteneurs privé, vous devez effectuer cette tâche avant de procéder à la mise à niveau IBM® Software Hub.

Si vous avez plusieurs instances de IBM Software Hub sur votre cluster, vous pouvez soit :

  • Configuration unique Réduisez au minimum le nombre de fois où vous effectuez la mise en miroir des images logicielles en :
    1. Identifier toutes les instances de IBM Software Hub sur le cluster.
    2. Identification de tous les composants installés dans chaque instance.
    3. Spécifier tous les composants pour toutes les instances lorsque vous effectuez la mise en miroir des images.
  • Répétez l'opération autant de fois que nécessaire. Mettez en miroir les images une instance à la fois.

Avant de commencer

Meilleure pratique : vous pouvez exécuter les commandes de cette tâche exactement telles qu'elles sont écrites en utilisant les variables d'environnement d'installation. Assurez-vous d'avoir ajouté les nouvelles variables d'environnement à partir du script Mise à jour de vos variables d'environnement.

De plus, assurez-vous de récupérer les variables d'environnement avant d'exécuter les commandes de cette tâche.

Avant de mettre en miroir les images vers le registre de conteneurs privé :
  1. Assurez-vous de disposer d'un espace suffisant pour les images que vous prévoyez de mettre en miroir. Pour plus d'informations sur les tailles approximatives des images, consultez la section Configuration matérielle requise.
  2. Si vous prévoyez d'installer un service dépendant du composant Inference foundation models (ibm-watsonx-ai-ifm) :
    1. Assurez-vous que Skopeo est installé sur le poste de travail client :
      yum install skopeo
    2. Assurez-vous d'avoir votre Red Hat® nom d'utilisateur et votre mot de passe. (Les informations d'identification que vous utilisez pour vous https://access.redhat.comauthentifier)
    3. Définissez la variable REDHAT_ACCESS_USERNAME d'environnement sur votre Red Hat nom d'utilisateur :
      export REDHAT_ACCESS_USERNAME=<username>
    4. Définissez la variable REDHAT_ACCESS_PASSWORD d'environnement du mot de passe associé à votre Red Hat nom d'utilisateur :
      export REDHAT_ACCESS_PASSWORD=<password>

A propos de cette tâche

Utilisez les cpd-cli manage commandes pour :
  • Mettre en miroir les images du IBM Entitled Registry vers un registre de conteneurs intermédiaire sur le poste de travail client.
  • Mettre en miroir les images du registre de conteneurs intermédiaire vers le registre de conteneurs privé.

La cpd-cli manage mirror-images commande configure automatiquement un registre de conteneurs intermédiaire sur le poste de travail client. L'adresse du registre des conteneurs intermédiaires est 127.0.0.1:12443.

Vous devez être en mesure de déplacer le registre de conteneurs intermédiaire derrière votre pare-feu.

Les étapes suivantes supposent que les affirmations suivantes sont vraies :
  • Vous allez mettre en miroir tous les composants en une seule étape.

    Les composants qui sont mis en miroir sont déterminés par la ${COMPONENTS} variable, à partir du script des variables d'environnement d'installation.

    Si vous souhaitez mettre en miroir un composant spécifique plutôt que plusieurs composants, vous pouvez exporter COMPONENTS avec l 'ID de composant approprié.

  • Vous avez identifié tous les modèles ou images optionnelles que vous devez reproduire

    Les modèles et les images optionnelles qui sont mis en miroir sont déterminés par la ${IMAGE_GROUPS} variable, à partir du script des variables d'environnement d'installation.

    Si vous n'avez pas besoin de mettre en miroir des modèles ou des images facultatives, exécutez les commandes qui n'incluent pas la ${IMAGE_GROUPS} variable.

Procédure

  1. À partir d'un poste de travail client pouvant se connecter à Internet :
    1. Connectez-vous au IBM Entitled Registry registre :
      cpd-cli manage login-entitled-registry \
      ${IBM_ENTITLEMENT_KEY}
    2. Vérifiez que vous avez accès aux images que vous souhaitez mettre en miroir à partir du IBM Entitled Registry:
      1. Inspectez le IBM Entitled Registry:
        Conseil : si vous souhaitez vérifier que vous avez accès aux images d'un composant spécifique, vous pouvez exécuter la commande suivante avant d'exécuter la list-images commande :
        export COMPONENTS=<component-ID>
        Exécutez la commande appropriée pour votre environnement :
        Vous disposez déjà des paquets CASE sur le poste de travail client
        cpd-cli manage list-images \
        --components=${COMPONENTS} \
        --release=${VERSION} \
        --inspect_source_registry=true

        Téléchargez les paquets CASE depuis GitHub ( github.com/IBM )
        cpd-cli manage list-images \
        --components=${COMPONENTS} \
        --release=${VERSION} \
        --inspect_source_registry=true

        Téléchargez les paquets CASE depuis le référentiel Open Container Initiative de l' IBM Cloud Pak
        cpd-cli manage list-images \
        --components=${COMPONENTS} \
        --release=${VERSION} \
        --inspect_source_registry=true \
        --from_oci=true

        La sortie est enregistrée dans le list_images.csv fichier dans le work/offline/${VERSION} répertoire.

      2. Vérifiez qu'il n'y a pas d'erreurs dans la sortie :
        grep "level=fatal" list_images.csv

        La commande renvoie les images qui ont échoué en raison d'erreurs d'autorisation ou d'erreurs réseau.

    3. EDB Postgres Standard utilisateurs uniquement. Si vous avez acheté EDB Postgres Standard, exécutez la commande suivante pour supprimer les EDB Postgres Enterprise images de la liste des images qui seront répliquées dans le registre de conteneurs privé :
      Postes de travail qui utilisent le répertoire cpd-cli-workspace/olm-utils-workspace/work par défaut
      sed -i -e '/edb-postgres-advanced/d' ./cpd-cli-workspace/olm-utils-workspace/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-cpd-edb/*/ibm-cpd-edb-*-images.csv
      Postes de travail qui utilisent la variable CPD_CLI_MANAGE_WORKSPACE d'environnement
      sed -i -e '/edb-postgres-advanced/d' ${CPD_CLI_MANAGE_WORKSPACE}/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-cpd-edb/*/ibm-cpd-edb-*-images.csv
    4. Watson Studio utilisateurs uniquement. Si vous effectuez une mise en miroir des images pour Watson Studio, vous pouvez supprimer les images suivantes si vous n'en avez pas besoin :

      Images GPU

      Les images GPU sont reflétées par défaut. Si vous n'avez pas besoin des images GPU, exécutez la commande suivante pour les supprimer :

      Postes de travail qui utilisent le répertoire cpd-cli-workspace/olm-utils-workspace/work par défaut
      sed -i -e '/gpu/d' ./cpd-cli-workspace/olm-utils-workspace/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-wsl-runtimes/*/ibm-wsl-runtimes-*-images.csv
      Postes de travail qui utilisent la variable CPD_CLI_MANAGE_WORKSPACE d'environnement
      sed -i -e '/gpu/d' ${CPD_CLI_MANAGE_WORKSPACE}/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-wsl-runtimes/*/ibm-wsl-runtimes-*-images.csv

      Modèles NLP pré-entraînés

      Les images NLP pré-entraînées sont reflétées par défaut. Si vous n'avez pas besoin des modèles de traitement du langage naturel (NLP) pré-entraînés, exécutez la commande suivante pour les supprimer :

      Postes de travail qui utilisent le répertoire cpd-cli-workspace/olm-utils-workspace/work par défaut
      sed -i -e '/nlp/d' ./cpd-cli-workspace/olm-utils-workspace/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-wsl-runtimes/*/ibm-wsl-runtimes-*-images.csv
      Postes de travail qui utilisent la variable CPD_CLI_MANAGE_WORKSPACE d'environnement
      sed -i -e '/nlp/d' ${CPD_CLI_MANAGE_WORKSPACE}/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-wsl-runtimes/*/ibm-wsl-runtimes-*-images.csv

    5. Mettre en miroir les images vers le registre de conteneurs intermédiaire.

      La commande configure automatiquement un registre de conteneurs intermédiaire sur le poste de travail client. L'adresse du registre des conteneurs intermédiaires est 127.0.0.1:12443.

      Conseil : déterminez si vous devez modifier le comportement de cette commande :
      • Par défaut, cette commande ne reflète que les images nécessaires à l'architecture de votre cluster. Si vous souhaitez mettre en miroir les images pour toutes les architectures prises en charge, supprimez --arch=${IMAGE_ARCH} l'option.
      • Cette commande met en miroir les images pour tous les composants spécifiés dans la variable ${COMPONENTS} d'environnement. Si vous souhaitez mettre en miroir les images d'un composant spécifique, vous pouvez exécuter export COMPONENTS=<component-ID> avant d'exécuter la commande.

      Vous devez reproduire les modèles ou les images facultatives
      cpd-cli manage mirror-images \
      --components=${COMPONENTS} \
      --groups=${IMAGE_GROUPS} \
      --release=${VERSION} \
      --target_registry=127.0.0.1:12443 \
      --arch=${IMAGE_ARCH} \
      --case_download=false

      Vous n'avez pas besoin de reproduire les modèles ou les images facultatives
      cpd-cli manage mirror-images \
      --components=${COMPONENTS} \
      --release=${VERSION} \
      --target_registry=127.0.0.1:12443 \
      --arch=${IMAGE_ARCH} \
      --case_download=false

      Pour chaque composant, la commande génère un fichier journal dans le work répertoire.

      Astuce : exécutez la commande suivante pour imprimer toutes les erreurs contenues dans les fichiers journaux :
      grep "error" mirror_*.log
    6. Vérifiez que les images ont bien été copiées dans le registre de conteneurs intermédiaire :
      1. Inspectez le contenu du registre des conteneurs intermédiaires :
        cpd-cli manage list-images \
        --components=${COMPONENTS} \
        --release=${VERSION} \
        --target_registry=127.0.0.1:12443 \
        --case_download=false

        La sortie est enregistrée dans le list_images.csv fichier dans le work/offline/${VERSION} répertoire.

      2. Vérifiez qu'il n'y a pas d'erreurs dans la sortie :
        grep "level=fatal" list_images.csv

        La commande renvoie les images manquantes ou qui ne peuvent pas être inspectées.

    7. Si vous prévoyez d'installer un service dépendant du composant Inference foundation models (ibm-watsonx-ai-ifm), copiez les images vLLM requises dans le registre de conteneurs intermédiaire.

      Les images que vous mettez en miroir dépendent des modèles que vous prévoyez d'installer.

      Modèles Mistral AI
      Si vous prévoyez d'installer l'un des modèles Mistral AI suivants, vous devez copier l'image d' vLLM requise à partir du IBM Entitled Registry:
      • codestral-22b
      • codestral-2501
      • ministral-8b-instruct
      • mistral-large
      • mistral-large-instruct-2411
      • mistral-small-instruct
      • pixtral-large-instruct-2411
      skopeo copy --all \
      --src-username cp \
      --src-password ${IBM_ENTITLEMENT_KEY} \
      --src-tls-verify=false \
      --dest-tls-verify=false \
      docker://cp.icr.io/cp/cpd/vllm@sha256:cc95bc7619549a5fb9342f8c41c613df5cd65b4e1f90b408db062559a2fdcff9 \
      docker://127.0.0.1:12443/cp/cpd/vllm@sha256:cc95bc7619549a5fb9342f8c41c613df5cd65b4e1f90b408db062559a2fdcff9
      Tous les autres modèles
      Pour tous les autres modèles, vous devez copier l'image CUDA RHOAI vLLM à partir de registry.redhat.io:
      1. Connectez-vous à registry.redhat.io:
        skopeo login registry.redhat.io \
        --username ${REDHAT_ACCESS_USERNAME} \
        --password ${REDHAT_ACCESS_PASSWORD}
      2. Copiez l'image dans le tmp/rhoai-new répertoire sur le poste de travail client :
        skopeo copy --all 
        docker://registry.redhat.io/rhoai/odh-vllm-cuda-rhel9@sha256:fb84fbf103bf450ef5b060fc5f21a9cf16b166dba207a3c50aa91bccd919d604 \
        dir://tmp/rhoai-new
  2. Déplacez le registre de conteneurs intermédiaire derrière le pare-feu.

    Options pour déplacer le registre des conteneurs intermédiaires
    Option Détails
    Utilisez un appareil informatique portable, tel qu'un ordinateur portable, que vous pouvez déplacer derrière votre pare-feu.
    Vous pouvez utiliser le même appareil pour :
    • Images miroir depuis le IBM Entitled Registry vers le registre de conteneurs intermédiaire.
    • Mettre en mirroir les images du registre de conteneur intermédiaire vers le registre de conteneur privé.
    Utilisez un périphérique de stockage portable, tel qu'une clé USB, que vous pouvez déplacer derrière votre pare-feu.
    Vous devez configurer deux postes de travail clients :
    • Un poste de travail pouvant se connecter à Internet. À partir de ce poste de travail, vous pouvez copier les images du IBM Entitled Registry vers le registre de conteneurs intermédiaire sur le périphérique de stockage portable.
    • Un poste de travail pouvant se connecter au registre de conteneurs privé. Après avoir déplacé le périphérique de stockage portable vers ce poste de travail, vous pouvez mettre en miroir les images du registre de conteneurs intermédiaire vers le registre de conteneurs privé.
    Important : le poste de travail pouvant se connecter au registre de conteneurs privé doit disposer des éléments suivants :
    • Une copie du cpd-cli
    • Une copie du work répertoire, qui contient les CASE paquets et le registre de conteneurs intermédiaires.

      Pour plus de simplicité, vous pouvez copier l'intégralité du répertoire cpd-cli-workspaceCPD_CLI_MANAGE_WORKSPACE ou.

    Utilisez un protocole de transfert de fichiers, tel que scp ou sftp, pour déplacer les images derrière votre pare-feu.
    Vous devez configurer deux postes de travail clients :
    • Un poste de travail pouvant se connecter à Internet. À partir de ce poste de travail, vous pouvez mettre en miroir les images du IBM Entitled Registry vers le registre de conteneurs intermédiaire.
    • Un poste de travail pouvant se connecter au registre de conteneurs privé. Après avoir transféré le registre de conteneurs intermédiaire vers ce poste de travail, vous pouvez mettre en miroir les images du registre de conteneurs intermédiaire vers le registre de conteneurs privé.
    Important : le poste de travail pouvant se connecter au registre de conteneurs privé doit disposer des éléments suivants :
    • Une copie du cpd-cli
    • Une copie du work répertoire, qui contient les CASE paquets et le registre de conteneurs intermédiaires.

      Pour plus de simplicité, vous pouvez copier l'intégralité du répertoire cpd-cli-workspaceCPD_CLI_MANAGE_WORKSPACE ou.


  3. Si vous avez copié l'image CUDA RHOAI vLLM dans le tmp/rhoai-new répertoire, déplacez ce répertoire derrière le pare-feu.
  4. À partir d'un poste de travail client connecté à un registre de conteneurs privé :
    1. Connectez-vous au registre de conteneurs privé.

      La commande suivante suppose que vous utilisez un registre de conteneurs privé sécurisé par des informations d'identification :

      cpd-cli manage login-private-registry \
      ${PRIVATE_REGISTRY_LOCATION} \
      ${PRIVATE_REGISTRY_PUSH_USER} \
      ${PRIVATE_REGISTRY_PUSH_PASSWORD}
      Si votre registre privé n'est pas sécurisé, omettez les arguments suivants :
      • ${PRIVATE_REGISTRY_PUSH_USER}
      • ${PRIVATE_REGISTRY_PUSH_PASSWORD}
    2. Mettre en miroir les images du registre de conteneurs intermédiaire vers le registre de conteneurs privé.
      Conseil : déterminez si vous devez modifier le comportement de cette commande :
      • Par défaut, cette commande ne reflète que les images nécessaires à l'architecture de votre cluster. Si vous souhaitez mettre en miroir les images pour toutes les architectures prises en charge, supprimez --arch=${IMAGE_ARCH} l'option.
      • Cette commande met en miroir les images pour tous les composants spécifiés dans la variable ${COMPONENTS} d'environnement. Si vous souhaitez mettre en miroir les images d'un composant spécifique, vous pouvez exécuter export COMPONENTS=<component-ID> avant d'exécuter la commande.

      Vous devez reproduire les modèles ou les images facultatives
      cpd-cli manage mirror-images \
      --components=${COMPONENTS} \
      --groups=${IMAGE_GROUPS} \
      --release=${VERSION} \
      --source_registry=127.0.0.1:12443 \
      --target_registry=${PRIVATE_REGISTRY_LOCATION} \
      --arch=${IMAGE_ARCH} \
      --case_download=false

      Vous n'avez pas besoin de reproduire les modèles ou les images facultatives
      cpd-cli manage mirror-images \
      --components=${COMPONENTS} \
      --release=${VERSION} \
      --source_registry=127.0.0.1:12443 \
      --target_registry=${PRIVATE_REGISTRY_LOCATION} \
      --arch=${IMAGE_ARCH} \
      --case_download=false

      Pour chaque composant, la commande génère un fichier journal dans le work répertoire.

    3. Vérifiez que les images ont bien été copiées dans le registre de conteneurs privé :
      1. Inspectez le contenu du registre de conteneurs privé :
        cpd-cli manage list-images \
        --components=${COMPONENTS} \
        --release=${VERSION} \
        --target_registry=${PRIVATE_REGISTRY_LOCATION} \
        --case_download=false

        La sortie est enregistrée dans le list_images.csv fichier dans le work/offline/${VERSION} répertoire.

      2. Vérifiez qu'il n'y a pas d'erreurs dans la sortie :
        grep "level=fatal" list_images.csv

        La commande renvoie les images manquantes ou qui ne peuvent pas être inspectées.

    4. Si vous prévoyez d'installer un service dépendant du composant Inference foundation models (ibm-watsonx-ai-ifm), copiez les images vLLM requises du registre de conteneurs intermédiaire vers le registre de conteneurs privé.

      Les images que vous mettez en miroir dépendent des modèles que vous prévoyez d'installer.

      Modèles Mistral AI
      Si vous prévoyez d'installer l'un des modèles Mistral AI suivants, vous devez copier l'image d' vLLM requise dans le registre de conteneurs privé :
      • codestral-22b
      • codestral-2501
      • ministral-8b-instruct
      • mistral-large
      • mistral-large-instruct-2411
      • mistral-small-instruct
      • pixtral-large-instruct-2411
      skopeo copy --all \
      --src-tls-verify=false \
      --dest-username ${PRIVATE_REGISTRY_PUSH_USER} \
      --dest-password ${PRIVATE_REGISTRY_PUSH_PASSWORD} \
      --dest-tls-verify=false \
      docker://127.0.0.1:12443/cp/cpd/vllm@sha256:cc95bc7619549a5fb9342f8c41c613df5cd65b4e1f90b408db062559a2fdcff9 \
      docker://${PRIVATE_REGISTRY_LOCATION}/cp/cpd/vllm@sha256:cc95bc7619549a5fb9342f8c41c613df5cd65b4e1f90b408db062559a2fdcff9
      Tous les autres modèles
      Pour tous les autres modèles, vous devez copier l'image CUDA RHOAI vLLM dans le registre de conteneurs privé :
      skopeo copy --all \
      --src-tls-verify=false \
      --dest-username ${PRIVATE_REGISTRY_PUSH_USER} \
      --dest-password ${PRIVATE_REGISTRY_PUSH_PASSWORD} \
      --dest-tls-verify=false \
      dir://tmp/rhoai-new \
      docker://${PRIVATE_REGISTRY_LOCATION}/rhoai/odh-vllm-cuda-rhel9@sha256:fb84fbf103bf450ef5b060fc5f21a9cf16b166dba207a3c50aa91bccd919d604

Résultats

Les images pour votre architecture sont répercutées dans le registre de conteneurs privé.
Remarque : certains composants, tels que le cpfs composant, ne fournissent que des images multi-architectures. Pour les composants avec des images multi-architecture, toutes les images sont répliquées dans le registre de conteneurs privé.

Etape suivante

Maintenant que vous avez copié les images dans votre registre de conteneurs privé, vous êtes prêt à terminer l'extraction de l'image olm-utils-v4 à partir du registre de conteneurs privé (mise à niveau de la version 5.3.x vers une version ultérieure 5.3 refresh).