21.13. Mise en cache préalable des images pour les déploiements OpenShift à nœud unique


Dans les environnements où la bande passante est limitée et où vous utilisez la solution GitOps zero touch provisioning (ZTP) pour déployer un grand nombre de clusters, vous souhaitez éviter de télécharger toutes les images nécessaires au démarrage et à l'installation d'OpenShift Container Platform. La bande passante limitée sur les sites OpenShift distants à un seul nœud peut entraîner des délais de déploiement trop longs. L'outil factory-precaching-cli vous permet de pré-stager les serveurs avant de les envoyer au site distant pour le provisionnement ZTP.

L'outil factory-precaching-cli effectue les opérations suivantes :

  • Télécharge l'image RHCOS rootfs nécessaire au démarrage de l'ISO minimale.
  • Crée une partition à partir du disque d'installation sous le nom de data.
  • Formate le disque en xfs.
  • Crée une partition de données GUID Partition Table (GPT) à la fin du disque, la taille de la partition étant configurable par l'outil.
  • Copie les images de conteneurs nécessaires à l'installation d'OpenShift Container Platform.
  • Copie les images de conteneurs requises par ZTP pour installer OpenShift Container Platform.
  • Facultatif : Copie les opérateurs du jour 2 dans la partition.
Important

L'outil factory-precaching-cli est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas leur utilisation en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.

Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.

21.13.1. Obtenir l'outil factory-precaching-cli

Le binaire Go de l'outil factory-precaching-cli est disponible publiquement dans l'image conteneur des outils Telco RAN. Le binaire Go de l'outil factory-precaching-cli dans l'image du conteneur est exécuté sur le serveur exécutant une image RHCOS live à l'aide de podman. Si vous travaillez dans un environnement déconnecté ou si vous disposez d'un registre privé, vous devez y copier l'image afin de pouvoir la télécharger sur le serveur.

Procédure

  • Tirez l'image de l'outil factory-precaching-cli en exécutant la commande suivante :

    # podman pull quay.io/openshift-kni/telco-ran-tools:latest
    Copy to Clipboard Toggle word wrap

Vérification

  • Pour vérifier que l'outil est disponible, interrogez la version actuelle du binaire Go de l'outil factory-precaching-cli :

    # podman run quay.io/openshift-kni/telco-ran-tools:latest -- factory-precaching-cli -v
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    factory-precaching-cli version 20221018.120852+main.feecf17
    Copy to Clipboard Toggle word wrap

Vous pouvez utiliser l'outil factory-precaching-cli pour démarrer les serveurs lorsqu'un seul disque est disponible et qu'un lecteur de disque externe ne peut pas être connecté au serveur.

Avertissement

RHCOS exige que le disque ne soit pas utilisé lorsqu'il est sur le point d'être écrit avec une image RHCOS.

En fonction du matériel du serveur, vous pouvez monter l'ISO live RHCOS sur le serveur vierge en utilisant l'une des méthodes suivantes :

  • Utilisation de l'outil Dell RACADM sur un serveur Dell.
  • Utilisation de l'outil HPONCFG sur un serveur HP.
  • Utilisation de l'API Redfish BMC.
Note

Il est recommandé d'automatiser la procédure de montage. Pour automatiser la procédure, vous devez extraire les images requises et les héberger sur un serveur HTTP local.

Conditions préalables

  • Vous avez mis l'hôte sous tension.
  • Vous disposez d'une connectivité réseau avec l'hôte.
Procédure

Cet exemple de procédure utilise l'API Redfish BMC pour monter l'ISO live RHCOS.

  1. Monter l'ISO live RHCOS :

    1. Vérifier l'état des supports virtuels :

      $ curl --globoff -H "Content-Type: application/json" -H \
      "Accept: application/json" -k -X GET --user ${username_password} \
      https://$BMC_ADDRESS/redfish/v1/Managers/Self/VirtualMedia/1 | python -m json.tool
      Copy to Clipboard Toggle word wrap
    2. Monter le fichier ISO en tant que support virtuel :

      $ curl --globoff -L -w "%{http_code} %{url_effective}\\n" -ku ${username_password} -H "Content-Type: application/json" -H "Accept: application/json" -d '{"Image": "http://[$HTTPd_IP]/RHCOS-live.iso"}' -X POST https://$BMC_ADDRESS/redfish/v1/Managers/Self/VirtualMedia/1/Actions/VirtualMedia.InsertMedia
      Copy to Clipboard Toggle word wrap
    3. Définir l'ordre de démarrage pour démarrer une seule fois à partir du support virtuel :

      $ curl --globoff  -L -w "%{http_code} %{url_effective}\\n"  -ku ${username_password}  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"Boot":{ "BootSourceOverrideEnabled": "Once", "BootSourceOverrideTarget": "Cd", "BootSourceOverrideMode": "UEFI"}}' -X PATCH https://$BMC_ADDRESS/redfish/v1/Systems/Self
      Copy to Clipboard Toggle word wrap
  2. Redémarrez et assurez-vous que le serveur démarre à partir d'un support virtuel.

21.13.3. Partitionnement du disque

Pour exécuter le processus complet de pré-cache, vous devez démarrer à partir d'une ISO vivante et utiliser l'outil factory-precaching-cli à partir d'une image de conteneur pour partitionner et pré-cacher tous les artefacts nécessaires.

Un live ISO ou RHCOS live ISO est nécessaire car le disque ne doit pas être utilisé lorsque le système d'exploitation (RHCOS) est écrit sur le périphérique pendant le provisionnement. Cette procédure permet également d'activer des serveurs à disque unique.

Conditions préalables

  • Vous avez un disque qui n'est pas partitionné.
  • Vous avez accès à l'image quay.io/openshift-kni/telco-ran-tools:latest.
  • Vous disposez de suffisamment d'espace de stockage pour installer OpenShift Container Platform et mettre en pré-cache les images requises.

Procédure

  1. Vérifier que le disque est dégagé :

    # lsblk
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    loop0     7:0    0  93.8G  0 loop /run/ephemeral
    loop1     7:1    0 897.3M  1 loop /sysroot
    sr0      11:0    1   999M  0 rom  /run/media/iso
    nvme0n1 259:1    0   1.5T  0 disk
    Copy to Clipboard Toggle word wrap

  2. Effacer toutes les signatures de système de fichiers, de RAID ou de table de partition de l'appareil :

    # wipefs -a /dev/nvme0n1
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    /dev/nvme0n1: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20 50 41 52 54
    /dev/nvme0n1: 8 bytes were erased at offset 0x1749a955e00 (gpt): 45 46 49 20 50 41 52 54
    /dev/nvme0n1: 2 bytes were erased at offset 0x000001fe (PMBR): 55 aa
    Copy to Clipboard Toggle word wrap

