3.4. En utilisant des sélecteurs de nœuds pour déplacer les composants de surveillance
En utilisant la contrainte nodeSelector avec des nœuds étiquetés, vous pouvez déplacer n’importe quel composant de la pile de surveillance vers des nœuds spécifiques. Ce faisant, vous pouvez contrôler le placement et la distribution des composants de surveillance sur un cluster.
En contrôlant le placement et la distribution des composants de surveillance, vous pouvez optimiser l’utilisation des ressources du système, améliorer les performances et séparer les charges de travail en fonction d’exigences ou de politiques spécifiques.
Comment les sélecteurs de nœuds fonctionnent avec d’autres contraintes
Lorsque vous déplacez les composants de surveillance en utilisant des contraintes de sélecteur de nœuds, sachez que d’autres contraintes pour contrôler la planification des pod peuvent exister pour un cluster:
- Des contraintes de propagation de la topologie pourraient être en place pour contrôler le placement des pods.
- Des règles anti-affinité dures sont en place pour Prometheus, Alertmanager et d’autres composants de surveillance pour s’assurer que plusieurs pods pour ces composants sont toujours répartis entre différents nœuds et sont donc toujours très disponibles.
Lors de la planification des pods sur les nœuds, le planificateur de pod tente de satisfaire toutes les contraintes existantes lors de la détermination du placement de la gousse. C’est-à-dire que toutes les contraintes se composent lorsque le planificateur de pod détermine quels pods seront placés sur quels nœuds.
Donc, si vous configurez une contrainte de sélecteur de nœuds mais que les contraintes existantes ne peuvent pas toutes être satisfaites, le programmeur de pod ne peut pas correspondre à toutes les contraintes et ne programmera pas un pod pour le placement sur un nœud.
Afin de maintenir la résilience et la disponibilité élevée pour les composants de surveillance, assurez-vous que suffisamment de nœuds sont disponibles et correspondent à toutes les contraintes lorsque vous configurez une contrainte de sélecteur de nœud pour déplacer un composant.
3.4.1. Déplacement des composants de surveillance vers différents nœuds Copier lienLien copié sur presse-papiers!
Il est possible de déplacer l’un des composants qui surveillent les charges de travail des projets définis par l’utilisateur vers des nœuds de travail spécifiques.
Il n’est pas permis de déplacer les composants vers des nœuds d’avion ou d’infrastructure de contrôle.
Conditions préalables
- En tant qu’utilisateur, vous avez accès au cluster avec le rôle d’administrateur dédié.
- L’objet ConfigMap existe. Cet objet est créé par défaut lorsque le cluster est créé.
- L’OpenShift CLI (oc) a été installé.
Procédure
Lorsque vous ne l’avez pas encore fait, ajoutez une étiquette aux nœuds sur lesquels vous souhaitez exécuter les composants de surveillance:
oc label nodes <node_name> <node_label>
$ oc label nodes <node_name> <node_label>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <node_name> par le nom du nœud où vous souhaitez ajouter l’étiquette. <node_label> par le nom de l’étiquette recherchée.
Éditer l’objet ConfigMap de l’utilisateur-workload-monitoring-config dans le projet openshift-user-workload-monitoring:
oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Indiquez les étiquettes des nœuds pour la contrainte nodeSelector pour le composant sous data/config.yaml:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <composant> par le nom approprié du composant de la pile de surveillance.
- 2
- Remplacez <node_label_1> par l’étiquette que vous avez ajoutée au nœud.
- 3
- Facultatif: Spécifiez des étiquettes supplémentaires. Lorsque vous spécifiez des étiquettes supplémentaires, les pods du composant ne sont programmés que sur les nœuds qui contiennent toutes les étiquettes spécifiées.
NoteLorsque les composants de surveillance restent dans un état en attente après avoir configuré la contrainte nodeSelector, vérifiez les événements de pod pour détecter les erreurs liées aux taintes et aux tolérances.
- Enregistrez le fichier pour appliquer les modifications. Les composants spécifiés dans la nouvelle configuration sont automatiquement déplacés vers les nouveaux nœuds, et les pods affectés par la nouvelle configuration sont redéployés.