21.3. Installation de clusters gérés avec RHACM et les ressources SiteConfig


Vous pouvez provisionner des clusters OpenShift Container Platform à l'échelle avec Red Hat Advanced Cluster Management (RHACM) en utilisant le service assisté et le générateur de politiques du plugin GitOps avec la technologie de réduction du noyau activée. Le pipeline ZTP (zero touch priovisioning) effectue les installations de clusters. ZTP peut être utilisé dans un environnement déconnecté.

GitOps zero touch provisioning (ZTP) génère des CR d'installation et de configuration à partir de manifestes stockés dans Git. Ces artefacts sont appliqués à un cluster hub centralisé où Red Hat Advanced Cluster Management (RHACM), le service assisté et le Topology Aware Lifecycle Manager (TALM) utilisent les CR pour installer et configurer le cluster géré. La phase de configuration du pipeline ZTP utilise le TALM pour orchestrer l'application des CR de configuration au cluster. Il existe plusieurs points d'intégration clés entre GitOps ZTP et le TALM.

Informer les politiques
Par défaut, le ZTP GitOps crée toutes les politiques avec une action de remédiation de inform. Ces politiques provoquent un rapport du RHACM sur l'état de conformité des clusters concernés par les politiques, mais n'appliquent pas la configuration souhaitée. Au cours du processus ZTP, après l'installation d'OpenShift, le TALM passe en revue les politiques inform créées et les applique au(x) cluster(s) géré(s) cible(s). Cela permet d'appliquer la configuration au cluster géré. En dehors de la phase ZTP du cycle de vie du cluster, cela vous permet de modifier les politiques sans risquer de déployer immédiatement ces changements sur les clusters gérés affectés. Vous pouvez contrôler le calendrier et l'ensemble des clusters remédiés en utilisant TALM.
Création automatique des CR de ClusterGroupUpgrade

Pour automatiser la configuration initiale des clusters nouvellement déployés, le TALM surveille l'état de tous les CR ManagedCluster sur le cluster hub. Tout CR ManagedCluster qui n'a pas d'étiquette ztp-done appliquée, y compris les CR ManagedCluster nouvellement créés, entraîne la création automatique par le TALM d'un CR ClusterGroupUpgrade avec les caractéristiques suivantes :

  • Le CR ClusterGroupUpgrade est créé et activé dans l'espace de noms ztp-install.
  • ClusterGroupUpgrade CR porte le même nom que le ManagedCluster CR.
  • Le sélecteur de grappes n'inclut que la grappe associée à la CR ManagedCluster.
  • L'ensemble des politiques gérées comprend toutes les politiques que RHACM a liées au cluster au moment de la création de ClusterGroupUpgrade.
  • La mise en cache préalable est désactivée.
  • Le délai d'attente est fixé à 4 heures (240 minutes).

La création automatique d'une adresse ClusterGroupUpgrade activée garantit que le déploiement initial des grappes se fait sans intervention de l'utilisateur. En outre, la création automatique d'un CR ClusterGroupUpgrade pour tout ManagedCluster sans le label ztp-done permet de redémarrer une installation ZTP défaillante en supprimant simplement le CR ClusterGroupUpgrade pour le cluster.

Vagues

Chaque politique générée à partir d'une CR PolicyGenTemplate comprend une annotation ztp-deploy-wave. Cette annotation est basée sur la même annotation de chaque RC qui est incluse dans cette politique. L'annotation "vague" est utilisée pour ordonner les politiques dans la CR ClusterGroupUpgrade générée automatiquement. L'annotation de la vague n'est pas utilisée ailleurs que dans le CR auto-généré ClusterGroupUpgrade.

Note

Tous les CR d'une même politique doivent avoir le même paramètre pour l'annotation ztp-deploy-wave. La valeur par défaut de cette annotation pour chaque CR peut être remplacée dans . La valeur par défaut de cette annotation pour chaque RC peut être remplacée par l'annotation PolicyGenTemplate. L'annotation wave dans le RC source est utilisée pour déterminer et fixer l'annotation wave de la politique. Cette annotation est supprimée de chaque RC construit qui est inclus dans la politique générée au moment de l'exécution.

