21.4. Configuration de clusters gérés avec des politiques et des ressources PolicyGenTemplate


Les ressources personnalisées (CR) de stratégie appliquée configurent les clusters gérés que vous provisionnez. Vous pouvez personnaliser la façon dont Red Hat Advanced Cluster Management (RHACM) utilise les CR PolicyGenTemplate pour générer les CR de stratégie appliquée.

21.4.1. À propos du CRD PolicyGenTemplate

La définition des ressources personnalisées (CRD) de PolicyGenTemplate indique au générateur de politiques PolicyGen les ressources personnalisées (CR) à inclure dans la configuration du cluster, la manière de combiner les CR dans les politiques générées et les éléments de ces CR qui doivent être mis à jour avec le contenu superposé.

L'exemple suivant montre un CR PolicyGenTemplate (common-du-ranGen.yaml) extrait du conteneur de référence ztp-site-generate. Le fichier common-du-ranGen.yaml définit deux politiques de Red Hat Advanced Cluster Management (RHACM). Les politiques gèrent une collection de CR de configuration, une pour chaque valeur unique de policyName dans le CR. common-du-ranGen.yaml crée une liaison de placement unique et une règle de placement pour lier les politiques aux clusters en fonction des étiquettes répertoriées dans la section bindingRules.

Exemple de PolicyGenTemplate CR - common-du-ranGen.yaml

---
apiVersion: ran.openshift.io/v1
kind: PolicyGenTemplate
metadata:
  name: "common"
  namespace: "ztp-common"
spec:
  bindingRules:
    common: "true" 1
  sourceFiles: 2
    - fileName: SriovSubscription.yaml
      policyName: "subscriptions-policy"
    - fileName: SriovSubscriptionNS.yaml
      policyName: "subscriptions-policy"
    - fileName: SriovSubscriptionOperGroup.yaml
      policyName: "subscriptions-policy"
    - fileName: SriovOperatorStatus.yaml
      policyName: "subscriptions-policy"
    - fileName: PtpSubscription.yaml
      policyName: "subscriptions-policy"
    - fileName: PtpSubscriptionNS.yaml
      policyName: "subscriptions-policy"
    - fileName: PtpSubscriptionOperGroup.yaml
      policyName: "subscriptions-policy"
    - fileName: PtpOperatorStatus.yaml
      policyName: "subscriptions-policy"
    - fileName: ClusterLogNS.yaml
      policyName: "subscriptions-policy"
    - fileName: ClusterLogOperGroup.yaml
      policyName: "subscriptions-policy"
    - fileName: ClusterLogSubscription.yaml
      policyName: "subscriptions-policy"
    - fileName: ClusterLogOperatorStatus.yaml
      policyName: "subscriptions-policy"
    - fileName: StorageNS.yaml
      policyName: "subscriptions-policy"
    - fileName: StorageOperGroup.yaml
      policyName: "subscriptions-policy"
    - fileName: StorageSubscription.yaml
      policyName: "subscriptions-policy"
    - fileName: StorageOperatorStatus.yaml
      policyName: "subscriptions-policy"
    - fileName: ReduceMonitoringFootprint.yaml
      policyName: "config-policy"
    - fileName: OperatorHub.yaml 3
      policyName: "config-policy"
    - fileName: DefaultCatsrc.yaml 4
      policyName: "config-policy" 5
      metadata:
        name: redhat-operators
      spec:
        displayName: disconnected-redhat-operators
        image: registry.example.com:5000/disconnected-redhat-operators/disconnected-redhat-operator-index:v4.9
    - fileName: DisconnectedICSP.yaml
      policyName: "config-policy"
      spec:
        repositoryDigestMirrors:
        - mirrors:
          - registry.example.com:5000
          source: registry.redhat.io

1
common: "true" applique les politiques à tous les clusters portant cette étiquette.
2
Les fichiers répertoriés sous sourceFiles créent les stratégies d'opérateur pour les clusters installés.
3
OperatorHub.yaml configure l'OperatorHub pour le registre déconnecté.
4
DefaultCatsrc.yaml configure la source du catalogue pour le registre déconnecté.
5
policyName: "config-policy" configure les abonnements des opérateurs. La CR OperatorHub désactive la valeur par défaut et cette CR remplace redhat-operators par une CR CatalogSource qui pointe vers le registre déconnecté.