Important

L'outil échoue si le disque n'est pas vide car il utilise la partition numéro 1 du périphérique pour la mise en cache des artefacts.

21.13.3.1. Création de la partition

Une fois que le périphérique est prêt, vous créez une partition unique et une table de partition GPT. La partition est automatiquement étiquetée comme data et créée à la fin du périphérique. Dans le cas contraire, la partition sera remplacée par la partition coreos-installer.

Important

L'adresse coreos-installer exige que la partition soit créée à la fin du périphérique et qu'elle soit étiquetée comme data. Ces deux conditions sont nécessaires pour sauvegarder la partition lors de l'écriture de l'image RHCOS sur le disque.

Conditions préalables

  • Le conteneur doit fonctionner en tant que privileged en raison du formatage des périphériques hôtes.
  • Vous devez monter le dossier /dev pour que le processus puisse être exécuté à l'intérieur du conteneur.

Procédure

Dans l'exemple suivant, la taille de la partition est de 250 GiB afin de permettre la mise en cache préalable du profil de l'UD pour les opérateurs du jour 2.

  1. Exécutez le conteneur en tant que privileged et partitionnez le disque :

    # podman run -v /dev:/dev --privileged \
    --rm quay.io/openshift-kni/telco-ran-tools:latest -- \
    factory-precaching-cli partition \ 
    1
    
    -d /dev/nvme0n1 \ 
    2
    
    -s 250 
    3
    Copy to Clipboard Toggle word wrap
    1
    Spécifie la fonction de partitionnement de l'outil factory-precaching-cli.
    2
    Définit le répertoire racine sur le disque.
    3
    Définit la taille du disque en Go.
  2. Vérifier les informations de stockage :

    # lsblk
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    loop0         7:0    0  93.8G  0 loop /run/ephemeral
    loop1         7:1    0 897.3M  1 loop /sysroot
    sr0          11:0    1   999M  0 rom  /run/media/iso
    nvme0n1     259:1    0   1.5T  0 disk
    └─nvme0n1p1 259:3    0   250G  0 part
    Copy to Clipboard Toggle word wrap

Vérification

Vous devez vérifier que les conditions suivantes sont remplies :

  • Le périphérique possède une table de partition GPT
  • La partition utilise les secteurs les plus récents de l'appareil.
  • La partition est correctement étiquetée comme data.

Interroger l'état du disque pour vérifier que le disque est partitionné comme prévu :

# gdisk -l /dev/nvme0n1
Copy to Clipboard Toggle word wrap

Exemple de sortie