Le TALM applique les politiques de configuration dans l'ordre spécifié par les annotations de vagues. Le TALM attend que chaque politique soit conforme avant de passer à la politique suivante. Il est important de s'assurer que l'annotation d'onde pour chaque RC prend en compte les conditions préalables à l'application de ces RC au cluster. Par exemple, un opérateur doit être installé avant ou en même temps que la configuration de l'opérateur. De même, le site CatalogSource pour un opérateur doit être installé dans une vague avant ou en même temps que l'abonnement de l'opérateur. La valeur par défaut de la vague pour chaque CR tient compte de ces conditions préalables.

Plusieurs CR et politiques peuvent partager le même numéro d'onde. Le fait d'avoir moins de politiques peut accélérer les déploiements et réduire l'utilisation de l'unité centrale. La meilleure pratique consiste à regrouper de nombreux CR en un nombre relativement restreint de vagues.

Pour vérifier la valeur par défaut de la vague dans chaque CR source, exécutez la commande suivante dans le répertoire out/source-crs extrait de l'image du conteneur ztp-site-generate:

$ grep -r "ztp-deploy-wave" out/source-crs
Copy to Clipboard Toggle word wrap
Étiquettes de phase

Le CR ClusterGroupUpgrade est automatiquement créé et comprend des directives pour annoter le CR ManagedCluster avec des étiquettes au début et à la fin du processus ZTP.

Lorsque la configuration ZTP post-installation commence, l'étiquette ztp-running est appliquée à l'adresse ManagedCluster. Lorsque toutes les politiques sont remédiées dans le cluster et sont entièrement conformes, ces directives amènent le TALM à supprimer le label ztp-running et à appliquer le label ztp-done.

Pour les déploiements qui utilisent la politique informDuValidator, le label ztp-done est appliqué lorsque le cluster est entièrement prêt pour le déploiement des applications. Cela inclut tous les rapprochements et les effets résultants des CR de configuration appliqués par ZTP. Le label ztp-done affecte la création automatique de CR ClusterGroupUpgrade par TALM. Ne manipulez pas ce label après l'installation initiale de la grappe par ZTP.

CR liés
La CR ClusterGroupUpgrade créée automatiquement a la même référence propriétaire que la CR ManagedCluster dont elle est dérivée. Cette référence garantit que la suppression de la CR ManagedCluster entraîne la suppression de l'instance de la CR ClusterGroupUpgrade et de toutes les ressources qui la soutiennent.

Red Hat Advanced Cluster Management (RHACM) utilise le zero touch provisioning (ZTP) pour déployer des clusters OpenShift Container Platform à un nœud, des clusters à trois nœuds et des clusters standard. Vous gérez les données de configuration du site en tant que ressources personnalisées (CR) OpenShift Container Platform dans un référentiel Git. ZTP utilise une approche GitOps déclarative pour un modèle de développement unique et de déploiement en tout lieu afin de déployer les clusters gérés.

Le déploiement des grappes comprend

  • Installation du système d'exploitation hôte (RHCOS) sur un serveur vierge
  • Déployer OpenShift Container Platform
  • Création de politiques de cluster et d'abonnements à des sites
  • Effectuer les configurations réseau nécessaires au système d'exploitation du serveur
  • Déployer les opérateurs de profil et effectuer toute configuration logicielle nécessaire, telle que le profil de performance, le PTP et le SR-IOV
Vue d'ensemble du processus d'installation d'un site géré