Une CR PolicyGenTemplate peut être construite avec n'importe quel nombre de CR incluses. Appliquez l'exemple de CR suivant dans le cluster du hub pour générer une politique contenant un seul CR :

apiVersion: ran.openshift.io/v1
kind: PolicyGenTemplate
metadata:
  name: "group-du-sno"
  namespace: "ztp-group"
spec:
  bindingRules:
    group-du-sno: ""
  mcp: "master"
  sourceFiles:
    - fileName: PtpConfigSlave.yaml
      policyName: "config-policy"
      metadata:
        name: "du-ptp-slave"
      spec:
        profile:
        - name: "slave"
          interface: "ens5f0"
          ptp4lOpts: "-2 -s --summary_interval -4"
          phc2sysOpts: "-a -r -n 24"

En utilisant le fichier source PtpConfigSlave.yaml comme exemple, le fichier définit un CR PtpConfig. La politique générée pour l'exemple PtpConfigSlave est nommée group-du-sno-config-policy. La RC PtpConfig définie dans la politique générée group-du-sno-config-policy est nommée du-ptp-slave. Le spec défini dans PtpConfigSlave.yaml est placé sous du-ptp-slave avec les autres éléments spec définis dans le fichier source.

L'exemple suivant montre le CR group-du-sno-config-policy:

apiVersion: policy.open-cluster-management.io/v1
kind: Policy
metadata:
  name: group-du-ptp-config-policy
  namespace: groups-sub
  annotations:
    policy.open-cluster-management.io/categories: CM Configuration Management
    policy.open-cluster-management.io/controls: CM-2 Baseline Configuration
    policy.open-cluster-management.io/standards: NIST SP 800-53
spec:
    remediationAction: inform
    disabled: false
    policy-templates:
        - objectDefinition:
            apiVersion: policy.open-cluster-management.io/v1
            kind: ConfigurationPolicy
            metadata:
                name: group-du-ptp-config-policy-config
            spec:
                remediationAction: inform
                severity: low
                namespaceselector:
                    exclude:
                        - kube-*
                    include:
                        - '*'
                object-templates:
                    - complianceType: musthave
                      objectDefinition:
                        apiVersion: ptp.openshift.io/v1
                        kind: PtpConfig
                        metadata:
                            name: du-ptp-slave
                            namespace: openshift-ptp
                        spec:
                            recommend:
                                - match:
                                - nodeLabel: node-role.kubernetes.io/worker-du
                                  priority: 4
                                  profile: slave
                            profile:
                                - interface: ens5f0
                                  name: slave
                                  phc2sysOpts: -a -r -n 24
                                  ptp4lConf: |
                                    [global]
                                    #
                                    # Default Data Set
                                    #
                                    twoStepFlag 1
                                    slaveOnly 0
                                    priority1 128
                                    priority2 128
                                    domainNumber 24
                                    .....

21.4.2. Recommandations pour la personnalisation des CR PolicyGenTemplate

Tenez compte des meilleures pratiques suivantes lorsque vous personnalisez la configuration du site PolicyGenTemplate ressources personnalisées (CR) :

  • Utiliser aussi peu de politiques que nécessaire. L'utilisation de moins de politiques nécessite moins de ressources. Chaque politique supplémentaire crée des frais généraux pour le cluster hub et le cluster géré déployé. Les CR sont combinés en politiques sur la base du champ policyName dans le CR PolicyGenTemplate. Les CR du même PolicyGenTemplate qui ont la même valeur pour policyName sont gérés dans le cadre d'une seule politique.
  • Dans les environnements déconnectés, utilisez une source de catalogue unique pour tous les opérateurs en configurant le registre comme un index unique contenant tous les opérateurs. Chaque CatalogSource CR supplémentaire sur les clusters gérés augmente l'utilisation du CPU.
  • MachineConfig Les CR doivent être incluses en tant que extraManifests dans la CR SiteConfig afin qu'elles soient appliquées lors de l'installation. Cela peut réduire le temps global nécessaire pour que le cluster soit prêt à déployer des applications.
  • PolicyGenTemplates doit remplacer le champ "channel" pour identifier explicitement la version souhaitée. Cela permet de s'assurer que les modifications apportées au CR source lors des mises à niveau ne mettent pas à jour l'abonnement généré.