GPT fdisk (gdisk) version 1.0.3

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/nvme0n1: 3125627568 sectors, 1.5 TiB
Model: Dell Express Flash PM1725b 1.6TB SFF
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): CB5A9D44-9B3C-4174-A5C1-C64957910B61
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 3125627534
Partitions will be aligned on 2048-sector boundaries
Total free space is 2601338846 sectors (1.2 TiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1      2601338880      3125627534   250.0 GiB   8300  data
Copy to Clipboard Toggle word wrap

21.13.3.2. Montage de la cloison

Après avoir vérifié que le disque est correctement partitionné, vous pouvez monter le périphérique sur /mnt.

Important

Il est recommandé de monter l'appareil sur /mnt car ce point de montage est utilisé lors de la préparation du ZTP.

  1. Vérifiez que la partition est formatée comme xfs:

    # lsblk -f /dev/nvme0n1
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME        FSTYPE LABEL UUID                                 MOUNTPOINT
    nvme0n1
    └─nvme0n1p1 xfs          1bee8ea4-d6cf-4339-b690-a76594794071
    Copy to Clipboard Toggle word wrap

  2. Monter la partition :

    # mount /dev/nvme0n1p1 /mnt/
    Copy to Clipboard Toggle word wrap

Vérification

  • Vérifiez que la partition est montée :

    # lsblk
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    loop0         7:0    0  93.8G  0 loop /run/ephemeral
    loop1         7:1    0 897.3M  1 loop /sysroot
    sr0          11:0    1   999M  0 rom  /run/media/iso
    nvme0n1     259:1    0   1.5T  0 disk
    └─nvme0n1p1 259:2    0   250G  0 part /var/mnt 
    1
    Copy to Clipboard Toggle word wrap

    1
    Le point de montage est /var/mnt car le dossier /mnt dans le RHCOS est un lien vers /var/mnt.

21.13.4. Téléchargement des images

L'outil factory-precaching-cli vous permet de télécharger les images suivantes sur votre serveur partitionné :

  • Images de la plate-forme OpenShift Container
  • Images de l'opérateur incluses dans le profil de l'unité distribuée (DU) pour les sites RAN 5G
  • Images d'opérateurs provenant de registres déconnectés
Note

La liste des images d'opérateurs disponibles peut varier selon les versions d'OpenShift Container Platform.

21.13.4.1. Téléchargement avec des travailleurs parallèles

L'outil factory-precaching-cli utilise des travailleurs parallèles pour télécharger plusieurs images simultanément. Vous pouvez configurer le nombre de travailleurs avec l'option --parallel ou -p. Le nombre par défaut est fixé à 80 % des processeurs disponibles sur le serveur.

Note

Votre shell de connexion peut être limité à un sous-ensemble de CPU, ce qui réduit les CPU disponibles pour le conteneur. Pour lever cette restriction, vous pouvez faire précéder vos commandes de taskset 0xffffffff, par exemple :

# taskset 0xffffffff podman run --rm quay.io/openshift-kni/telco-ran-tools:latest factory-precaching-cli download --help
Copy to Clipboard Toggle word wrap

Pour télécharger des images de conteneurs OpenShift Container Platform, vous devez connaître la version du moteur multicluster (MCE). Lorsque vous utilisez le drapeau --du-profile, vous devez également spécifier la version de Red Hat Advanced Cluster Management (RHACM) fonctionnant dans le hub cluster qui va provisionner l'OpenShift à nœud unique.

Conditions préalables

  • Vous avez installé RHACM et MCE.
  • Vous avez partitionné le périphérique de stockage.
  • Vous disposez de suffisamment d'espace pour les images sur le périphérique partitionné.
  • Vous avez connecté le serveur bare-metal à l'Internet.
  • Vous avez un secret de tirage valide.

Procédure

  1. Vérifiez la version de RHACM et de MCE en exécutant les commandes suivantes dans le cluster hub :

    $ oc get csv -A | grep -i advanced-cluster-management
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    open-cluster-management                            advanced-cluster-management.v2.6.3           Advanced Cluster Management for Kubernetes   2.6.3                 advanced-cluster-management.v2.6.3                Succeeded
    Copy to Clipboard Toggle word wrap

    $ oc get csv -A | grep -i multicluster-engine
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    multicluster-engine                                cluster-group-upgrades-operator.v0.0.3       cluster-group-upgrades-operator              0.0.3                                                                   Pending
    multicluster-engine                                multicluster-engine.v2.1.4                   multicluster engine for Kubernetes           2.1.4                 multicluster-engine.v2.0.3                        Succeeded
    multicluster-engine                                openshift-gitops-operator.v1.5.7             Red Hat OpenShift GitOps                     1.5.7                 openshift-gitops-operator.v1.5.6-0.1664915551.p   Succeeded
    multicluster-engine                                openshift-pipelines-operator-rh.v1.6.4       Red Hat OpenShift Pipelines                  1.6.4                 openshift-pipelines-operator-rh.v1.6.3            Succeeded
    Copy to Clipboard Toggle word wrap

  2. Pour accéder au registre des conteneurs, copiez un secret d'extraction valide sur le serveur à installer :

    1. Créez le dossier .docker:

      $ mkdir /root/.docker
      Copy to Clipboard Toggle word wrap
    2. Copiez le tirage valide du fichier config.json dans le dossier .docker/ précédemment créé :

      $ cp config.json /root/.docker/config.json 
      1
      Copy to Clipboard Toggle word wrap
      1
      /root/.docker/config.json est le chemin par défaut où podman vérifie les identifiants de connexion au registre.
Note

Si vous utilisez un registre différent pour extraire les artefacts requis, vous devez copier le secret d'extraction approprié. Si le registre local utilise TLS, vous devez également inclure les certificats du registre.

L'outil factory-precaching-cli permet de pré-cacher toutes les images de conteneurs nécessaires au provisionnement d'une version spécifique d'OpenShift Container Platform.

Procédure

  • Pré-cachez la version en exécutant la commande suivante :

    # podman run -v /mnt:/mnt -v /root/.docker:/root/.docker --privileged --rm quay.io/openshift-kni/telco-ran-tools -- \
       factory-precaching-cli download \ 
    1
    
       -r 4.12.0 \ 
    2
    
       --acm-version 2.6.3 \ 
    3
    
       --mce-version 2.1.4 \ 
    4
    
       -f /mnt \ 
    5
    
       --img quay.io/custom/repository 
    6
    Copy to Clipboard Toggle word wrap
    1
    Spécifie la fonction de téléchargement de l'outil factory-precaching-cli.
    2
    Définit la version d'OpenShift Container Platform.
    3
    Définit la version de RHACM.
    4
    Définit la version du MCE.
    5
    Définit le dossier dans lequel vous souhaitez télécharger les images sur le disque.
    6
    Facultatif. Définit le référentiel dans lequel vous stockez vos images supplémentaires. Ces images sont téléchargées et mises en cache sur le disque.

    Exemple de sortie

    Generated /mnt/imageset.yaml
    Generating list of pre-cached artifacts...
    Processing artifact [1/176]: ocp-v4.0-art-dev@sha256_6ac2b96bf4899c01a87366fd0feae9f57b1b61878e3b5823da0c3f34f707fbf5
    Processing artifact [2/176]: ocp-v4.0-art-dev@sha256_f48b68d5960ba903a0d018a10544ae08db5802e21c2fa5615a14fc58b1c1657c
    Processing artifact [3/176]: ocp-v4.0-art-dev@sha256_a480390e91b1c07e10091c3da2257180654f6b2a735a4ad4c3b69dbdb77bbc06
    Processing artifact [4/176]: ocp-v4.0-art-dev@sha256_ecc5d8dbd77e326dba6594ff8c2d091eefbc4d90c963a9a85b0b2f0e6155f995
    Processing artifact [5/176]: ocp-v4.0-art-dev@sha256_274b6d561558a2f54db08ea96df9892315bb773fc203b1dbcea418d20f4c7ad1
    Processing artifact [6/176]: ocp-v4.0-art-dev@sha256_e142bf5020f5ca0d1bdda0026bf97f89b72d21a97c9cc2dc71bf85050e822bbf
    ...
    Processing artifact [175/176]: ocp-v4.0-art-dev@sha256_16cd7eda26f0fb0fc965a589e1e96ff8577e560fcd14f06b5fda1643036ed6c8
    Processing artifact [176/176]: ocp-v4.0-art-dev@sha256_cf4d862b4a4170d4f611b39d06c31c97658e309724f9788e155999ae51e7188f
    ...
    Summary:
    
    Release:                            4.12.0
    Hub Version:                        2.6.3
    ACM Version:                        2.6.3
    MCE Version:                        2.1.4
    Include DU Profile:                 No
    Workers:                            83
    Copy to Clipboard Toggle word wrap

Vérification

  • Vérifiez que toutes les images sont compressées dans le dossier cible du serveur :

    $ ls -l /mnt 
    1
    Copy to Clipboard Toggle word wrap
    1
    Il est recommandé de mettre les images en pré-cache dans le dossier /mnt.

    Exemple de sortie

    -rw-r--r--. 1 root root  136352323 Oct 31 15:19 ocp-v4.0-art-dev@sha256_edec37e7cd8b1611d0031d45e7958361c65e2005f145b471a8108f1b54316c07.tgz
    -rw-r--r--. 1 root root  156092894 Oct 31 15:33 ocp-v4.0-art-dev@sha256_ee51b062b9c3c9f4fe77bd5b3cc9a3b12355d040119a1434425a824f137c61a9.tgz
    -rw-r--r--. 1 root root  172297800 Oct 31 15:29 ocp-v4.0-art-dev@sha256_ef23d9057c367a36e4a5c4877d23ee097a731e1186ed28a26c8d21501cd82718.tgz
    -rw-r--r--. 1 root root  171539614 Oct 31 15:23 ocp-v4.0-art-dev@sha256_f0497bb63ef6834a619d4208be9da459510df697596b891c0c633da144dbb025.tgz
    -rw-r--r--. 1 root root  160399150 Oct 31 15:20 ocp-v4.0-art-dev@sha256_f0c339da117cde44c9aae8d0bd054bceb6f19fdb191928f6912a703182330ac2.tgz
    -rw-r--r--. 1 root root  175962005 Oct 31 15:17 ocp-v4.0-art-dev@sha256_f19dd2e80fb41ef31d62bb8c08b339c50d193fdb10fc39cc15b353cbbfeb9b24.tgz
    -rw-r--r--. 1 root root  174942008 Oct 31 15:33 ocp-v4.0-art-dev@sha256_f1dbb81fa1aa724e96dd2b296b855ff52a565fbef003d08030d63590ae6454df.tgz
    -rw-r--r--. 1 root root  246693315 Oct 31 15:31 ocp-v4.0-art-dev@sha256_f44dcf2c94e4fd843cbbf9b11128df2ba856cd813786e42e3da1fdfb0f6ddd01.tgz
    -rw-r--r--. 1 root root  170148293 Oct 31 15:00 ocp-v4.0-art-dev@sha256_f48b68d5960ba903a0d018a10544ae08db5802e21c2fa5615a14fc58b1c1657c.tgz
    -rw-r--r--. 1 root root  168899617 Oct 31 15:16 ocp-v4.0-art-dev@sha256_f5099b0989120a8d08a963601214b5c5cb23417a707a8624b7eb52ab788a7f75.tgz
    -rw-r--r--. 1 root root  176592362 Oct 31 15:05 ocp-v4.0-art-dev@sha256_f68c0e6f5e17b0b0f7ab2d4c39559ea89f900751e64b97cb42311a478338d9c3.tgz
    -rw-r--r--. 1 root root  157937478 Oct 31 15:37 ocp-v4.0-art-dev@sha256_f7ba33a6a9db9cfc4b0ab0f368569e19b9fa08f4c01a0d5f6a243d61ab781bd8.tgz
    -rw-r--r--. 1 root root  145535253 Oct 31 15:26 ocp-v4.0-art-dev@sha256_f8f098911d670287826e9499806553f7a1dd3e2b5332abbec740008c36e84de5.tgz
    -rw-r--r--. 1 root root  158048761 Oct 31 15:40 ocp-v4.0-art-dev@sha256_f914228ddbb99120986262168a705903a9f49724ffa958bb4bf12b2ec1d7fb47.tgz
    -rw-r--r--. 1 root root  167914526 Oct 31 15:37 ocp-v4.0-art-dev@sha256_fa3ca9401c7a9efda0502240aeb8d3ae2d239d38890454f17fe5158b62305010.tgz
    -rw-r--r--. 1 root root  164432422 Oct 31 15:24 ocp-v4.0-art-dev@sha256_fc4783b446c70df30b3120685254b40ce13ba6a2b0bf8fb1645f116cf6a392f1.tgz
    -rw-r--r--. 1 root root  306643814 Oct 31 15:11 troubleshoot@sha256_b86b8aea29a818a9c22944fd18243fa0347c7a2bf1ad8864113ff2bb2d8e0726.tgz
    Copy to Clipboard Toggle word wrap

21.13.4.4. Téléchargement des images de l'opérateur

Vous pouvez également mettre en pré-cache les opérateurs Day-2 utilisés dans la configuration du cluster 5G Radio Access Network (RAN) Distributed Unit (DU). Les opérateurs Day-2 dépendent de la version installée d'OpenShift Container Platform.

Important

Vous devez inclure les versions du hub RHACM et de l'opérateur MCE en utilisant les drapeaux --acm-version et --mce-version afin que l'outil factory-precaching-cli puisse pré-cacher les images de conteneurs appropriées pour les opérateurs RHACM et MCE.

Procédure

  • Prémettre en cache les images de l'opérateur :

    # podman run -v /mnt:/mnt -v /root/.docker:/root/.docker --privileged --rm quay.io/openshift-kni/telco-ran-tools:latest -- factory-precaching-cli download \ 
    1
    
       -r 4.12.0 \ 
    2
    
       --acm-version 2.6.3 \ 
    3
    
       --mce-version 2.1.4 \ 
    4
    
       -f /mnt \ 
    5
    
       --img quay.io/custom/repository 
    6
    
       --du-profile -s 
    7
    Copy to Clipboard Toggle word wrap
    1
    Spécifie la fonction de téléchargement de l'outil factory-precaching-cli.
    2
    Définit la version d'OpenShift Container Platform.
    3
    Définit la version de RHACM.
    4
    Définit la version du MCE.
    5
    Définit le dossier dans lequel vous souhaitez télécharger les images sur le disque.
    6
    Facultatif. Définit le référentiel dans lequel vous stockez vos images supplémentaires. Ces images sont téléchargées et mises en cache sur le disque.
    7
    Spécifie la mise en cache préalable des opérateurs inclus dans la configuration de l'UD.

    Exemple de sortie

    Generated /mnt/imageset.yaml
    Generating list of pre-cached artifacts...
    Processing artifact [1/379]: ocp-v4.0-art-dev@sha256_7753a8d9dd5974be8c90649aadd7c914a3d8a1f1e016774c7ac7c9422e9f9958
    Processing artifact [2/379]: ose-kube-rbac-proxy@sha256_c27a7c01e5968aff16b6bb6670423f992d1a1de1a16e7e260d12908d3322431c
    Processing artifact [3/379]: ocp-v4.0-art-dev@sha256_370e47a14c798ca3f8707a38b28cfc28114f492bb35fe1112e55d1eb51022c99
    ...
    Processing artifact [378/379]: ose-local-storage-operator@sha256_0c81c2b79f79307305e51ce9d3837657cf9ba5866194e464b4d1b299f85034d0
    Processing artifact [379/379]: multicluster-operators-channel-rhel8@sha256_c10f6bbb84fe36e05816e873a72188018856ad6aac6cc16271a1b3966f73ceb3
    ...
    Summary:
    
    Release:                            4.12.0
    Hub Version:                        2.6.3
    ACM Version:                        2.6.3
    MCE Version:                        2.1.4
    Include DU Profile:                 Yes
    Workers:                            83
    Copy to Clipboard Toggle word wrap

L'argument --generate-imageset arrête l'outil factory-precaching-cli après que la ressource personnalisée (CR) ImageSetConfiguration a été générée. Cela vous permet de personnaliser la CR ImageSetConfiguration avant de télécharger des images. Après avoir personnalisé la CR, vous pouvez utiliser l'argument --skip-imageset pour télécharger les images que vous avez spécifiées dans la CR ImageSetConfiguration.

Vous pouvez personnaliser le ImageSetConfiguration CR de la manière suivante :

  • Ajouter des opérateurs et des images supplémentaires
  • Supprimer les opérateurs et les images supplémentaires
  • Modifier les sources de l'opérateur et du catalogue pour les remplacer par des registres locaux ou déconnectés

Procédure

  1. Prémettre les images en cache :

    # podman run -v /mnt:/mnt -v /root/.docker:/root/.docker --privileged --rm quay.io/openshift-kni/telco-ran-tools:latest -- factory-precaching-cli download \ 
    1
    
       -r 4.12.0 \ 
    2
    
       --acm-version 2.6.3 \ 
    3
    
       --mce-version 2.1.4 \ 
    4
    
       -f /mnt \ 
    5
    
       --img quay.io/custom/repository 
    6
    
       --du-profile -s \ 
    7
    
       --generate-imageset 
    8
    Copy to Clipboard Toggle word wrap
    1
    Spécifie la fonction de téléchargement de l'outil factory-precaching-cli.
    2
    Définit la version d'OpenShift Container Platform.
    3
    Définit la version de RHACM.
    4
    Définit la version du MCE.
    5
    Définit le dossier dans lequel vous souhaitez télécharger les images sur le disque.
    6
    Facultatif. Définit le référentiel dans lequel vous stockez vos images supplémentaires. Ces images sont téléchargées et mises en cache sur le disque.
    7
    Spécifie la mise en cache préalable des opérateurs inclus dans la configuration de l'UD.
    8
    L'argument --generate-imageset génère uniquement le CR ImageSetConfiguration, ce qui vous permet de personnaliser le CR.

    Exemple de sortie

    Generated /mnt/imageset.yaml
    Copy to Clipboard Toggle word wrap

    Exemple ImageSetConfiguration CR

    apiVersion: mirror.openshift.io/v1alpha2
    kind: ImageSetConfiguration
    mirror:
      platform:
        channels:
        - name: stable-4.12
          minVersion: 4.12.0 
    1
    
          maxVersion: 4.12.0
      additionalImages:
        - name: quay.io/custom/repository
      operators:
        - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.12
          packages:
            - name: advanced-cluster-management 
    2
    
              channels:
                 - name: 'release-2.6'
                   minVersion: 2.6.3
                   maxVersion: 2.6.3
            - name: multicluster-engine 
    3
    
              channels:
                 - name: 'stable-2.1'
                   minVersion: 2.1.4
                   maxVersion: 2.1.4
            - name: local-storage-operator 
    4
    
              channels:
                - name: 'stable'
            - name: ptp-operator 
    5
    
              channels:
                - name: 'stable'
            - name: sriov-network-operator 
    6
    
              channels:
                - name: 'stable'
            - name: cluster-logging 
    7
    
              channels:
                - name: 'stable'
            - name: lvms-operator 
    8
    
              channels:
                - name: 'stable-4.12'
            - name: amq7-interconnect-operator 
    9
    
              channels:
                - name: '1.10.x'
            - name: bare-metal-event-relay 
    10
    
              channels:
                - name: 'stable'
        - catalog: registry.redhat.io/redhat/certified-operator-index:v4.12
          packages:
            - name: sriov-fec 
    11
    
              channels:
                - name: 'stable'
    Copy to Clipboard Toggle word wrap

    1
    Les versions de la plate-forme correspondent aux versions transmises à l'outil.
    2 3
    Les versions des opérateurs RHACM et MCE correspondent aux versions transmises à l'outil.
    4 5 6 7 8 9 10 11
    Le CR contient tous les opérateurs DU spécifiés.
  2. Personnaliser la ressource du catalogue dans le CR :

    apiVersion: mirror.openshift.io/v1alpha2
    kind: ImageSetConfiguration
    mirror:
      platform:
    [...]
      operators:
        - catalog: eko4.cloud.lab.eng.bos.redhat.com:8443/redhat/certified-operator-index:v4.12
          packages:
            - name: sriov-fec
              channels:
                - name: 'stable'
    Copy to Clipboard Toggle word wrap

    Lorsque vous téléchargez des images en utilisant un registre local ou déconnecté, vous devez d'abord ajouter des certificats pour les registres dont vous voulez extraire le contenu.

  3. Pour éviter toute erreur, copiez le certificat de registre dans votre serveur :

    # cp /tmp/eko4-ca.crt /etc/pki/ca-trust/source/anchors/.
    Copy to Clipboard Toggle word wrap
  4. Ensuite, mettez à jour la liste de confiance des certificats :

    # update-ca-trust
    Copy to Clipboard Toggle word wrap
  5. Monter le dossier de l'hôte /etc/pki dans l'image factory-cli :

    # podman run -v /mnt:/mnt -v /root/.docker:/root/.docker -v /etc/pki:/etc/pki --privileged --rm quay.io/openshift-kni/telco-ran-tools:latest -- \
    factory-precaching-cli download \ 
    1
    
       -r 4.12.0 \ 
    2
    
       --acm-version 2.6.3 \ 
    3
    
       --mce-version 2.1.4 \ 
    4
    
       -f /mnt \ 
    5
    
       --img quay.io/custom/repository 
    6
    
       --du-profile -s \ 
    7
    
       --skip-imageset 
    8
    Copy to Clipboard Toggle word wrap
    1
    Spécifie la fonction de téléchargement de l'outil factory-precaching-cli.
    2
    Définit la version d'OpenShift Container Platform.
    3
    Définit la version de RHACM.
    4
    Définit la version du MCE.
    5
    Définit le dossier dans lequel vous souhaitez télécharger les images sur le disque.
    6
    Facultatif. Définit le référentiel dans lequel vous stockez vos images supplémentaires. Ces images sont téléchargées et mises en cache sur le disque.
    7
    Spécifie la mise en cache préalable des opérateurs inclus dans la configuration de l'UD.
    8
    L'argument --skip-imageset vous permet de télécharger les images que vous avez spécifiées dans votre CR personnalisé ImageSetConfiguration.
  6. Télécharger les images sans générer un nouveau CR imageSetConfiguration:

    # podman run -v /mnt:/mnt -v /root/.docker:/root/.docker --privileged --rm quay.io/openshift-kni/telco-ran-tools:latest -- factory-precaching-cli download -r 4.12.0 \
    --acm-version 2.6.3 --mce-version 2.1.4 -f /mnt \
    --img quay.io/custom/repository \
    --du-profile -s \
    --skip-imageset
    Copy to Clipboard Toggle word wrap

21.13.5. Mise en cache préalable des images dans ZTP

Le manifeste SiteConfig définit comment un cluster OpenShift doit être installé et configuré. Dans le flux de travail de provisionnement ZTP, l'outil factory-precaching-cli requiert les champs supplémentaires suivants dans le manifeste SiteConfig:

  • clusters.ignitionConfigOverride
  • nodes.installerArgs
  • nodes.ignitionConfigOverride

Exemple de SiteConfig avec des champs supplémentaires

apiVersion: ran.openshift.io/v1
kind: SiteConfig
metadata:
  name: "example-5g-lab"
  namespace: "example-5g-lab"
spec:
  baseDomain: "example.domain.redhat.com"
  pullSecretRef:
    name: "assisted-deployment-pull-secret"
  clusterImageSetNameRef: "img4.9.10-x86-64-appsub"
  sshPublicKey: "ssh-rsa ..."
  clusters:
  - clusterName: "sno-worker-0"
    clusterImageSetNameRef: "eko4-img4.11.5-x86-64-appsub"
    clusterLabels:
      group-du-sno: ""
      common-411: true
      sites : "example-5g-lab"
      vendor: "OpenShift"
    clusterNetwork:
      - cidr: 10.128.0.0/14
        hostPrefix: 23
    machineNetwork:
      - cidr: 10.19.32.192/26
    serviceNetwork:
      - 172.30.0.0/16
    networkType: "OVNKubernetes"
    additionalNTPSources:
      - clock.corp.redhat.com
    ignitionConfigOverride: '{"ignition":{"version":"3.1.0"},"systemd":{"units":[{"name":"var-mnt.mount","enabled":true,"contents":"[Unit]\nDescription=Mount partition with artifacts\nBefore=precache-images.service\nBindsTo=precache-images.service\nStopWhenUnneeded=true\n\n[Mount]\nWhat=/dev/disk/by-partlabel/data\nWhere=/var/mnt\nType=xfs\nTimeoutSec=30\n\n[Install]\nRequiredBy=precache-images.service"},{"name":"precache-images.service","enabled":true,"contents":"[Unit]\nDescription=Extracts the precached images in discovery stage\nAfter=var-mnt.mount\nBefore=agent.service\n\n[Service]\nType=oneshot\nUser=root\nWorkingDirectory=/var/mnt\nExecStart=bash /usr/local/bin/extract-ai.sh\n#TimeoutStopSec=30\n\n[Install]\nWantedBy=multi-user.target default.target\nWantedBy=agent.service"}]},"storage":{"files":[{"overwrite":true,"path":"/usr/local/bin/extract-ai.sh","mode":755,"user":{"name":"root"},"contents":{"source":"data:,%23%21%2Fbin%2Fbash%0A%0AFOLDER%3D%22%24%7BFOLDER%3A-%24%28pwd%29%7D%22%0AOCP_RELEASE_LIST%3D%22%24%7BOCP_RELEASE_LIST%3A-ai-images.txt%7D%22%0ABINARY_FOLDER%3D%2Fvar%2Fmnt%0A%0Apushd%20%24FOLDER%0A%0Atotal_copies%3D%24%28sort%20-u%20%24BINARY_FOLDER%2F%24OCP_RELEASE_LIST%20%7C%20wc%20-l%29%20%20%23%20Required%20to%20keep%20track%20of%20the%20pull%20task%20vs%20total%0Acurrent_copy%3D1%0A%0Awhile%20read%20-r%20line%3B%0Ado%0A%20%20uri%3D%24%28echo%20%22%24line%22%20%7C%20awk%20%27%7Bprint%241%7D%27%29%0A%20%20%23tar%3D%24%28echo%20%22%24line%22%20%7C%20awk%20%27%7Bprint%242%7D%27%29%0A%20%20podman%20image%20exists%20%24uri%0A%20%20if%20%5B%5B%20%24%3F%20-eq%200%20%5D%5D%3B%20then%0A%20%20%20%20%20%20echo%20%22Skipping%20existing%20image%20%24tar%22%0A%20%20%20%20%20%20echo%20%22Copying%20%24%7Buri%7D%20%5B%24%7Bcurrent_copy%7D%2F%24%7Btotal_copies%7D%5D%22%0A%20%20%20%20%20%20current_copy%3D%24%28%28current_copy%20%2B%201%29%29%0A%20%20%20%20%20%20continue%0A%20%20fi%0A%20%20tar%3D%24%28echo%20%22%24uri%22%20%7C%20%20rev%20%7C%20cut%20-d%20%22%2F%22%20-f1%20%7C%20rev%20%7C%20tr%20%22%3A%22%20%22_%22%29%0A%20%20tar%20zxvf%20%24%7Btar%7D.tgz%0A%20%20if%20%5B%20%24%3F%20-eq%200%20%5D%3B%20then%20rm%20-f%20%24%7Btar%7D.gz%3B%20fi%0A%20%20echo%20%22Copying%20%24%7Buri%7D%20%5B%24%7Bcurrent_copy%7D%2F%24%7Btotal_copies%7D%5D%22%0A%20%20skopeo%20copy%20dir%3A%2F%2F%24%28pwd%29%2F%24%7Btar%7D%20containers-storage%3A%24%7Buri%7D%0A%20%20if%20%5B%20%24%3F%20-eq%200%20%5D%3B%20then%20rm%20-rf%20%24%7Btar%7D%3B%20current_copy%3D%24%28%28current_copy%20%2B%201%29%29%3B%20fi%0Adone%20%3C%20%24%7BBINARY_FOLDER%7D%2F%24%7BOCP_RELEASE_LIST%7D%0A%0A%23%20workaround%20while%20https%3A%2F%2Fgithub.com%2Fopenshift%2Fassisted-service%2Fpull%2F3546%0A%23cp%20%2Fvar%2Fmnt%2Fmodified-rhcos-4.10.3-x86_64-metal.x86_64.raw.gz%20%2Fvar%2Ftmp%2F.%0A%0Aexit%200"}},{"overwrite":true,"path":"/usr/local/bin/agent-fix-bz1964591","mode":755,"user":{"name":"root"},"contents":{"source":"data:,%23%21%2Fusr%2Fbin%2Fsh%0A%0A%23%20This%20script%20is%20a%20workaround%20for%20bugzilla%201964591%20where%20symlinks%20inside%20%2Fvar%2Flib%2Fcontainers%2F%20get%0A%23%20corrupted%20under%20some%20circumstances.%0A%23%0A%23%20In%20order%20to%20let%20agent.service%20start%20correctly%20we%20are%20checking%20here%20whether%20the%20requested%0A%23%20container%20image%20exists%20and%20in%20case%20%22podman%20images%22%20returns%20an%20error%20we%20try%20removing%20the%20faulty%0A%23%20image.%0A%23%0A%23%20In%20such%20a%20scenario%20agent.service%20will%20detect%20the%20image%20is%20not%20present%20and%20pull%20it%20again.%20In%20case%0A%23%20the%20image%20is%20present%20and%20can%20be%20detected%20correctly%2C%20no%20any%20action%20is%20required.%0A%0AIMAGE%3D%24%28echo%20%241%20%7C%20sed%20%27s%2F%3A.%2A%2F%2F%27%29%0Apodman%20image%20exists%20%24IMAGE%20%7C%7C%20echo%20%22already%20loaded%22%20%7C%7C%20echo%20%22need%20to%20be%20pulled%22%0A%23podman%20images%20%7C%20grep%20%24IMAGE%20%7C%7C%20podman%20rmi%20--force%20%241%20%7C%7C%20true"}}]}}'
    nodes:
      - hostName: "snonode.sno-worker-0.example.domain.redhat.com"
        role: "master"
        bmcAddress: "idrac-virtualmedia+https://10.19.28.53/redfish/v1/Systems/System.Embedded.1"
        bmcCredentialsName:
          name: "worker0-bmh-secret"
        bootMACAddress: "e4:43:4b:bd:90:46"
        bootMode: "UEFI"
        rootDeviceHints:
          deviceName: /dev/nvme0n1
        cpuset: "0-1,40-41"
        installerArgs: '["--save-partlabel", "data"]'
        ignitionConfigOverride: '{"ignition":{"version":"3.1.0"},"systemd":{"units":[{"name":"var-mnt.mount","enabled":true,"contents":"[Unit]\nDescription=Mount partition with artifacts\nBefore=precache-ocp-images.service\nBindsTo=precache-ocp-images.service\nStopWhenUnneeded=true\n\n[Mount]\nWhat=/dev/disk/by-partlabel/data\nWhere=/var/mnt\nType=xfs\nTimeoutSec=30\n\n[Install]\nRequiredBy=precache-ocp-images.service"},{"name":"precache-ocp-images.service","enabled":true,"contents":"[Unit]\nDescription=Extracts the precached OCP images into containers storage\nAfter=var-mnt.mount\nBefore=machine-config-daemon-pull.service nodeip-configuration.service\n\n[Service]\nType=oneshot\nUser=root\nWorkingDirectory=/var/mnt\nExecStart=bash /usr/local/bin/extract-ocp.sh\nTimeoutStopSec=60\n\n[Install]\nWantedBy=multi-user.target"}]},"storage":{"files":[{"overwrite":true,"path":"/usr/local/bin/extract-ocp.sh","mode":755,"user":{"name":"root"},"contents":{"source":"data:,%23%21%2Fbin%2Fbash%0A%0AFOLDER%3D%22%24%7BFOLDER%3A-%24%28pwd%29%7D%22%0AOCP_RELEASE_LIST%3D%22%24%7BOCP_RELEASE_LIST%3A-ocp-images.txt%7D%22%0ABINARY_FOLDER%3D%2Fvar%2Fmnt%0A%0Apushd%20%24FOLDER%0A%0Atotal_copies%3D%24%28sort%20-u%20%24BINARY_FOLDER%2F%24OCP_RELEASE_LIST%20%7C%20wc%20-l%29%20%20%23%20Required%20to%20keep%20track%20of%20the%20pull%20task%20vs%20total%0Acurrent_copy%3D1%0A%0Awhile%20read%20-r%20line%3B%0Ado%0A%20%20uri%3D%24%28echo%20%22%24line%22%20%7C%20awk%20%27%7Bprint%241%7D%27%29%0A%20%20%23tar%3D%24%28echo%20%22%24line%22%20%7C%20awk%20%27%7Bprint%242%7D%27%29%0A%20%20podman%20image%20exists%20%24uri%0A%20%20if%20%5B%5B%20%24%3F%20-eq%200%20%5D%5D%3B%20then%0A%20%20%20%20%20%20echo%20%22Skipping%20existing%20image%20%24tar%22%0A%20%20%20%20%20%20echo%20%22Copying%20%24%7Buri%7D%20%5B%24%7Bcurrent_copy%7D%2F%24%7Btotal_copies%7D%5D%22%0A%20%20%20%20%20%20current_copy%3D%24%28%28current_copy%20%2B%201%29%29%0A%20%20%20%20%20%20continue%0A%20%20fi%0A%20%20tar%3D%24%28echo%20%22%24uri%22%20%7C%20%20rev%20%7C%20cut%20-d%20%22%2F%22%20-f1%20%7C%20rev%20%7C%20tr%20%22%3A%22%20%22_%22%29%0A%20%20tar%20zxvf%20%24%7Btar%7D.tgz%0A%20%20if%20%5B%20%24%3F%20-eq%200%20%5D%3B%20then%20rm%20-f%20%24%7Btar%7D.gz%3B%20fi%0A%20%20echo%20%22Copying%20%24%7Buri%7D%20%5B%24%7Bcurrent_copy%7D%2F%24%7Btotal_copies%7D%5D%22%0A%20%20skopeo%20copy%20dir%3A%2F%2F%24%28pwd%29%2F%24%7Btar%7D%20containers-storage%3A%24%7Buri%7D%0A%20%20if%20%5B%20%24%3F%20-eq%200%20%5D%3B%20then%20rm%20-rf%20%24%7Btar%7D%3B%20current_copy%3D%24%28%28current_copy%20%2B%201%29%29%3B%20fi%0Adone%20%3C%20%24%7BBINARY_FOLDER%7D%2F%24%7BOCP_RELEASE_LIST%7D%0A%0Aexit%200"}}]}}'
        nodeNetwork:
          config:
            interfaces:
              - name: ens1f0
                type: ethernet
                state: up
                macAddress: "AA:BB:CC:11:22:33"
                ipv4:
                  enabled: true
                  dhcp: true
                ipv6:
                  enabled: false
          interfaces:
            - name: "ens1f0"
              macAddress: "AA:BB:CC:11:22:33"
Copy to Clipboard Toggle word wrap

21.13.5.1. Comprendre le champ clusters.ignitionConfigOverride

Le champ clusters.ignitionConfigOverride ajoute une configuration au format Ignition pendant la phase de découverte ZTP. La configuration inclut les services systemd dans l'ISO monté sur un support virtuel. De cette manière, les scripts font partie de l'ISO live RHCOS de découverte et peuvent être utilisés pour charger les images de l'installateur assisté (AI).

systemd services
Les services systemd sont var-mnt.mount et precache-images.services. Le service precache-images.service dépend de la partition de disque qui doit être montée dans /var/mnt par l'unité var-mnt.mount. Le service appelle un script appelé extract-ai.sh.
extract-ai.sh
Le script extract-ai.sh extrait et charge les images requises de la partition du disque vers le conteneur de stockage local. Lorsque le script se termine avec succès, vous pouvez utiliser les images localement.
agent-fix-bz1964591
Le script agent-fix-bz1964591 est une solution de contournement pour un problème lié à AI. Pour empêcher AI de supprimer les images, ce qui peut obliger agent.service à les extraire à nouveau du registre, le script agent-fix-bz1964591 vérifie si les images de conteneur demandées existent.

21.13.5.2. Comprendre le champ nodes.installerArgs

Le champ nodes.installerArgs vous permet de configurer la façon dont l'utilitaire coreos-installer écrit l'ISO live RHCOS sur le disque. Vous devez indiquer de sauvegarder la partition du disque intitulée data car les artefacts sauvegardés dans la partition data sont nécessaires lors de l'étape d'installation d'OpenShift Container Platform.

Les paramètres supplémentaires sont transmis directement à l'utilitaire coreos-installer qui écrit le RHCOS live sur le disque. Au prochain redémarrage, le système d'exploitation démarre à partir du disque.

Vous pouvez transmettre plusieurs options à l'utilitaire coreos-installer:

OPTIONS:
...
    -u, --image-url <URL>
            Manually specify the image URL

    -f, --image-file <path>
            Manually specify a local image file

    -i, --ignition-file <path>
            Embed an Ignition config from a file

    -I, --ignition-url <URL>
            Embed an Ignition config from a URL
...
        --save-partlabel <lx>...
            Save partitions with this label glob

        --save-partindex <id>...
            Save partitions with this number or range
...
        --insecure-ignition
            Allow Ignition URL without HTTPS or hash
Copy to Clipboard Toggle word wrap

21.13.5.3. Comprendre le champ nodes.ignitionConfigOverride

De manière similaire à clusters.ignitionConfigOverride, le champ nodes.ignitionConfigOverride permet d'ajouter des configurations au format Ignition à l'utilitaire coreos-installer, mais au stade de l'installation d'OpenShift Container Platform. Lorsque le RHCOS est écrit sur le disque, la configuration supplémentaire incluse dans l'ISO de découverte ZTP n'est plus disponible. Pendant la phase de découverte, la configuration supplémentaire est stockée dans la mémoire de l'OS live.

Note

À ce stade, le nombre d'images de conteneurs extraites et chargées est plus important qu'à l'étape de découverte. En fonction de la version d'OpenShift Container Platform et de l'installation ou non des Day-2 Operators, le temps d'installation peut varier.

Au stade de l'installation, les services var-mnt.mount et precache-ocp.services systemd sont utilisés.

precache-ocp.service

Le service precache-ocp.service dépend de la partition de disque qui doit être montée dans /var/mnt par l'unité var-mnt.mount. Le service precache-ocp.service appelle un script appelé extract-ocp.sh.

Important

Pour extraire toutes les images avant l'installation d'OpenShift Container Platform, vous devez exécuter precache-ocp.service avant d'exécuter les services machine-config-daemon-pull.service et nodeip-configuration.service.

extract-ocp.sh
Le script extract-ocp.sh extrait et charge les images requises de la partition du disque vers le conteneur de stockage local. Lorsque le script se termine avec succès, vous pouvez utiliser les images localement.

Lorsque vous avez téléchargé le site SiteConfig et les ressources personnalisées (CR) PolicyGenTemplates facultatives sur le dépôt Git, qu'Argo CD surveille, vous pouvez démarrer le flux de travail ZTP en synchronisant les CR avec le cluster du hub.

21.13.6. Résolution de problèmes

21.13.6.1. Le catalogue rendu n'est pas valide

Lorsque vous téléchargez des images en utilisant un registre local ou déconnecté, vous pouvez rencontrer l'erreur The rendered catalog is invalid. Cela signifie qu'il vous manque les certificats du nouveau registre dont vous voulez extraire le contenu.

Note

L'image de l'outil factory-precaching-cli est construite sur une image UBI RHEL. Les chemins et emplacements des certificats sont les mêmes sur RHCOS.

Exemple d'erreur

Generating list of pre-cached artifacts...
error: unable to run command oc-mirror -c /mnt/imageset.yaml file:///tmp/fp-cli-3218002584/mirror --ignore-history --dry-run: Creating directory: /tmp/fp-cli-3218002584/mirror/oc-mirror-workspace/src/publish
Creating directory: /tmp/fp-cli-3218002584/mirror/oc-mirror-workspace/src/v2
Creating directory: /tmp/fp-cli-3218002584/mirror/oc-mirror-workspace/src/charts
Creating directory: /tmp/fp-cli-3218002584/mirror/oc-mirror-workspace/src/release-signatures
backend is not configured in /mnt/imageset.yaml, using stateless mode
backend is not configured in /mnt/imageset.yaml, using stateless mode
No metadata detected, creating new workspace
level=info msg=trying next host error=failed to do request: Head "https://eko4.cloud.lab.eng.bos.redhat.com:8443/v2/redhat/redhat-operator-index/manifests/v4.11": x509: certificate signed by unknown authority host=eko4.cloud.lab.eng.bos.redhat.com:8443

The rendered catalog is invalid.

Run "oc-mirror list operators --catalog CATALOG-NAME --package PACKAGE-NAME" for more information.

error: error rendering new refs: render reference "eko4.cloud.lab.eng.bos.redhat.com:8443/redhat/redhat-operator-index:v4.11": error resolving name : failed to do request: Head "https://eko4.cloud.lab.eng.bos.redhat.com:8443/v2/redhat/redhat-operator-index/manifests/v4.11": x509: certificate signed by unknown authority
Copy to Clipboard Toggle word wrap

Procédure

  1. Copiez le certificat de registre dans votre serveur :

    # cp /tmp/eko4-ca.crt /etc/pki/ca-trust/source/anchors/.
    Copy to Clipboard Toggle word wrap
  2. Mettre à jour la liste de confiance des certificats :

    # update-ca-trust
    Copy to Clipboard Toggle word wrap
  3. Monter le dossier de l'hôte /etc/pki dans l'image factory-cli :

    # podman run -v /mnt:/mnt -v /root/.docker:/root/.docker -v /etc/pki:/etc/pki --privileged -it --rm quay.io/openshift-kni/telco-ran-tools:latest -- \
    factory-precaching-cli download -r 4.11.5 --acm-version 2.5.4 \
       --mce-version 2.0.4 -f /mnt \--img quay.io/custom/repository
       --du-profile -s --skip-imageset
    Copy to Clipboard Toggle word wrap
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2026 Red Hat