Une fois que vous avez appliqué les ressources personnalisées (CR) du site géré sur le cluster du concentrateur, les actions suivantes se produisent automatiquement :

  1. Un fichier ISO d'image de découverte est généré et démarré sur l'hôte cible.
  2. Lorsque le fichier ISO démarre avec succès sur l'hôte cible, il communique au RHACM les informations relatives au matériel de l'hôte.
  3. Une fois tous les hôtes découverts, OpenShift Container Platform est installé.
  4. Lorsque l'installation d'OpenShift Container Platform est terminée, le hub installe le service klusterlet sur le cluster cible.
  5. Les services complémentaires demandés sont installés sur le cluster cible.

Le processus ISO de l'image de découverte est terminé lorsque le CR Agent pour le cluster géré est créé sur le cluster concentrateur.

Important

L'hôte bare-metal cible doit répondre aux exigences en matière de réseau, de firmware et de matériel énumérées dans Configuration recommandée d'un cluster OpenShift à nœud unique pour les charges de travail des applications vDU.

21.3.3. Création des secrets de l'hôte bare-metal géré

Ajoutez les ressources personnalisées (CR) Secret requises pour l'hôte bare-metal géré au cluster du concentrateur. Vous avez besoin d'un secret pour le pipeline ZTP afin d'accéder au Baseboard Management Controller (BMC) et d'un secret pour le service d'installation assistée afin d'extraire les images d'installation de cluster du registre.

Note

Les secrets sont référencés à partir du CR SiteConfig par leur nom. L'espace de noms doit correspondre à l'espace de noms de SiteConfig.

Procédure

  1. Créer un fichier secret YAML contenant les informations d'identification pour le contrôleur de gestion de carte de base (BMC) de l'hôte et un secret d'extraction requis pour l'installation d'OpenShift et de tous les opérateurs de cluster supplémentaires :

    1. Enregistrer le YAML suivant dans le fichier example-sno-secret.yaml:

      apiVersion: v1
      kind: Secret
      metadata:
        name: example-sno-bmc-secret
        namespace: example-sno 
      1
      
      data: 
      2
      
        password: <base64_password>
        username: <base64_username>
      type: Opaque
      ---
      apiVersion: v1
      kind: Secret
      metadata:
        name: pull-secret
        namespace: example-sno  
      3
      
      data:
        .dockerconfigjson: <pull_secret> 
      4
      
      type: kubernetes.io/dockerconfigjson
      Copy to Clipboard Toggle word wrap
      1
      Doit correspondre à l'espace de noms configuré dans la CR SiteConfig correspondante
      2
      Valeurs encodées en base64 pour password et username
      3
      Doit correspondre à l'espace de noms configuré dans la CR SiteConfig correspondante
      4
      Secret d'extraction codé en base64
  2. Ajoutez le chemin relatif vers example-sno-secret.yaml au fichier kustomization.yaml que vous utilisez pour installer le cluster.

Le flux de travail GitOps ZTP utilise l'ISO Discovery dans le cadre du processus d'installation d'OpenShift Container Platform sur les hôtes bare-metal gérés. Vous pouvez éditer la ressource InfraEnv pour spécifier les arguments du noyau pour l'ISO de découverte. Ceci est utile pour les installations de clusters avec des exigences environnementales spécifiques. Par exemple, configurez l'argument de noyau rd.net.timeout.carrier pour l'ISO de découverte afin de faciliter la mise en réseau statique du cluster ou de recevoir une adresse DHCP avant de télécharger le système de fichiers racine pendant l'installation.

Note

Dans OpenShift Container Platform 4.12, vous ne pouvez qu'ajouter des arguments de noyau. Vous ne pouvez pas remplacer ou supprimer des arguments du noyau.

Conditions préalables

  • Vous avez installé le CLI OpenShift (oc).
  • Vous vous êtes connecté au cluster hub en tant qu'utilisateur disposant des privilèges cluster-admin.

