3.9. Réglage avancé des nœuds pour les clusters hébergés en définissant les paramètres de démarrage du noyau
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 des réglages plus avancés dans les plans de contrôle hébergés, qui nécessitent la définition de paramètres d'amorçage du noyau, vous pouvez également utiliser l'opérateur de réglage des nœuds. L'exemple suivant montre comment créer un pool de nœuds avec d'énormes pages réservées.
Procédure
Créez un objet
ConfigMapqui contient un manifeste d'objetTunedpour la création de 10 pages énormes d'une taille de 2 Mo. Enregistrez ce manifesteConfigMapdans un fichier nommétuned-hugepages.yaml:apiVersion: v1 kind: ConfigMap metadata: name: tuned-hugepages namespace: clusters data: tuning: | apiVersion: tuned.openshift.io/v1 kind: Tuned metadata: name: hugepages namespace: openshift-cluster-node-tuning-operator spec: profile: - data: | [main] summary=Boot time configuration for hugepages include=openshift-node [bootloader] cmdline_openshift_node_hugepages=hugepagesz=2M hugepages=50 name: openshift-node-hugepages recommend: - priority: 20 profile: openshift-node-hugepagesNoteLe champ
.spec.recommend.matchest intentionnellement laissé vide. Dans ce cas, l'objetTunedest appliqué à tous les nœuds du pool de nœuds dans lequel l'objetConfigMapest référencé. Regroupez les nœuds ayant la même configuration matérielle dans le même pool de nœuds. Sinon, les opérandes TuneD peuvent calculer des paramètres de noyau contradictoires pour deux nœuds ou plus qui partagent le même pool de nœuds.Créez l'objet
ConfigMapdans le cluster de gestion :$ oc --kubeconfig="$MGMT_KUBECONFIG" create -f tuned-hugepages.yamlCréez un fichier YAML de manifeste
NodePool, personnalisez le type de mise à niveau deNodePoolet faites référence à l'objetConfigMapque vous avez créé dans la sectionspec.tuningConfig. Créez le manifesteNodePoolet enregistrez-le dans un fichier nomméhugepages-nodepool.yamlà l'aide du CLIhypershift:NODEPOOL_NAME=hugepages-example INSTANCE_TYPE=m5.2xlarge NODEPOOL_REPLICAS=2 hypershift create nodepool aws \ --cluster-name $CLUSTER_NAME \ --name $NODEPOOL_NAME \ --node-count $NODEPOOL_REPLICAS \ --instance-type $INSTANCE_TYPE \ --render > hugepages-nodepool.yamlDans le fichier
hugepages-nodepool.yaml, définissez.spec.management.upgradeTypecommeInPlace, et définissez.spec.tuningConfigcomme faisant référence à l'objettuned-hugepagesConfigMapque vous avez créé.apiVersion: hypershift.openshift.io/v1alpha1 kind: NodePool metadata: name: hugepages-nodepool namespace: clusters ... spec: management: ... upgradeType: InPlace ... tuningConfig: - name: tuned-hugepagesNotePour éviter de recréer inutilement des nœuds lorsque vous appliquez les nouveaux objets
MachineConfig, définissez.spec.management.upgradeTypesurInPlace. Si vous utilisez le type de mise à niveauReplace, les nœuds sont entièrement supprimés et de nouveaux nœuds peuvent les remplacer lorsque vous appliquez les nouveaux paramètres d'amorçage du noyau calculés par l'opérande TuneD.Créez le site
NodePooldans le cluster de gestion :$ oc --kubeconfig="$MGMT_KUBECONFIG" create -f hugepages-nodepool.yaml
Vérification
Une fois les nœuds disponibles, le démon TuneD conteneurisé calcule les paramètres d'amorçage du noyau requis en fonction du profil TuneD appliqué. Une fois que les nœuds sont prêts et redémarrent une fois pour appliquer l'objet MachineConfig généré, vous pouvez vérifier que le profil TuneD est appliqué et que les paramètres d'amorçage du noyau sont définis.
Liste des objets
Tuneddans le cluster hébergé :$ oc --kubeconfig="$HC_KUBECONFIG" get Tuneds -n openshift-cluster-node-tuning-operatorExemple de sortie
NAME AGE default 123m hugepages-8dfb1fed 1m23s rendered 123mListe des objets
Profiledans le cluster hébergé :$ oc --kubeconfig="$HC_KUBECONFIG" get Profiles -n openshift-cluster-node-tuning-operatorExemple de sortie
NAME TUNED APPLIED DEGRADED AGE nodepool-1-worker-1 openshift-node True False 132m nodepool-1-worker-2 openshift-node True False 131m hugepages-nodepool-worker-1 openshift-node-hugepages True False 4m8s hugepages-nodepool-worker-2 openshift-node-hugepages True False 3m57sLes deux nœuds de travail du nouveau site
NodePoolsont dotés du profilopenshift-node-hugepages.Pour confirmer que le réglage a été appliqué correctement, démarrez un shell de débogage sur un nœud et vérifiez
/proc/cmdline.$ oc --kubeconfig="$HC_KUBECONFIG" debug node/nodepool-1-worker-1 -- chroot /host cat /proc/cmdlineExemple de sortie
BOOT_IMAGE=(hd0,gpt3)/ostree/rhcos-... hugepagesz=2M hugepages=50