Ressources supplémentaires

Note

Lorsque vous gérez un grand nombre de grappes de rayons sur la grappe pivot, minimisez le nombre de stratégies afin de réduire la consommation de ressources.

Le regroupement de plusieurs CR de configuration en une seule politique ou en un nombre limité de politiques est un moyen de réduire le nombre total de politiques sur le cluster du concentrateur. Lorsque l'on utilise la hiérarchie des politiques communes, de groupe et de site pour gérer la configuration du site, il est particulièrement important de combiner la configuration spécifique au site dans une seule politique.

21.4.3. PolicyGenTemplate CRs pour les déploiements RAN

Utilisez les ressources personnalisées (CR) PolicyGenTemplate (PGT) pour personnaliser la configuration appliquée au cluster en utilisant le pipeline GitOps zero touch provisioning (ZTP). La PGT CR vous permet de générer une ou plusieurs politiques pour gérer l'ensemble des CR de configuration sur votre flotte de clusters. Le PGT identifie l'ensemble des CR gérés, les regroupe dans des politiques, construit l'enveloppe de la politique autour de ces CR et associe les politiques aux clusters en utilisant des règles de liaison d'étiquettes.

La configuration de référence, obtenue à partir du conteneur ZTP GitOps, est conçue pour fournir un ensemble de fonctionnalités critiques et de paramètres de réglage des nœuds qui garantissent que le cluster peut prendre en charge les contraintes strictes de performance et d'utilisation des ressources typiques des applications RAN (Radio Access Network) Distributed Unit (DU). Les modifications ou omissions de la configuration de base peuvent affecter la disponibilité des fonctionnalités, les performances et l'utilisation des ressources. Utilisez les CR de référence PolicyGenTemplate comme base pour créer une hiérarchie de fichiers de configuration adaptés aux exigences spécifiques de votre site.

Les CR de référence PolicyGenTemplate définies pour la configuration du cluster DU RAN peuvent être extraites du conteneur GitOps ZTP ztp-site-generate. Voir "Preparing the GitOps ZTP site configuration repository" pour plus de détails.

Les CR de PolicyGenTemplate se trouvent dans le dossier ./out/argocd/example/policygentemplates. L'architecture de référence comporte des CR de configuration communs, de groupe et spécifiques au site. Chaque CR PolicyGenTemplate fait référence à d'autres CR qui se trouvent dans le dossier ./out/source-crs.

Les CR PolicyGenTemplate relatifs à la configuration des grappes RAN sont décrits ci-dessous. Des variantes sont fournies pour le groupe PolicyGenTemplate CR afin de tenir compte des différences entre les configurations de grappes à un nœud, à trois nœuds compactes et standard. De même, des variantes de configuration spécifiques au site sont fournies pour les grappes à un nœud et les grappes à plusieurs nœuds (compactes ou standard). Utilisez les variantes de configuration spécifiques au groupe et au site qui sont pertinentes pour votre déploiement.

Tableau 21.3. PolicyGenTemplate CRs pour les déploiements RAN
PolicyGenTemplate CRDescription

example-multinode-site.yaml

Contient un ensemble de CR qui s'appliquent aux clusters multi-nœuds. Ces CR configurent les caractéristiques SR-IOV typiques des installations RAN.

example-sno-site.yaml

Contient un ensemble de CRs qui s'appliquent aux clusters OpenShift à nœud unique. Ces CRs configurent les fonctionnalités SR-IOV typiques des installations RAN.

common-ranGen.yaml

Contient un ensemble de CR RAN communs qui sont appliqués à tous les clusters. Ces CR souscrivent à un ensemble d'opérateurs fournissant des fonctionnalités de cluster typiques pour la RAN ainsi que des réglages de cluster de base.