Procédure

  1. Créez le CR InfraEnv et modifiez la spécification spec.kernelArguments pour configurer les arguments du noyau.

    1. Enregistrez le YAML suivant dans un fichier InfraEnv-example.yaml:

      Note

      Dans cet exemple, la CR InfraEnv utilise une syntaxe de modèle telle que {{ .Cluster.ClusterName }} qui est remplie en fonction des valeurs de la CR SiteConfig. La CR SiteConfig remplit automatiquement les valeurs de ces modèles pendant le déploiement. Ne modifiez pas les modèles manuellement.

      apiVersion: agent-install.openshift.io/v1beta1
      kind: InfraEnv
      metadata:
        annotations:
          argocd.argoproj.io/sync-wave: "1"
        name: "{{ .Cluster.ClusterName }}"
        namespace: "{{ .Cluster.ClusterName }}"
      spec:
        clusterRef:
          name: "{{ .Cluster.ClusterName }}"
          namespace: "{{ .Cluster.ClusterName }}"
        kernelArguments:
          - operation: append 
      1
      
            value: audit=0 
      2
      
          - operation: append
            value: trace=1
        sshAuthorizedKey: "{{ .Site.SshPublicKey }}"
        proxy: "{{ .Cluster.ProxySettings }}"
        pullSecretRef:
          name: "{{ .Site.PullSecretRef.Name }}"
        ignitionConfigOverride: "{{ .Cluster.IgnitionConfigOverride }}"
        nmStateConfigLabelSelector:
          matchLabels:
            nmstate-label: "{{ .Cluster.ClusterName }}"
        additionalNTPSources: "{{ .Cluster.AdditionalNTPSources }}"
      Copy to Clipboard Toggle word wrap
      1
      Spécifier l'opération d'ajout d'un argument du noyau.
      2
      Spécifiez l'argument du noyau que vous souhaitez configurer. Cet exemple configure l'argument de noyau audit et l'argument de noyau trace.
  2. Livrez le CR InfraEnv-example.yaml au même endroit dans votre dépôt Git que le CR SiteConfig et repoussez vos modifications. L'exemple suivant montre un exemple de structure de dépôt Git :

    ~/example-ztp/install
              └── site-install
                   ├── siteconfig-example.yaml
                   ├── InfraEnv-example.yaml
                   ...
    Copy to Clipboard Toggle word wrap
  3. Modifiez la spécification spec.clusters.crTemplates dans le CR SiteConfig pour faire référence au CR InfraEnv-example.yaml dans votre référentiel Git :

    clusters:
      crTemplates:
        InfraEnv: "InfraEnv-example.yaml"
    Copy to Clipboard Toggle word wrap

    Lorsque vous êtes prêt à déployer votre cluster en validant et en poussant le CR SiteConfig, le pipeline de construction utilise le CR personnalisé InfraEnv-example dans votre dépôt Git pour configurer l'environnement d'infrastructure, y compris les arguments personnalisés du noyau.

Vérification

Pour vérifier que les arguments du noyau sont appliqués, après que l'image Discovery a vérifié qu'OpenShift Container Platform est prêt pour l'installation, vous pouvez vous connecter en SSH à l'hôte cible avant que le processus d'installation ne commence. À ce moment-là, vous pouvez voir les arguments du noyau pour l'ISO Discovery dans le fichier /proc/cmdline.

  1. Ouvrez une session SSH avec l'hôte cible :

    $ ssh -i /path/to/privatekey core@<nom_de_l'hôte>
    Copy to Clipboard Toggle word wrap
  2. Affichez les arguments du noyau du système à l'aide de la commande suivante :

    $ cat /proc/cmdline
    Copy to Clipboard Toggle word wrap

