Chapitre 19. Partitionnement de la charge de travail dans OpenShift à nœud unique
Dans les environnements à ressources limitées, tels que les déploiements OpenShift à nœud unique, utilisez le partitionnement de la charge de travail pour isoler les services OpenShift Container Platform, les charges de travail de gestion de cluster et les pods d'infrastructure afin qu'ils s'exécutent sur un ensemble réservé d'unités centrales.
Le nombre minimum de CPU réservés requis pour la gestion de cluster dans OpenShift à nœud unique est de quatre Hyper-Threads (HT) de CPU. Avec le partitionnement de la charge de travail, vous annotez l'ensemble des pods de gestion de cluster et un ensemble d'opérateurs complémentaires typiques à inclure dans la partition de la charge de travail de gestion de cluster. Ces modules fonctionnent normalement dans le cadre de la configuration minimale de l'unité centrale. Les opérateurs supplémentaires ou les charges de travail en dehors de l'ensemble de pods de gestion de grappes minimales nécessitent l'ajout de CPU supplémentaires à la partition de la charge de travail.
Le partitionnement de la charge de travail isole les charges de travail des utilisateurs de celles de la plateforme à l'aide des capacités d'ordonnancement standard de Kubernetes.
Voici un aperçu des configurations requises pour le partitionnement de la charge de travail :
-
Le partitionnement de la charge de travail qui utilise
/etc/crio/crio.conf.d/01-workload-partitioning
relie les pods de l'infrastructure OpenShift Container Platform à une configurationcpuset
définie. Le profil de performance épingle les services de cluster tels que systemd et kubelet aux unités centrales définies dans le champ
spec.cpu.reserved
.NoteÀ l'aide de l'opérateur de réglage du nœud, vous pouvez configurer le profil de performance pour épingler également les applications au niveau du système pour une configuration complète de partitionnement de la charge de travail sur le nœud.
-
Les CPU que vous spécifiez dans le champ du profil de performance
spec.cpu.reserved
et dans le champ du partitionnement de la charge de travailcpuset
doivent correspondre.
Le partitionnement de la charge de travail introduit une ressource <workload-type>.workload.openshift.io/cores
étendue pour chaque pool de CPU défini, ou workload type. Kubelet annonce les ressources et les demandes de CPU par les pods alloués au pool dans la ressource correspondante. Lorsque le partitionnement de la charge de travail est activé, la ressource <workload-type>.workload.openshift.io/cores
permet d'accéder à la capacité de CPU de l'hôte, et pas seulement au pool de CPU par défaut.
Ressources supplémentaires
- Pour connaître la configuration de partitionnement de la charge de travail recommandée pour les clusters OpenShift à nœud unique, voir Partitionnement de la charge de travail.