group-du-3node-ranGen.yaml

Contient les politiques RAN pour les clusters à trois nœuds uniquement.

group-du-sno-ranGen.yaml

Contient les politiques RAN pour les clusters à nœud unique uniquement.

group-du-standard-ranGen.yaml

Contient les politiques RAN pour les trois clusters de plan de contrôle standard.

group-du-3node-validator-ranGen.yaml

PolicyGenTemplate CR utilisé pour générer les différentes politiques requises pour les grappes à trois nœuds.

group-du-standard-validator-ranGen.yaml

PolicyGenTemplate CR utilisé pour générer les différentes politiques requises pour les clusters standard.

group-du-sno-validator-ranGen.yaml

PolicyGenTemplate CR utilisé pour générer les différentes politiques requises pour les clusters OpenShift à nœud unique.

21.4.4. Personnalisation d'un cluster géré avec des CR PolicyGenTemplate

Utilisez la procédure suivante pour personnaliser les stratégies appliquées au cluster géré que vous provisionnez à l'aide du pipeline 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 hub et être défini comme référentiel source pour l'application Argo CD.

Procédure

  1. Créer un CR PolicyGenTemplate pour les CR de configuration spécifiques au site.

    1. Choisissez l'exemple approprié pour votre CR dans le dossier out/argocd/example/policygentemplates, par exemple, example-sno-site.yaml ou example-multinode-site.yaml.
    2. Modifiez le champ bindingRules dans le fichier d'exemple pour qu'il corresponde à l'étiquette spécifique au site incluse dans le CR SiteConfig. Dans l'exemple de fichier SiteConfig, l'étiquette spécifique au site est sites: example-sno.

      Note

      Veillez à ce que les étiquettes définies dans votre champ PolicyGenTemplate bindingRules correspondent aux étiquettes définies dans les clusters gérés connexes SiteConfig CR.

    3. Modifiez le contenu du fichier d'exemple pour qu'il corresponde à la configuration souhaitée.
  2. Facultatif : Créez une CR PolicyGenTemplate pour toutes les CR de configuration commune qui s'appliquent à l'ensemble de la flotte de clusters.

    1. Sélectionnez l'exemple approprié pour votre CR dans le dossier out/argocd/example/policygentemplates, par exemple common-ranGen.yaml.
    2. Modifiez le contenu du fichier d'exemple pour qu'il corresponde à la configuration souhaitée.
  3. Facultatif : Créez un CR PolicyGenTemplate pour tous les CR de configuration de groupe qui s'appliquent à certains groupes de clusters dans la flotte.

    Assurez-vous que le contenu des fichiers spec superposés correspond à l'état final souhaité. À titre de référence, le répertoire out/source-crs contient la liste complète des sources-crs disponibles pour être incluses et superposées par vos modèles PolicyGenTemplate.

    Note

    En fonction des exigences spécifiques de vos clusters, il se peut que vous ayez besoin de plus d'une stratégie de groupe par type de cluster, surtout si l'on considère que les stratégies de groupe de l'exemple ont chacune un seul fichier PerformancePolicy.yaml qui ne peut être partagé sur un ensemble de clusters que si ces clusters sont constitués de configurations matérielles identiques.

    1. Sélectionnez l'exemple approprié pour votre CR dans le dossier out/argocd/example/policygentemplates, par exemple group-du-sno-ranGen.yaml.
    2. Modifiez le contenu du fichier d'exemple pour qu'il corresponde à la configuration souhaitée.
  4. Facultatif. Créez un validator inform policy PolicyGenTemplate CR pour signaler que l'installation et la configuration ZTP de la grappe déployée sont terminées. Pour plus d'informations, voir "Creating a validator inform policy".
  5. Définir tous les espaces de noms de la politique dans un fichier YAML similaire à l'exemple de fichier out/argocd/example/policygentemplates/ns.yaml.

    Important

    Ne pas inclure le CR Namespace dans le même fichier que le CR PolicyGenTemplate.

  6. Ajoutez les CR PolicyGenTemplate et Namespace au fichier kustomization.yaml dans la section des générateurs, comme dans l'exemple présenté dans out/argocd/example/policygentemplates/kustomization.yaml.
  7. Commencez les CR PolicyGenTemplate, CR Namespace et le fichier kustomization.yaml associé dans votre dépôt Git et repoussez les changements.

    Le pipeline ArgoCD détecte les modifications et commence le déploiement du cluster géré. Vous pouvez pousser les modifications vers le CR SiteConfig et le CR PolicyGenTemplate simultanément.

