3.8. Configuration de l'optimisation des nœuds dans un cluster hébergé
Les plans de contrôle hébergés sont une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
Pour définir le réglage au niveau du nœud sur les nœuds de votre cluster hébergé, vous pouvez utiliser l'opérateur de réglage des nœuds. Dans les plans de contrôle hébergés, vous pouvez configurer l'optimisation des nœuds en créant des cartes de configuration contenant des objets Tuned
et en référençant ces cartes de configuration dans vos pools de nœuds.
Procédure
Créez une carte de configuration contenant un manifeste accordé valide et faites référence à ce manifeste dans un pool de nœuds. Dans l'exemple suivant, un manifeste
Tuned
définit un profil qui attribue la valeur 55 àvm.dirty_ratio
sur les nœuds contenant l'étiquette de nœudtuned-1-node-label
avec n'importe quelle valeur. Enregistrez le manifesteConfigMap
suivant dans un fichier nommétuned-1.yaml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1 kind: ConfigMap metadata: name: tuned-1 namespace: clusters data: tuning: | apiVersion: tuned.openshift.io/v1 kind: Tuned metadata: name: tuned-1 namespace: openshift-cluster-node-tuning-operator spec: profile: - data: | [main] summary=Custom OpenShift profile include=openshift-node [sysctl] vm.dirty_ratio="55" name: tuned-1-profile recommend: - priority: 20 profile: tuned-1-profile
apiVersion: v1 kind: ConfigMap metadata: name: tuned-1 namespace: clusters data: tuning: | apiVersion: tuned.openshift.io/v1 kind: Tuned metadata: name: tuned-1 namespace: openshift-cluster-node-tuning-operator spec: profile: - data: | [main] summary=Custom OpenShift profile include=openshift-node [sysctl] vm.dirty_ratio="55" name: tuned-1-profile recommend: - priority: 20 profile: tuned-1-profile
NoteSi vous n'ajoutez pas d'étiquettes à une entrée de la section
spec.recommend
de la spécification accordée, la correspondance basée sur le pool de nœuds est supposée, de sorte que le profil de priorité le plus élevé de la sectionspec.recommend
est appliqué aux nœuds du pool. Bien que vous puissiez obtenir une correspondance plus fine basée sur les étiquettes de nœuds en définissant une valeur d'étiquette dans la section Tuned.spec.recommend.match
, les étiquettes de nœuds ne seront pas conservées lors d'une mise à niveau, à moins que vous ne définissiez la valeur.spec.management.upgradeType
du pool de nœuds surInPlace
.Créez l'objet
ConfigMap
dans le cluster de gestion :Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc --kubeconfig="$MGMT_KUBECONFIG" create -f tuned-1.yaml
$ oc --kubeconfig="$MGMT_KUBECONFIG" create -f tuned-1.yaml
Faites référence à l'objet
ConfigMap
dans le champspec.tuningConfig
de la réserve de nœuds, soit en modifiant une réserve de nœuds, soit en en créant une. Dans cet exemple, nous supposons que vous n'avez qu'un seulNodePool
, nomménodepool-1
, qui contient 2 nœuds.Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: hypershift.openshift.io/v1alpha1 kind: NodePool metadata: ... name: nodepool-1 namespace: clusters ... spec: ... tuningConfig: - name: tuned-1 status: ...
apiVersion: hypershift.openshift.io/v1alpha1 kind: NodePool metadata: ... name: nodepool-1 namespace: clusters ... spec: ... tuningConfig: - name: tuned-1 status: ...
NoteVous pouvez référencer la même carte de configuration dans plusieurs pools de nœuds. Dans les plans de contrôle hébergés, l'opérateur d'accord de nœud ajoute un hachage du nom du pool de nœuds et de l'espace de noms au nom des CR accordés pour les distinguer. En dehors de ce cas, ne créez pas plusieurs profils TuneD du même nom dans différents CR accordés pour le même cluster hébergé.
Vérification
Maintenant que vous avez créé l'objet ConfigMap
qui contient un manifeste Tuned
et que vous l'avez référencé dans un manifeste NodePool
, l'opérateur Node Tuning synchronise les objets Tuned
dans le cluster hébergé. Vous pouvez vérifier quels objets Tuned
sont définis et quels profils TuneD sont appliqués à chaque nœud.
Liste des objets
Tuned
dans le cluster hébergé :Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc --kubeconfig="$HC_KUBECONFIG" get Tuneds -n openshift-cluster-node-tuning-operator
$ oc --kubeconfig="$HC_KUBECONFIG" get Tuneds -n openshift-cluster-node-tuning-operator
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME AGE default 7m36s rendered 7m36s tuned-1 65s
NAME AGE default 7m36s rendered 7m36s tuned-1 65s
Liste des objets
Profile
dans le cluster hébergé :Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc --kubeconfig="$HC_KUBECONFIG" get Profiles -n openshift-cluster-node-tuning-operator
$ oc --kubeconfig="$HC_KUBECONFIG" get Profiles -n openshift-cluster-node-tuning-operator
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME TUNED APPLIED DEGRADED AGE nodepool-1-worker-1 tuned-1-profile True False 7m43s nodepool-1-worker-2 tuned-1-profile True False 7m14s
NAME TUNED APPLIED DEGRADED AGE nodepool-1-worker-1 tuned-1-profile True False 7m43s nodepool-1-worker-2 tuned-1-profile True False 7m14s
NoteSi aucun profil personnalisé n'est créé, le profil
openshift-node
est appliqué par défaut.Pour confirmer que le réglage a été appliqué correctement, lancez un shell de débogage sur un nœud et vérifiez les valeurs sysctl :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc --kubeconfig="$HC_KUBECONFIG" debug node/nodepool-1-worker-1 -- chroot /host sysctl vm.dirty_ratio
$ oc --kubeconfig="$HC_KUBECONFIG" debug node/nodepool-1-worker-1 -- chroot /host sysctl vm.dirty_ratio
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow vm.dirty_ratio = 55
vm.dirty_ratio = 55