Rechercher

21.2. Préparation de la grappe du concentrateur pour ZTP

download PDF

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

La solution Red Hat Telco Radio Access Network (RAN) version 4.12 a été validée à l'aide des produits logiciels Red Hat suivants.

Tableau 21.2. Logiciel de solution validé Telco RAN 4.12
ProduitVersion 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é

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.

    Note

    Le 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

21.2.3. Ajout d'images RHCOS ISO et RootFS à l'hôte miroir déconnecté

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

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

  1. Connectez-vous à l'hôte miroir.
  2. Obtenez les images RHCOS ISO et RootFS à partir de mirror.openshift.com, par exemple :

    1. 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> 1
      $ export ROOTFS_IMAGE_NAME=<rootfs_image_name> 1
      $ export OCP_VERSION=<ocp_version> 1
      1
      Nom de l'image ISO, par exemple, rhcos-4.12.1-x86_64-live.x86_64.iso
      1
      Nom de l'image RootFS, par exemple, rhcos-4.12.1-x86_64-live-rootfs.x86_64.img
      1
      Version d'OpenShift Container Platform, par exemple, 4.12.1
    2. 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}/${ROOTFS_IMAGE_NAME} -O /var/www/html/${ROOTFS_IMAGE_NAME}

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}

    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

21.2.4. Activation du service assisté et mise à jour de AgentServiceConfig sur le cluster hub

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

  1. Mettez à jour le CR AgentServiceConfig en exécutant la commande suivante :

    $ oc edit AgentServiceConfig
  2. Ajouter l'entrée suivante au champ items.spec.osImages du 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

    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é

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 rootfs et iso sur un serveur HTTP.
Avertissement

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

  1. Créer un ConfigMap contenant la configuration du registre miroir :

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: assisted-installer-mirror-config
      namespace: assisted-installer
      labels:
        app: assisted-service
    data:
      ca-bundle.crt: <certificate> 1
      registries.conf: |  2
        unqualified-search-registries = ["registry.access.redhat.com", "docker.io"]
    
        [[registry]]
          location = <mirror_registry_url>  3
          insecure = false
          mirror-by-digest-only = true
    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.conf dans l'image de découverte. Ces informations sont stockées dans la section imageContentSources du fichier install-config.yaml lorsqu'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 mirrorRegistryRef dans la ressource personnalisée AgentServiceConfig, comme indiqué ci-dessous :

    Exemple de sortie

    apiVersion: agent-install.openshift.io/v1beta1
    kind: AgentServiceConfig
    metadata:
      name: agent
      namespace: assisted-installer
    spec:
      databaseStorage:
        volumeName: <db_pv_name>
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: <db_storage_size>
      filesystemStorage:
        volumeName: <fs_pv_name>
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: <fs_storage_size>
      mirrorRegistryRef:
        name: 'assisted-installer-mirror-config'
      osImages:
        - openshiftVersion: <ocp_version>
          rootfs: <rootfs_url> 1
          url: <iso_url> 2

    1 2
    Doit correspondre aux URL du serveur HTTPD.
Important

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

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

  1. Mettez à jour la ressource personnalisée (CR) AgentServiceConfig en exécutant la commande suivante :

    $ oc edit AgentServiceConfig agent
  2. Ajouter le champ unauthenticatedRegistries dans le CR :

    apiVersion: agent-install.openshift.io/v1beta1
    kind: AgentServiceConfig
    metadata:
      name: agent
    spec:
      unauthenticatedRegistries:
      - example.registry.com
      - example.registry2.com
      ...

    Les registres non authentifiés sont répertoriés sous spec.unauthenticatedRegistries dans la ressource AgentServiceConfig. 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-service valide le secret d'extraction en s'assurant qu'il contient les informations d'authentification pour chaque registre d'image utilisé pour l'installation.

Note

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 :

  1. Ouvrez un shell de débogage vers le cluster du concentrateur :

    oc debug node/<node_name>
  2. Testez l'accès au registre non authentifié en exécutant la commande suivante :

    sh-4.4# podman login -u kubeadmin -p $(oc whoami -t) <unauthenticated_registry>

    où :

    <registre_non-authentifié>
    Le nouveau registre est-il, par exemple, unauthenticated-image-registry.openshift-image-registry.svc:5000.

    Exemple de sortie

    Login Succeeded!

21.2.7. Configuration du cluster hub avec ArgoCD

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

Note

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/deployment auquel il est fait référence dans la procédure suivante.

Procédure

  1. Préparer la configuration du pipeline ArgoCD :

    1. 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".
    2. 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.git et les informations d'identification.
      • Certificates - Ajoutez le certificat public pour le référentiel, si nécessaire.
    3. Modifiez les deux applications ArgoCD, out/argocd/deployment/clusters-app.yaml et out/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 targetRevision indique la branche du dépôt Git à surveiller.
      • path spécifie le chemin vers les CR SiteConfig et PolicyGenTemplate, respectivement.
  2. 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
  3. Appliquez la configuration du pipeline à votre cluster hub en utilisant la commande suivante :

    $ oc apply -k out/argocd/deployment

21.2.8. Préparation du dépôt de configuration du site ZTP de GitOps

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

  1. Créez une structure de répertoire avec des chemins distincts pour les CR SiteConfig et PolicyGenTemplate.
  2. Exportez le répertoire argocd à partir de l'image du conteneur ztp-site-generate à l'aide des commandes suivantes :

    $ podman pull registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.12
    $ mkdir -p ./out
    $ podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.12 extract /home/ztp --tar | tar x -C ./out
  3. Vérifiez que le répertoire out contient les sous-répertoires suivants :

    • out/extra-manifest contient les fichiers CR source que SiteConfig utilise pour générer le manifeste supplémentaire configMap.
    • out/source-crs contient les fichiers CR source que PolicyGenTemplate utilise pour générer les stratégies de Red Hat Advanced Cluster Management (RHACM).
    • out/argocd/deployment contient des correctifs et des fichiers YAML à appliquer sur le cluster hub pour l'étape suivante de cette procédure.
    • out/argocd/example contient les exemples de fichiers SiteConfig et PolicyGenTemplate qui 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 :

example
├── policygentemplates
│   ├── common-ranGen.yaml
│   ├── example-sno-site.yaml
│   ├── group-du-sno-ranGen.yaml
│   ├── group-du-sno-validator-ranGen.yaml
│   ├── kustomization.yaml
│   └── ns.yaml
└── siteconfig
    ├── example-sno.yaml
    ├── KlusterletAddonConfigOverride.yaml
    └── kustomization.yaml

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.

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.

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

© 2024 Red Hat, Inc.