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.
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 Copier lienLien copié sur presse-papiers!
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
# podman pull quay.io/openshift-kni/telco-ran-tools:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
# podman run quay.io/openshift-kni/telco-ran-tools:latest -- factory-precaching-cli -vCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
factory-precaching-cli version 20221018.120852+main.feecf17
factory-precaching-cli version 20221018.120852+main.feecf17Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21.13.2. Démarrage à partir d'une image live du système d'exploitation Copier lienLien copié sur presse-papiers!
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.
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.
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.
Cet exemple de procédure utilise l'API Redfish BMC pour monter l'ISO live RHCOS.
Monter l'ISO live RHCOS :
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$ 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.toolCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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$ 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.InsertMediaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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$ 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/SelfCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Redémarrez et assurez-vous que le serveur démarre à partir d'un support virtuel.
21.13.3. Partitionnement du disque Copier lienLien copié sur presse-papiers!
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
Vérifier que le disque est dégagé :
lsblk
# lsblkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
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 diskCopy to Clipboard Copied! Toggle word wrap Toggle overflow Effacer toutes les signatures de système de fichiers, de RAID ou de table de partition de l'appareil :
wipefs -a /dev/nvme0n1
# wipefs -a /dev/nvme0n1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
/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 aaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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 Copier lienLien copié sur presse-papiers!
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.
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
privilegeden raison du formatage des périphériques hôtes. -
Vous devez monter le dossier
/devpour 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.
Exécutez le conteneur en tant que
privilegedet partitionnez le disque :podman run -v /dev:/dev --privileged \ --rm quay.io/openshift-kni/telco-ran-tools:latest -- \ factory-precaching-cli partition \ -d /dev/nvme0n1 \ -s 250
# 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 2503 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifier les informations de stockage :
lsblk
# lsblkCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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
# gdisk -l /dev/nvme0n1
Exemple de sortie
21.13.3.2. Montage de la cloison Copier lienLien copié sur presse-papiers!
Après avoir vérifié que le disque est correctement partitionné, vous pouvez monter le périphérique sur /mnt.
Il est recommandé de monter l'appareil sur /mnt car ce point de montage est utilisé lors de la préparation du ZTP.
Vérifiez que la partition est formatée comme
xfs:lsblk -f /dev/nvme0n1
# lsblk -f /dev/nvme0n1Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME FSTYPE LABEL UUID MOUNTPOINT nvme0n1 └─nvme0n1p1 xfs 1bee8ea4-d6cf-4339-b690-a76594794071
NAME FSTYPE LABEL UUID MOUNTPOINT nvme0n1 └─nvme0n1p1 xfs 1bee8ea4-d6cf-4339-b690-a76594794071Copy to Clipboard Copied! Toggle word wrap Toggle overflow Monter la partition :
mount /dev/nvme0n1p1 /mnt/
# mount /dev/nvme0n1p1 /mnt/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Vérification
Vérifiez que la partition est montée :
lsblk
# lsblkCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le point de montage est
/var/mntcar le dossier/mntdans le RHCOS est un lien vers/var/mnt.
21.13.4. Téléchargement des images Copier lienLien copié sur presse-papiers!
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
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 Copier lienLien copié sur presse-papiers!
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.
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
# taskset 0xffffffff podman run --rm quay.io/openshift-kni/telco-ran-tools:latest factory-precaching-cli download --help
21.13.4.2. Préparation du téléchargement des images OpenShift Container Platform Copier lienLien copié sur presse-papiers!
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
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
$ oc get csv -A | grep -i advanced-cluster-managementCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
open-cluster-management advanced-cluster-management.v2.6.3 Advanced Cluster Management for Kubernetes 2.6.3 advanced-cluster-management.v2.6.3 SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc get csv -A | grep -i multicluster-engine
$ oc get csv -A | grep -i multicluster-engineCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
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 SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow Pour accéder au registre des conteneurs, copiez un secret d'extraction valide sur le serveur à installer :
Créez le dossier
.docker:mkdir /root/.docker
$ mkdir /root/.dockerCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copiez le tirage valide du fichier
config.jsondans le dossier.docker/précédemment créé :cp config.json /root/.docker/config.json
$ cp config.json /root/.docker/config.json1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
/root/.docker/config.jsonest le chemin par défaut oùpodmanvérifie les identifiants de connexion au registre.
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.
21.13.4.3. Télécharger les images d'OpenShift Container Platform Copier lienLien copié sur presse-papiers!
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 :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Vérification
Vérifiez que toutes les images sont compressées dans le dossier cible du serveur :
ls -l /mnt
$ ls -l /mnt1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Il est recommandé de mettre les images en pré-cache dans le dossier
/mnt.
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21.13.4.4. Téléchargement des images de l'opérateur Copier lienLien copié sur presse-papiers!
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.
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 :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21.13.4.5. Mise en cache d'images personnalisées dans des environnements déconnectés Copier lienLien copié sur presse-papiers!
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
Prémettre les images en cache :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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-imagesetgénère uniquement le CRImageSetConfiguration, ce qui vous permet de personnaliser le CR.
Exemple de sortie
Generated /mnt/imageset.yaml
Generated /mnt/imageset.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple ImageSetConfiguration CR
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Personnaliser la ressource du catalogue dans le CR :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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.
Pour éviter toute erreur, copiez le certificat de registre dans votre serveur :
cp /tmp/eko4-ca.crt /etc/pki/ca-trust/source/anchors/.
# cp /tmp/eko4-ca.crt /etc/pki/ca-trust/source/anchors/.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ensuite, mettez à jour la liste de confiance des certificats :
update-ca-trust
# update-ca-trustCopy to Clipboard Copied! Toggle word wrap Toggle overflow Monter le dossier de l'hôte
/etc/pkidans l'image factory-cli :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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-imagesetvous permet de télécharger les images que vous avez spécifiées dans votre CR personnaliséImageSetConfiguration.
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
# 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-imagesetCopy to Clipboard Copied! Toggle word wrap Toggle overflow
21.13.5. Mise en cache préalable des images dans ZTP Copier lienLien copié sur presse-papiers!
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
21.13.5.1. Comprendre le champ clusters.ignitionConfigOverride Copier lienLien copié sur presse-papiers!
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).
systemdservices-
Les services
systemdsontvar-mnt.mountetprecache-images.services. Le serviceprecache-images.servicedépend de la partition de disque qui doit être montée dans/var/mntpar l'unitévar-mnt.mount. Le service appelle un script appeléextract-ai.sh. extract-ai.sh-
Le script
extract-ai.shextrait 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-bz1964591est une solution de contournement pour un problème lié à AI. Pour empêcher AI de supprimer les images, ce qui peut obligeragent.serviceà les extraire à nouveau du registre, le scriptagent-fix-bz1964591vérifie si les images de conteneur demandées existent.
21.13.5.2. Comprendre le champ nodes.installerArgs Copier lienLien copié sur presse-papiers!
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:
21.13.5.3. Comprendre le champ nodes.ignitionConfigOverride Copier lienLien copié sur presse-papiers!
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.
À 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.serviceLe service
precache-ocp.servicedépend de la partition de disque qui doit être montée dans/var/mntpar l'unitévar-mnt.mount. Le serviceprecache-ocp.serviceappelle un script appeléextract-ocp.sh.ImportantPour extraire toutes les images avant l'installation d'OpenShift Container Platform, vous devez exécuter
precache-ocp.serviceavant d'exécuter les servicesmachine-config-daemon-pull.serviceetnodeip-configuration.service.extract-ocp.sh-
Le script
extract-ocp.shextrait 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 Copier lienLien copié sur presse-papiers!
21.13.6.1. Le catalogue rendu n'est pas valide Copier lienLien copié sur presse-papiers!
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.
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
Procédure
Copiez le certificat de registre dans votre serveur :
cp /tmp/eko4-ca.crt /etc/pki/ca-trust/source/anchors/.
# cp /tmp/eko4-ca.crt /etc/pki/ca-trust/source/anchors/.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mettre à jour la liste de confiance des certificats :
update-ca-trust
# update-ca-trustCopy to Clipboard Copied! Toggle word wrap Toggle overflow Monter le dossier de l'hôte
/etc/pkidans 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
# 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-imagesetCopy to Clipboard Copied! Toggle word wrap Toggle overflow