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 CROperatorHub
désactive la valeur par défaut et cette CR remplaceredhat-operators
par une CRCatalogSource
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 CRPolicyGenTemplate
. Les CR du mêmePolicyGenTemplate
qui ont la même valeur pourpolicyName
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 queextraManifests
dans la CRSiteConfig
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
- Pour des recommandations sur la mise à l'échelle des clusters avec RHACM, voir Performances et évolutivité.
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.
PolicyGenTemplate CR | Description |
---|---|
| 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. |
| 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. |
| 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. |
| Contient les politiques RAN pour les clusters à trois nœuds uniquement. |
| Contient les politiques RAN pour les clusters à nœud unique uniquement. |
| Contient les politiques RAN pour les trois clusters de plan de contrôle standard. |
|
|
|
|
|
|
Ressources supplémentaires
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
Créer un CR
PolicyGenTemplate
pour les CR de configuration spécifiques au site.-
Choisissez l'exemple approprié pour votre CR dans le dossier
out/argocd/example/policygentemplates
, par exemple,example-sno-site.yaml
ouexample-multinode-site.yaml
. Modifiez le champ
bindingRules
dans le fichier d'exemple pour qu'il corresponde à l'étiquette spécifique au site incluse dans le CRSiteConfig
. Dans l'exemple de fichierSiteConfig
, l'étiquette spécifique au site estsites: example-sno
.NoteVeillez à ce que les étiquettes définies dans votre champ
PolicyGenTemplate
bindingRules
correspondent aux étiquettes définies dans les clusters gérés connexesSiteConfig
CR.- Modifiez le contenu du fichier d'exemple pour qu'il corresponde à la configuration souhaitée.
-
Choisissez l'exemple approprié pour votre CR dans le dossier
Facultatif : Créez une CR
PolicyGenTemplate
pour toutes les CR de configuration commune qui s'appliquent à l'ensemble de la flotte de clusters.-
Sélectionnez l'exemple approprié pour votre CR dans le dossier
out/argocd/example/policygentemplates
, par exemplecommon-ranGen.yaml
. - Modifiez le contenu du fichier d'exemple pour qu'il corresponde à la configuration souhaitée.
-
Sélectionnez l'exemple approprié pour votre CR dans le dossier
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.
NoteEn 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.
-
Sélectionnez l'exemple approprié pour votre CR dans le dossier
out/argocd/example/policygentemplates
, par exemplegroup-du-sno-ranGen.yaml
. - Modifiez le contenu du fichier d'exemple pour qu'il corresponde à la configuration souhaitée.
-
Sélectionnez l'exemple approprié pour votre CR dans le dossier
-
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". 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
.ImportantNe pas inclure le CR
Namespace
dans le même fichier que le CRPolicyGenTemplate
.-
Ajoutez les CR
PolicyGenTemplate
etNamespace
au fichierkustomization.yaml
dans la section des générateurs, comme dans l'exemple présenté dansout/argocd/example/policygentemplates/kustomization.yaml
. Commencez les CR
PolicyGenTemplate
, CRNamespace
et le fichierkustomization.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 CRPolicyGenTemplate
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
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 CRClusterGroupUpgrade
correspondant à ce cluster, avec une liste de politiques ordonnées définies parran.openshift.io/ztp-deploy-wave annotations
, est automatiquement créé par le TALM. Les politiques de la grappe sont appliquées dans l'ordre indiqué dansClusterGroupUpgrade
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" }
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.
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
Pour vérifier l'état des politiques à partir de la console Web RHACM, effectuez les actions suivantes :
-
Cliquez sur Governance
Find policies. - Cliquez sur une politique de cluster pour vérifier son statut.
-
Cliquez sur Governance
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
Pour afficher des informations détaillées sur les politiques, exécutez la commande suivante :
$ oc describe -n openshift-gitops application policies
Vérifiez que
Status: Conditions:
est affiché dans les journaux d'erreurs. Par exemple, la définition d'une adressesourceFile→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
Vérifiez
Status: Sync:
. S'il y a des erreurs d'enregistrement àStatus: Conditions:
, le siteStatus: Sync:
afficheUnknown
ouError
: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
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>
.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 lePlacementRule
pour ces politiques doivent correspondre aux étiquettes de l'objetManagedCluster
:$ oc get placementrule -n $NS
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é.
Vérifiez les étiquettes de l'objet
ManagedCluster
à l'aide de la commande suivante :$ oc get ManagedCluster $CLUSTER -o jsonpath='{.metadata.labels}' | jq
Vérifiez quelles politiques sont conformes à l'aide de la commande suivante :
$ oc get policy -n $CLUSTER
Si les stratégies
Namespace
,OperatorGroup
etSubscription
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
Un CR
ClusterGroupUpgrade
est généré dans l'espace de nomsztp-install
par le Topology Aware Lifecycle Manager une fois que le cluster géré devientReady
:$ export CLUSTER=<clusterName>
$ oc get clustergroupupgrades -n ztp-install $CLUSTER
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é parUpgradeTimedOut
:$ oc get clustergroupupgrades -n ztp-install $CLUSTER -o jsonpath='{.status.conditions[?(@.type=="Ready")]}'
Un CR
ClusterGroupUpgrade
dans l'étatUpgradeTimedOut
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 CRClusterGroupUpgrade
existant. Cela déclenche la création automatique d'un nouveau CRClusterGroupUpgrade
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
etManagedClusterAvailable
dans le CRManagedCluster
. Si le CRManagedCluster
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 CRAgentClusterInstall
etClusterDeployment
. 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 CRManagedCluster
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'étiquetteztp-done
à la CRManagedCluster
. L'étiquetteztp-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
avecsyncStatus: Succeeded
. - Le jeu de démons PTP Operator existe.
-
Le site cible