Suivez la procédure suivante pour créer une ressource personnalisée (CR) SiteConfig et les fichiers associés, et pour lancer le déploiement du cluster ZTP (Zero Touch Provisioning).

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 configuré le cluster du concentrateur pour générer les CR d'installation et de stratégie nécessaires.
  • Vous avez créé un dépôt Git dans lequel vous gérez les données de configuration de votre site personnalisé. Le référentiel doit être accessible depuis le cluster du concentrateur et vous devez le configurer comme référentiel source pour l'application ArgoCD. Voir "Préparation du dépôt de configuration de site GitOps ZTP" pour plus d'informations.

    Note

    Lorsque vous créez le référentiel source, assurez-vous de patcher l'application ArgoCD avec le fichier de patches argocd/deployment/argocd-openshift-gitops-patch.json que vous extrayez du conteneur ztp-site-generate. Voir "Configuration du cluster hub avec ArgoCD".

  • Pour être prêt à provisionner des clusters gérés, vous devez disposer des éléments suivants pour chaque hôte bare-metal :

    Connectivité du réseau
    Votre réseau a besoin de DNS. Les hôtes des clusters gérés doivent être joignables depuis le hub cluster. Assurez-vous que la connectivité de couche 3 existe entre le cluster hub et l'hôte du cluster géré.
    Détails du contrôleur de gestion de la carte de base (BMC)
    ZTP utilise le nom d'utilisateur et le mot de passe de la BMC pour se connecter à la BMC lors de l'installation du cluster. Le plugin ZTP de GitOps gère les CR ManagedCluster sur le cluster hub en se basant sur le CR SiteConfig dans le repo Git de votre site. Vous devez créer manuellement les CR BMCSecret pour chaque hôte.

    Procédure

    1. Créez les secrets de cluster gérés requis sur le cluster concentrateur. Ces ressources doivent se trouver dans un espace de noms dont le nom correspond à celui du cluster. Par exemple, dans out/argocd/example/siteconfig/example-sno.yaml, le nom du cluster et l'espace de noms sont example-sno.

      1. Exportez l'espace de noms du cluster en exécutant la commande suivante :

        $ export CLUSTERNS=example-sno
        Copy to Clipboard Toggle word wrap
      2. Créer l'espace de noms :

        $ oc create namespace $CLUSTERNS
        Copy to Clipboard Toggle word wrap
    2. Créez un secret d'extraction et des CR BMC Secret pour le cluster géré. Le secret d'extraction doit contenir toutes les informations d'identification nécessaires à l'installation d'OpenShift Container Platform et de tous les opérateurs requis. Voir "Creating the managed bare-metal host secrets" pour plus d'informations.

      Note

      Les secrets sont référencés à partir de la ressource personnalisée (CR) SiteConfig par leur nom. L'espace de noms doit correspondre à l'espace de noms SiteConfig.

    3. Créez un SiteConfig CR pour votre cluster dans votre clone local du dépôt Git :

      1. Choisissez l'exemple approprié pour votre CR dans le dossier out/argocd/example/siteconfig/. Ce dossier contient des fichiers d'exemple pour les grappes à un nœud, à trois nœuds et standard :

        • example-sno.yaml
        • example-3node.yaml
        • example-standard.yaml
      2. Modifiez les détails de la grappe et de l'hôte dans le fichier d'exemple pour qu'ils correspondent au type de grappe que vous souhaitez. Par exemple :

        Exemple de cluster OpenShift à nœud unique SiteConfig CR

        apiVersion: ran.openshift.io/v1
        kind: SiteConfig
        metadata:
          name: "<site_name>"
          namespace: "<site_name>"
        spec:
          baseDomain: "example.com"
          pullSecretRef:
            name: "assisted-deployment-pull-secret" 
        1
        
          clusterImageSetNameRef: "openshift-4.12" 
        2
        
          sshPublicKey: "ssh-rsa AAAA..." 
        3
        
          clusters:
          - clusterName: "<site_name>"
            networkType: "OVNKubernetes"
            clusterLabels: 
        4
        
              common: true
              group-du-sno: ""
              sites : "<site_name>"
            clusterNetwork:
              - cidr: 1001:1::/48
                hostPrefix: 64
            machineNetwork:
              - cidr: 1111:2222:3333:4444::/64
            serviceNetwork:
              - 1001:2::/112
            additionalNTPSources:
              - 1111:2222:3333:4444::2
            #crTemplates:
            #  KlusterletAddonConfig: "KlusterletAddonConfigOverride.yaml" 
        5
        
            nodes:
              - hostName: "example-node.example.com" 
        6
        
                role: "master"
                bmcAddress: idrac-virtualmedia://<out_of_band_ip>/<system_id>/ 
        7
        
                bmcCredentialsName:
                  name: "bmh-secret" 
        8
        
                bootMACAddress: "AA:BB:CC:DD:EE:11"
                bootMode: "UEFI" 
        9
        
                rootDeviceHints:
                  wwn: "0x11111000000asd123"
                cpuset: "0-1,52-53"  
        10
        
                nodeNetwork: 
        11
        
                  interfaces:
                    - name: eno1
                      macAddress: "AA:BB:CC:DD:EE:11"
                  config:
                    interfaces:
                      - name: eno1
                        type: ethernet
                        state: up
                        ipv4:
                          enabled: false
                        ipv6: 
        12
        
                          enabled: true
                          address:
                          - ip: 1111:2222:3333:4444::aaaa:1
                            prefix-length: 64
                    dns-resolver:
                      config:
                        search:
                        - example.com
                        server:
                        - 1111:2222:3333:4444::2
                    routes:
                      config:
                      - destination: ::/0
                        next-hop-interface: eno1
                        next-hop-address: 1111:2222:3333:4444::1
                        table-id: 254
        Copy to Clipboard Toggle word wrap

        1
        Créez le CR assisted-deployment-pull-secret avec le même espace de noms que le CR SiteConfig.
        2
        clusterImageSetNameRef définit un jeu d'images disponible sur le hub cluster. Pour voir la liste des versions supportées sur votre hub cluster, exécutez oc get clusterimagesets.
        3
        Configurer la clé publique SSH utilisée pour accéder au cluster.
        4
        Les libellés des grappes doivent correspondre au champ bindingRules dans les CR PolicyGenTemplate que vous définissez. Par exemple, policygentemplates/common-ranGen.yaml s'applique à tous les clusters dont le champ common: true est défini, policygentemplates/group-du-sno-ranGen.yaml s'applique à tous les clusters dont le champ group-du-sno: "" est défini.
        5
        Facultatif. Le CR spécifié sous KlusterletAddonConfig est utilisé pour remplacer le CR par défaut KlusterletAddonConfig qui est créé pour le cluster.
        6
        Pour les déploiements à un seul nœud, définissez un seul hôte. Pour les déploiements à trois nœuds, définissez trois hôtes. Pour les déploiements standard, définissez trois hôtes avec role: master et deux hôtes ou plus avec role: worker.
        7
        Adresse BMC que vous utilisez pour accéder à l'hôte. S'applique à tous les types de clusters.
        8
        Nom du CR bmh-secret que vous créez séparément avec les informations d'identification BMC de l'hôte. Lorsque vous créez le CR bmh-secret, utilisez le même espace de noms que le CR SiteConfig qui approvisionne l'hôte.
        9
        Configure le mode de démarrage de l'hôte. La valeur par défaut est UEFI. Utilisez UEFISecureBoot pour activer le démarrage sécurisé sur l'hôte.
        10
        cpuset doit correspondre à la valeur définie dans le champ cluster PerformanceProfile CR spec.cpu.reserved pour le partitionnement de la charge de travail.
        11
        Spécifie les paramètres du réseau pour le nœud.
        12
        Configure l'adresse IPv6 pour l'hôte. Pour les clusters OpenShift à un seul nœud avec des adresses IP statiques, l'API spécifique au nœud et les IP d'entrée doivent être les mêmes.
        Note

        Pour plus d'informations sur l'adressage BMC, voir la section "Ressources supplémentaires".

      3. Vous pouvez consulter l'ensemble par défaut des CR extra-manifest MachineConfig à l'adresse out/argocd/extra-manifest. Il est automatiquement appliqué au cluster lors de son installation.
      4. Facultatif : Pour provisionner des manifestes d'installation supplémentaires sur le cluster provisionné, créez un répertoire dans votre référentiel Git, par exemple, sno-extra-manifest/, et ajoutez vos CRs de manifestes personnalisés à ce répertoire. Si votre SiteConfig.yaml fait référence à ce répertoire dans le champ extraManifestPath, tous les CRs de ce répertoire référencé sont ajoutés à l'ensemble par défaut des manifestes supplémentaires.
    4. Ajoutez le CR SiteConfig au fichier kustomization.yaml dans la section generators, comme dans l'exemple présenté dans out/argocd/example/siteconfig/kustomization.yaml.
    5. Commencez le CR SiteConfig et les changements kustomization.yaml associés dans votre dépôt Git et repoussez les changements.

      Le pipeline ArgoCD détecte les changements et commence le déploiement du cluster géré.