21.4.5. Suivi de l'avancement du déploiement de la politique de cluster géré

Le pipeline ArgoCD utilise les CR PolicyGenTemplate dans Git pour générer les politiques RHACM et les synchroniser avec le cluster central. Vous pouvez surveiller la progression de la synchronisation des politiques du cluster géré après que le service d'assistance a installé OpenShift Container Platform sur le cluster géré.

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. Le Topology Aware Lifecycle Manager (TALM) applique les politiques de configuration liées à la grappe.

    Une fois l'installation du cluster terminée et le cluster devenu Ready, un CR ClusterGroupUpgrade correspondant à ce cluster, avec une liste de politiques ordonnées définies par ran.openshift.io/ztp-deploy-wave annotations, est automatiquement créé par le TALM. Les politiques de la grappe sont appliquées dans l'ordre indiqué dans ClusterGroupUpgrade CR.

    Vous pouvez contrôler l'avancement de la réconciliation des politiques de configuration à l'aide des commandes suivantes :

    $ export CLUSTER=<clusterName>
    $ oc get clustergroupupgrades -n ztp-install $CLUSTER -o jsonpath='{.status.conditions[-1:]}' | jq

    Exemple de sortie

    {
      "lastTransitionTime": "2022-11-09T07:28:09Z",
      "message": "Remediating non-compliant policies",
      "reason": "InProgress",
      "status": "True",
      "type": "Progressing"
    }

  2. Vous pouvez contrôler l'état détaillé de la conformité de la politique de cluster en utilisant le tableau de bord RHACM ou la ligne de commande.

    1. Pour vérifier la conformité de la politique à l'aide de oc, exécutez la commande suivante :

      $ oc get policies -n $CLUSTER

      Exemple de sortie

      NAME                                                     REMEDIATION ACTION   COMPLIANCE STATE   AGE
      ztp-common.common-config-policy                          inform               Compliant          3h42m
      ztp-common.common-subscriptions-policy                   inform               NonCompliant       3h42m
      ztp-group.group-du-sno-config-policy                     inform               NonCompliant       3h42m
      ztp-group.group-du-sno-validator-du-policy               inform               NonCompliant       3h42m
      ztp-install.example1-common-config-policy-pjz9s          enforce              Compliant          167m
      ztp-install.example1-common-subscriptions-policy-zzd9k   enforce              NonCompliant       164m
      ztp-site.example1-config-policy                          inform               NonCompliant       3h42m
      ztp-site.example1-perf-policy                            inform               NonCompliant       3h42m

    2. Pour vérifier l'état des politiques à partir de la console Web RHACM, effectuez les actions suivantes :

      1. Cliquez sur Governance Find policies.
      2. Cliquez sur une politique de cluster pour vérifier son statut.

Lorsque toutes les politiques de la grappe sont conformes, l'installation et la configuration de ZTP pour la grappe sont terminées. Le label ztp-done est ajouté à la grappe.

Dans la configuration de référence, la politique finale qui devient conforme est celle définie dans la politique *-du-validator-policy. Cette politique, lorsqu'elle est conforme sur un cluster, garantit que toute la configuration du cluster, l'installation de l'Opérateur et la configuration de l'Opérateur sont terminées.

21.4.6. Validation de la génération des CR de la politique de configuration

Les ressources personnalisées (CR) de stratégie sont générées dans le même espace de noms que le site PolicyGenTemplate à partir duquel elles sont créées. Le même flux de dépannage s'applique à toutes les CR de stratégie générées à partir de PolicyGenTemplate, qu'elles soient basées sur ztp-common, ztp-group ou ztp-site, comme le montrent les commandes suivantes :

