21.2. Préparation de la grappe du concentrateur pour ZTP
Pour utiliser RHACM dans un environnement déconnecté, créez un registre miroir qui reflète les images de version d'OpenShift Container Platform et le catalogue Operator Lifecycle Manager (OLM) qui contient les images d'opérateurs requises. OLM gère, installe et met à niveau les opérateurs et leurs dépendances dans le cluster. Vous pouvez également utiliser un hôte miroir déconnecté pour servir les images de disque RHCOS ISO et RootFS qui sont utilisées pour provisionner les hôtes bare-metal.
21.2.1. Versions logicielles de la solution Telco RAN 4.12 validées Copier lienLien copié sur presse-papiers!
La solution Red Hat Telco Radio Access Network (RAN) version 4.12 a été validée à l'aide des produits logiciels Red Hat suivants.
| Produit | Version du logiciel |
|---|---|
| Cluster OpenShift Container Platform version | 4.12 |
| Plugin GitOps ZTP | 4.10, 4.11 ou 4.12 |
| Red Hat Advanced Cluster Management (RHACM) | 2.6, 2.7 |
| Red Hat OpenShift GitOps | 1.6 |
| Gestionnaire du cycle de vie tenant compte de la topologie (TALM) | 4.10, 4.11 ou 4.12 |
21.2.2. Installation de GitOps ZTP dans un environnement déconnecté Copier lienLien copié sur presse-papiers!
Utilisez Red Hat Advanced Cluster Management (RHACM), Red Hat OpenShift GitOps et Topology Aware Lifecycle Manager (TALM) sur le cluster hub dans l'environnement déconnecté pour gérer le déploiement de plusieurs clusters gérés.
Conditions préalables
-
Vous avez installé le CLI OpenShift Container Platform (
oc). -
Vous vous êtes connecté en tant qu'utilisateur avec les privilèges
cluster-admin. Vous avez configuré un registre miroir déconnecté à utiliser dans le cluster.
NoteLe registre miroir déconnecté que vous créez doit contenir une version des images de sauvegarde et de pré-cache de TALM qui correspond à la version de TALM en cours d'exécution dans le cluster hub. Le cluster de rayons doit pouvoir résoudre ces images dans le registre miroir déconnecté.
Procédure
- Installez RHACM dans le cluster hub. Voir Installation de RHACM dans un environnement déconnecté.
- Installer GitOps et TALM dans le hub cluster.
21.2.3. Ajout d'images RHCOS ISO et RootFS à l'hôte miroir déconnecté Copier lienLien copié sur presse-papiers!
Avant de commencer à installer des clusters dans l'environnement déconnecté avec Red Hat Advanced Cluster Management (RHACM), vous devez d'abord héberger les images Red Hat Enterprise Linux CoreOS (RHCOS) pour qu'elles soient utilisées. Utilisez un miroir déconnecté pour héberger les images RHCOS.
Conditions préalables
- Déployer et configurer un serveur HTTP pour héberger les ressources de l'image RHCOS sur le réseau. Vous devez pouvoir accéder au serveur HTTP depuis votre ordinateur et depuis les machines que vous créez.
Les images RHCOS peuvent ne pas changer avec chaque version d'OpenShift Container Platform. Vous devez télécharger les images avec la version la plus élevée qui est inférieure ou égale à la version que vous installez. Utilisez les versions d'image qui correspondent à votre version d'OpenShift Container Platform si elles sont disponibles. Vous avez besoin d'images ISO et RootFS pour installer RHCOS sur les hôtes. Les images RHCOS QCOW2 ne sont pas prises en charge pour ce type d'installation.
Procédure
- Connectez-vous à l'hôte miroir.
Obtenez les images RHCOS ISO et RootFS à partir de mirror.openshift.com, par exemple :
Exporter les noms des images requises et la version d'OpenShift Container Platform en tant que variables d'environnement :
export ISO_IMAGE_NAME=<iso_image_name>
$ export ISO_IMAGE_NAME=<iso_image_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow export ROOTFS_IMAGE_NAME=<rootfs_image_name>
$ export ROOTFS_IMAGE_NAME=<rootfs_image_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow export OCP_VERSION=<ocp_version>
$ export OCP_VERSION=<ocp_version>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Téléchargez les images nécessaires :
sudo wget https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.12/${OCP_VERSION}/${ISO_IMAGE_NAME} -O /var/www/html/${ISO_IMAGE_NAME}$ sudo wget https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.12/${OCP_VERSION}/${ISO_IMAGE_NAME} -O /var/www/html/${ISO_IMAGE_NAME}Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo wget https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.12/${OCP_VERSION}/${ROOTFS_IMAGE_NAME} -O /var/www/html/${ROOTFS_IMAGE_NAME}$ sudo wget https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.12/${OCP_VERSION}/${ROOTFS_IMAGE_NAME} -O /var/www/html/${ROOTFS_IMAGE_NAME}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Verification steps
Vérifiez que les images ont été téléchargées avec succès et qu'elles sont servies sur l'hôte miroir déconnecté, par exemple :
wget http://$(hostname)/${ISO_IMAGE_NAME}$ wget http://$(hostname)/${ISO_IMAGE_NAME}Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Saving to: rhcos-4.12.1-x86_64-live.x86_64.iso rhcos-4.12.1-x86_64-live.x86_64.iso- 11%[====> ] 10.01M 4.71MB/s
Saving to: rhcos-4.12.1-x86_64-live.x86_64.iso rhcos-4.12.1-x86_64-live.x86_64.iso- 11%[====> ] 10.01M 4.71MB/sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
21.2.4. Activation du service assisté et mise à jour de AgentServiceConfig sur le cluster hub Copier lienLien copié sur presse-papiers!
Red Hat Advanced Cluster Management (RHACM) utilise le service assisté pour déployer les clusters OpenShift Container Platform. Le service assisté est déployé automatiquement lorsque vous activez l'opérateur MultiClusterHub avec Central Infrastructure Management (CIM). Lorsque vous avez activé CIM sur le cluster hub, vous devez alors mettre à jour la ressource personnalisée (CR) AgentServiceConfig avec des références aux images ISO et RootFS qui sont hébergées sur le serveur HTTP du registre miroir.
Conditions préalables
-
Vous avez installé l'OpenShift CLI (
oc). -
Vous vous êtes connecté au cluster hub en tant qu'utilisateur avec les privilèges
cluster-admin. - Vous avez activé le service assisté sur le cluster du concentrateur. Pour plus d'informations, voir Activation du service de gestion de l'infrastructure centrale.
Procédure
Mettez à jour le CR
AgentServiceConfigen exécutant la commande suivante :oc edit AgentServiceConfig
$ oc edit AgentServiceConfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ajouter l'entrée suivante au champ
items.spec.osImagesdu CR :- cpuArchitecture: x86_64 openshiftVersion: "4.12" rootFSUrl: https://<host>/<path>/rhcos-live-rootfs.x86_64.img url: https://<mirror-registry>/<path>/rhcos-live.x86_64.iso- cpuArchitecture: x86_64 openshiftVersion: "4.12" rootFSUrl: https://<host>/<path>/rhcos-live-rootfs.x86_64.img url: https://<mirror-registry>/<path>/rhcos-live.x86_64.isoCopy to Clipboard Copied! Toggle word wrap Toggle overflow où :
- <host>
- Nom de domaine complet (FQDN) du serveur HTTP du registre miroir cible.
- <sentier>
- Chemin d'accès à l'image sur le registre du miroir cible.
Enregistrez et quittez l'éditeur pour appliquer les modifications.
21.2.5. Configuration du cluster hub pour utiliser un registre miroir déconnecté Copier lienLien copié sur presse-papiers!
Vous pouvez configurer le hub cluster pour utiliser un registre miroir déconnecté pour un environnement déconnecté.
Conditions préalables
- Vous avez une installation de cluster hub déconnecté avec Red Hat Advanced Cluster Management (RHACM) 2.5 installé.
-
Vous avez hébergé les images
rootfsetisosur un serveur HTTP.
Si vous activez TLS pour le serveur HTTP, vous devez confirmer que le certificat racine est signé par une autorité approuvée par le client et vérifier la chaîne de certificats approuvés entre votre hub OpenShift Container Platform et les clusters gérés et le serveur HTTP. L'utilisation d'un serveur configuré avec un certificat non approuvé empêche le téléchargement des images vers le service de création d'images. L'utilisation de serveurs HTTPS non approuvés n'est pas prise en charge.
Procédure
Créer un
ConfigMapcontenant la configuration du registre miroir :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Certificat du registre miroir utilisé lors de la création du registre miroir.
- 2
- Le fichier de configuration du registre des miroirs. La configuration du registre miroir ajoute des informations de miroir à
/etc/containers/registries.confdans l'image de découverte. Ces informations sont stockées dans la sectionimageContentSourcesdu fichierinstall-config.yamllorsqu'elles sont transmises au programme d'installation. Le pod de service assisté fonctionnant sur le cluster HUB récupère les images des conteneurs à partir du registre miroir configuré. - 3
- L'URL du registre miroir.
Cette opération met à jour
mirrorRegistryRefdans la ressource personnaliséeAgentServiceConfig, comme indiqué ci-dessous :Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Un serveur NTP valide est requis lors de l'installation des clusters. Assurez-vous qu'un serveur NTP approprié est disponible et qu'il est accessible depuis les grappes installées via le réseau déconnecté.
21.2.6. Configurer le hub cluster pour utiliser des registres non authentifiés Copier lienLien copié sur presse-papiers!
Vous pouvez configurer le cluster hub pour utiliser des registres non authentifiés. Les registres non authentifiés ne nécessitent pas d'authentification pour accéder aux images et les télécharger.
Conditions préalables
- Vous avez installé et configuré un cluster de type hub et installé Red Hat Advanced Cluster Management (RHACM) sur le cluster de type hub.
- Vous avez installé le CLI (oc) de OpenShift Container Platform.
-
Vous vous êtes connecté en tant qu'utilisateur avec les privilèges
cluster-admin. - Vous avez configuré un registre non authentifié à utiliser avec le cluster hub.
Procédure
Mettez à jour la ressource personnalisée (CR)
AgentServiceConfigen exécutant la commande suivante :oc edit AgentServiceConfig agent
$ oc edit AgentServiceConfig agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ajouter le champ
unauthenticatedRegistriesdans le CR :Copy to Clipboard Copied! Toggle word wrap Toggle overflow Les registres non authentifiés sont répertoriés sous
spec.unauthenticatedRegistriesdans la ressourceAgentServiceConfig. Tout registre figurant sur cette liste n'est pas tenu d'avoir une entrée dans le secret d'extraction utilisé pour l'installation du cluster de rayons.assisted-servicevalide le secret d'extraction en s'assurant qu'il contient les informations d'authentification pour chaque registre d'image utilisé pour l'installation.
Les registres miroirs sont automatiquement ajoutés à la liste des ignorés et n'ont pas besoin d'être ajoutés sous spec.unauthenticatedRegistries. La spécification de la variable d'environnement PUBLIC_CONTAINER_REGISTRIES dans ConfigMap remplace les valeurs par défaut par la valeur spécifiée. Les valeurs par défaut de PUBLIC_CONTAINER_REGISTRIES sont quay.io et registry.svc.ci.openshift.org.
Vérification
Vérifiez que vous pouvez accéder au registre nouvellement ajouté à partir du cluster hub en exécutant les commandes suivantes :
Ouvrez un shell de débogage vers le cluster du concentrateur :
oc debug node/<node_name>
oc debug node/<node_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Testez l'accès au registre non authentifié en exécutant la commande suivante :
podman login -u kubeadmin -p $(oc whoami -t) <unauthenticated_registry>
sh-4.4# podman login -u kubeadmin -p $(oc whoami -t) <unauthenticated_registry>Copy to Clipboard Copied! Toggle word wrap Toggle overflow où :
- <registre_non-authentifié>
-
Le nouveau registre est-il, par exemple,
unauthenticated-image-registry.openshift-image-registry.svc:5000.
Exemple de sortie
Login Succeeded!
Login Succeeded!Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21.2.7. Configuration du cluster hub avec ArgoCD Copier lienLien copié sur presse-papiers!
Vous pouvez configurer le cluster hub avec un ensemble d'applications ArgoCD qui génèrent les ressources personnalisées (CR) d'installation et de stratégie requises pour chaque site avec GitOps zero touch provisioning (ZTP).
Red Hat Advanced Cluster Management (RHACM) utilise les CR SiteConfig pour générer les CR d'installation de cluster géré du jour 1 pour ArgoCD. Chaque application ArgoCD peut gérer un maximum de 300 CR SiteConfig.
Conditions préalables
- Vous avez un hub cluster OpenShift Container Platform avec Red Hat Advanced Cluster Management (RHACM) et Red Hat OpenShift GitOps installés.
-
Vous avez extrait le déploiement de référence du conteneur du plugin ZTP GitOps comme décrit dans la section "Préparation du référentiel de configuration du site GitOps ZTP". L'extraction du déploiement de référence crée le répertoire
out/argocd/deploymentauquel il est fait référence dans la procédure suivante.
Procédure
Préparer la configuration du pipeline ArgoCD :
- Créez un dépôt Git avec une structure de répertoire similaire au répertoire d'exemple. Pour plus d'informations, voir "Preparing the GitOps ZTP site configuration repository".
Configurez l'accès au référentiel en utilisant l'interface utilisateur d'ArgoCD. Sous Settings, configurez les éléments suivants :
-
Repositories - Ajoutez les informations de connexion. L'URL doit se terminer par
.git, par exemple,https://repo.example.com/repo.gitet les informations d'identification. - Certificates - Ajoutez le certificat public pour le référentiel, si nécessaire.
-
Repositories - Ajoutez les informations de connexion. L'URL doit se terminer par
Modifiez les deux applications ArgoCD,
out/argocd/deployment/clusters-app.yamletout/argocd/deployment/policies-app.yaml, en fonction de votre dépôt Git :-
Mettez à jour l'URL pour qu'elle pointe vers le dépôt Git. L'URL se termine par
.git, par exemple,https://repo.example.com/repo.git. -
Le site
targetRevisionindique la branche du dépôt Git à surveiller. -
pathspécifie le chemin vers les CRSiteConfigetPolicyGenTemplate, respectivement.
-
Mettez à jour l'URL pour qu'elle pointe vers le dépôt Git. L'URL se termine par
Pour installer le plugin ZTP GitOps, vous devez patcher l'instance ArgoCD dans le cluster hub en utilisant le fichier patch précédemment extrait dans le répertoire
out/argocd/deployment/. Exécutez la commande suivante :oc patch argocd openshift-gitops \ -n openshift-gitops --type=merge \ --patch-file out/argocd/deployment/argocd-openshift-gitops-patch.json
$ oc patch argocd openshift-gitops \ -n openshift-gitops --type=merge \ --patch-file out/argocd/deployment/argocd-openshift-gitops-patch.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow Appliquez la configuration du pipeline à votre cluster hub en utilisant la commande suivante :
oc apply -k out/argocd/deployment
$ oc apply -k out/argocd/deploymentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
21.2.8. Préparation du dépôt de configuration du site ZTP de GitOps Copier lienLien copié sur presse-papiers!
Avant d'utiliser le pipeline ZTP GitOps, vous devez préparer le dépôt Git qui hébergera les données de configuration du site.
Conditions préalables
- Vous avez configuré les applications GitOps du hub cluster pour générer les ressources personnalisées (CR) d'installation et de stratégie requises.
- Vous avez déployé les clusters gérés à l'aide du Zero Touch Provisioning (ZTP).
Procédure
-
Créez une structure de répertoire avec des chemins distincts pour les CR
SiteConfigetPolicyGenTemplate. Exportez le répertoire
argocdà partir de l'image du conteneurztp-site-generateà l'aide des commandes suivantes :podman pull registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.12
$ podman pull registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.12Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir -p ./out
$ mkdir -p ./outCopy to Clipboard Copied! Toggle word wrap Toggle overflow podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.12 extract /home/ztp --tar | tar x -C ./out
$ podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.12 extract /home/ztp --tar | tar x -C ./outCopy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que le répertoire
outcontient les sous-répertoires suivants :-
out/extra-manifestcontient les fichiers CR source queSiteConfigutilise pour générer le manifeste supplémentaireconfigMap. -
out/source-crscontient les fichiers CR source quePolicyGenTemplateutilise pour générer les stratégies de Red Hat Advanced Cluster Management (RHACM). -
out/argocd/deploymentcontient des correctifs et des fichiers YAML à appliquer sur le cluster hub pour l'étape suivante de cette procédure. -
out/argocd/examplecontient les exemples de fichiersSiteConfigetPolicyGenTemplatequi représentent la configuration recommandée.
-
La structure des répertoires sous out/argocd/example sert de référence pour la structure et le contenu de votre dépôt Git. L'exemple inclut SiteConfig et PolicyGenTemplate, des CR de référence pour les clusters à un nœud, à trois nœuds et standard. Supprimez les références aux types de clusters que vous n'utilisez pas. L'exemple suivant décrit un ensemble de CR pour un réseau de clusters à nœud unique :
Conservez les CR SiteConfig et PolicyGenTemplate dans des répertoires distincts. Les répertoires SiteConfig et PolicyGenTemplate doivent contenir un fichier kustomization.yaml qui inclut explicitement les fichiers de ce répertoire.
Cette structure de répertoire et les fichiers kustomization.yaml doivent être validés et transférés dans votre dépôt Git. Le premier transfert vers Git doit inclure les fichiers kustomization.yaml. Les fichiers SiteConfig (example-sno.yaml) et PolicyGenTemplate (common-ranGen.yaml, group-du-sno*.yaml, et example-sno-site.yaml) peuvent être omis et transférés ultérieurement si nécessaire lors du déploiement d'un site.
Le fichier KlusterletAddonConfigOverride.yaml n'est requis que si un ou plusieurs CR SiteConfig qui y font référence sont validés et poussés sur Git. Voir example-sno.yaml pour un exemple d'utilisation.