Le pipeline ArgoCD utilise le CR SiteConfig pour générer les CR de configuration du cluster et le synchronise avec le cluster hub. Vous pouvez suivre la progression de la synchronisation dans le tableau de bord ArgoCD.

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.

Procédure

Lorsque la synchronisation est terminée, l'installation se déroule généralement comme suit :

  1. L'opérateur de service assisté installe OpenShift Container Platform sur le cluster. Vous pouvez surveiller la progression de l'installation du cluster à partir du tableau de bord RHACM ou de la ligne de commande en exécutant les commandes suivantes :

    1. Exporter le nom du cluster :

      $ export CLUSTER=<clusterName>
      Copy to Clipboard Toggle word wrap
    2. Interrogez le CR AgentClusterInstall pour le cluster géré :

      $ oc get agentclusterinstall -n $CLUSTER $CLUSTER -o jsonpath='{.status.conditions[?(@.type=="Completed")]}' | jq
      Copy to Clipboard Toggle word wrap
    3. Obtenir les événements d'installation pour le cluster :

      $ curl -sk $(oc get agentclusterinstall -n $CLUSTER $CLUSTER -o jsonpath='{.status.debugInfo.eventsURL}')  | jq '.[-2,-1]'
      Copy to Clipboard Toggle word wrap