$ export NS=<espace de noms>
$ oc get policy -n $NS

L'ensemble attendu de CR enveloppés dans une politique doit être affiché.

Si la synchronisation des politiques a échoué, suivez les étapes de dépannage suivantes.

Procédure

  1. Pour afficher des informations détaillées sur les politiques, exécutez la commande suivante :

    $ oc describe -n openshift-gitops application policies
  2. Vérifiez que Status: Conditions: est affiché dans les journaux d'erreurs. Par exemple, la définition d'une adresse sourceFile→fileName: invalide génère 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/policies/ --enable-alpha-plugins` failed exit status 1: 2021/11/26 17:21:40 Error could not find test.yaml under source-crs/: no such file or directory Error: failure in plugin configured via /tmp/kust-plugin-config-52463179; exit status 1: exit status 1
        Type:  ComparisonError
  3. Vérifiez Status: Sync:. S'il y a des erreurs d'enregistrement à Status: Conditions:, le site Status: Sync: affiche Unknown ou Error:

    Status:
      Sync:
        Compared To:
          Destination:
            Namespace:  policies-sub
            Server:     https://kubernetes.default.svc
          Source:
            Path:             policies
            Repo URL:         https://git.com/ran-sites/policies/.git
            Target Revision:  master
        Status:               Error
  4. Lorsque Red Hat Advanced Cluster Management (RHACM) reconnaît que des stratégies s'appliquent à un objet ManagedCluster, les objets CR de stratégie sont appliqués à l'espace de noms du cluster. Vérifiez si les stratégies ont été copiées dans l'espace de noms du cluster :

    $ oc get policy -n $CLUSTER

    Exemple de sortie :

    NAME                                         REMEDIATION ACTION   COMPLIANCE STATE   AGE
    ztp-common.common-config-policy              inform               Compliant          13d
    ztp-common.common-subscriptions-policy       inform               Compliant          13d
    ztp-group.group-du-sno-config-policy         inform               Compliant          13d
    Ztp-group.group-du-sno-validator-du-policy   inform               Compliant          13d
    ztp-site.example-sno-config-policy           inform               Compliant          13d

    RHACM copie toutes les politiques applicables dans l'espace de noms du cluster. Les noms des stratégies copiées ont le format suivant : <policyGenTemplate.Namespace>.<policyGenTemplate.Name>-<policyName>.

  5. Vérifiez la règle de placement pour toutes les politiques qui n'ont pas été copiées dans l'espace de noms du cluster. Les matchSelector dans le PlacementRule pour ces politiques doivent correspondre aux étiquettes de l'objet ManagedCluster:

    $ oc get placementrule -n $NS
  6. Notez le nom PlacementRule approprié pour la politique, le commun, le groupe ou le site manquant, à l'aide de la commande suivante :

    oc get placementrule -n $NS <placementRuleName> -o yaml
    • Les décisions d'état doivent inclure le nom de votre cluster.
    • La paire clé-valeur de matchSelector dans la spécification doit correspondre aux étiquettes de votre cluster géré.
  7. Vérifiez les étiquettes de l'objet ManagedCluster à l'aide de la commande suivante :

    $ oc get ManagedCluster $CLUSTER -o jsonpath='{.metadata.labels}' | jq
  8. Vérifiez quelles politiques sont conformes à l'aide de la commande suivante :

    $ oc get policy -n $CLUSTER

    Si les stratégies Namespace, OperatorGroup et Subscription sont conformes mais que les stratégies de configuration de l'opérateur ne le sont pas, il est probable que les opérateurs ne se sont pas installés sur le cluster géré. Dans ce cas, les politiques de configuration de l'opérateur ne s'appliquent pas car le CRD n'est pas encore appliqué au rayon.

21.4.7. Redémarrage du rapprochement des politiques

Vous pouvez relancer le rapprochement des politiques en cas de problèmes de conformité inattendus, par exemple lorsque la ressource personnalisée (CR) ClusterGroupUpgrade a expiré.

Procédure

  1. Un CR ClusterGroupUpgrade est généré dans l'espace de noms ztp-install par le Topology Aware Lifecycle Manager une fois que le cluster géré devient Ready:

    $ export CLUSTER=<clusterName>
    $ oc get clustergroupupgrades -n ztp-install $CLUSTER
  2. Si des problèmes inattendus surviennent et que les politiques ne sont pas réclamées dans le délai configuré (4 heures par défaut), l'état de la CR ClusterGroupUpgrade est indiqué par UpgradeTimedOut:

    $ oc get clustergroupupgrades -n ztp-install $CLUSTER -o jsonpath='{.status.conditions[?(@.type=="Ready")]}'
  3. Un CR ClusterGroupUpgrade dans l'état UpgradeTimedOut redémarre automatiquement son rapprochement des politiques toutes les heures. Si vous avez modifié vos politiques, vous pouvez lancer une nouvelle tentative immédiatement en supprimant le CR ClusterGroupUpgrade existant. Cela déclenche la création automatique d'un nouveau CR ClusterGroupUpgrade qui commence immédiatement à réconcilier les politiques :

    $ oc delete clustergroupupgrades -n ztp-install $CLUSTER

Notez que lorsque le CR ClusterGroupUpgrade se termine avec le statut UpgradeCompleted et que le cluster géré a l'étiquette ztp-done appliquée, vous pouvez effectuer des changements de configuration supplémentaires en utilisant PolicyGenTemplate. La suppression du CR ClusterGroupUpgrade existant ne permet pas au TALM de générer un nouveau CR.

À ce stade, ZTP a terminé son interaction avec le cluster et toute interaction ultérieure doit être traitée comme une mise à jour et un nouveau CR ClusterGroupUpgrade créé pour la remédiation des politiques.

Ressources supplémentaires

  • Pour plus d'informations sur l'utilisation de Topology Aware Lifecycle Manager (TALM) pour construire votre propre CR ClusterGroupUpgrade, voir À propos du CR ClusterGroupUpgrade.

21.4.8. Indication de la réalisation pour les installations ZTP

Le Zero Touch Provisioning (ZTP) simplifie le processus de vérification de l'état de l'installation ZTP d'une grappe. L'état ZTP passe par trois phases : installation du cluster, configuration du cluster et ZTP terminé.

Phase d'installation du cluster
La phase d'installation du cluster est indiquée par les conditions ManagedClusterJoined et ManagedClusterAvailable dans le CR ManagedCluster. Si le CR ManagedCluster ne contient pas ces conditions, ou si la condition est fixée à False, la grappe est toujours en phase d'installation. Des détails supplémentaires sur l'installation sont disponibles dans les CR AgentClusterInstall et ClusterDeployment. Pour plus d'informations, voir "Troubleshooting GitOps ZTP".
Phase de configuration du cluster
La phase de configuration de la grappe est indiquée par une étiquette ztp-running appliquée à la CR ManagedCluster de la grappe.
ZTP fait

L'installation et la configuration du cluster sont terminées dans la phase ZTP done. Cela se traduit par la suppression de l'étiquette ztp-running et l'ajout de l'étiquette ztp-done à la CR ManagedCluster. L'étiquette ztp-done indique que la configuration a été appliquée et que la configuration de base de l'UA a terminé la mise au point du cluster.

La transition vers l'état ZTP done est conditionnée par l'état de conformité d'une politique d'information du validateur de Red Hat Advanced Cluster Management (RHACM). Cette politique capture les critères existants pour une installation terminée et valide qu'elle passe à un état conforme uniquement lorsque le provisionnement ZTP du cluster géré est terminé.

La politique d'information des validateurs permet de s'assurer que la configuration du cluster est entièrement appliquée et que les opérateurs ont terminé leur initialisation. La politique valide les éléments suivants :

  • Le site cible MachineConfigPool contient les entrées attendues et a fini d'être mis à jour. Tous les nœuds sont disponibles et ne sont pas dégradés.
  • L'opérateur SR-IOV a terminé l'initialisation, comme l'indique au moins un site SriovNetworkNodeState avec syncStatus: Succeeded.
  • Le jeu de démons PTP Operator existe.
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.