Le pipeline ArgoCD utilise les ressources personnalisées (CR) SiteConfig et PolicyGenTemplate pour générer les CR de configuration du cluster et les stratégies de Red Hat Advanced Cluster Management (RHACM). Utilisez les étapes suivantes pour résoudre les problèmes qui peuvent survenir au cours de ce processus.

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.

Procédure

  1. Vérifiez que les CR d'installation ont été créés en utilisant la commande suivante :

    oc get AgentClusterInstall -n <cluster_name>
    Copy to Clipboard Toggle word wrap

    Si aucun objet n'est renvoyé, utilisez les étapes suivantes pour résoudre le problème du flux du pipeline ArgoCD depuis les fichiers SiteConfig jusqu'aux CR d'installation.

  2. Vérifiez que la CR ManagedCluster a été générée à l'aide de la CR SiteConfig sur le cluster hub :

    $ oc get managedcluster
    Copy to Clipboard Toggle word wrap
  3. Si le site ManagedCluster est manquant, vérifiez si l'application clusters n'a pas échoué à synchroniser les fichiers du référentiel Git vers le hub cluster :

    $ oc describe -n openshift-gitops application clusters
    Copy to Clipboard Toggle word wrap
    1. Vérifiez le champ Status.Conditions pour afficher les journaux d'erreurs du cluster géré. Par exemple, la définition d'une valeur non valide pour extraManifestPath: dans le CR SiteConfig entraîne l'erreur suivante :

      Status:
        Conditions:
          Last Transition Time:  2021-11-26T17:21:39Z
          Message:               rpc error: code = Unknown desc = `kustomize build /tmp/https___git.com/ran-sites/siteconfigs/ --enable-alpha-plugins` failed exit status 1: 2021/11/26 17:21:40 Error could not create extra-manifest ranSite1.extra-manifest3 stat extra-manifest3: no such file or directory 2021/11/26 17:21:40 Error: could not build the entire SiteConfig defined by /tmp/kust-plugin-config-913473579: stat extra-manifest3: no such file or directory Error: failure in plugin configured via /tmp/kust-plugin-config-913473579; exit status 1: exit status 1
          Type:  ComparisonError
      Copy to Clipboard Toggle word wrap
    2. Vérifiez le champ Status.Sync. S'il y a des erreurs dans le journal, le champ Status.Sync pourrait indiquer une erreur Unknown:

      Status:
        Sync:
          Compared To:
            Destination:
              Namespace:  clusters-sub
              Server:     https://kubernetes.default.svc
            Source:
              Path:             sites-config
              Repo URL:         https://git.com/ran-sites/siteconfigs/.git
              Target Revision:  master
          Status:               Unknown
      Copy to Clipboard Toggle word wrap

Vous pouvez supprimer un site géré et les CR de politique d'installation et de configuration associés du pipeline ZTP.

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.

Précédent

  1. Supprimez un site et les CR associés en supprimant les fichiers SiteConfig et PolicyGenTemplate du fichier kustomization.yaml.

    Lorsque vous exécutez à nouveau le pipeline ZTP, les CR générés sont supprimés.

  2. Facultatif : Si vous souhaitez supprimer définitivement un site, vous devez également supprimer du dépôt Git les fichiers SiteConfig et PolicyGenTemplate spécifiques au site.
  3. Facultatif : Si vous souhaitez supprimer temporairement un site, par exemple lors du redéploiement d'un site, vous pouvez laisser les CR SiteConfig et PolicyGenTemplate spécifiques au site dans le référentiel Git.
Note

Après avoir supprimé le fichier SiteConfig du référentiel Git, si les clusters correspondants sont bloqués dans le processus de détachement, vérifiez Red Hat Advanced Cluster Management (RHACM) sur le cluster hub pour obtenir des informations sur le nettoyage du cluster détaché.

21.3.9. Suppression du contenu obsolète du pipeline ZTP

Si une modification de la configuration de PolicyGenTemplate entraîne des politiques obsolètes, par exemple si vous renommez des politiques, utilisez la procédure suivante pour supprimer les politiques obsolètes.

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.

Procédure

  1. Supprimer les fichiers PolicyGenTemplate concernés du dépôt Git, valider et pousser vers le dépôt distant.
  2. Attendez que les modifications soient synchronisées par l'application et que les stratégies concernées soient supprimées du cluster du concentrateur.
  3. Ajouter les fichiers PolicyGenTemplate mis à jour au dépôt Git, puis valider et pousser vers le dépôt distant.

    Note

    La suppression des politiques de zero touch provisioning (ZTP) du référentiel Git, et par conséquent leur suppression du hub cluster, n'affecte pas la configuration du cluster géré. La politique et les CR gérés par cette politique restent en place sur le cluster géré.

  4. Facultatif : Après avoir apporté des modifications aux CR PolicyGenTemplate qui entraînent des stratégies obsolètes, vous pouvez supprimer manuellement ces stratégies du cluster du concentrateur. Vous pouvez supprimer les politiques à partir de la console RHACM en utilisant l'onglet Governance ou en exécutant la commande suivante :

    oc delete policy -n <namespace> <policy_name>
    Copy to Clipboard Toggle word wrap

21.3.10. Démantèlement du pipeline ZTP

Vous pouvez supprimer le pipeline ArgoCD et tous les artefacts ZTP générés.

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.

Procédure

  1. Détachez tous les clusters de Red Hat Advanced Cluster Management (RHACM) sur le cluster concentrateur.
  2. Supprimez le fichier kustomization.yaml dans le répertoire deployment à l'aide de la commande suivante :

    $ oc delete -k out/argocd/deployment
    Copy to Clipboard Toggle word wrap
  3. Validez et transférez vos modifications dans le référentiel du site.
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

© 2025 Red Hat