5.4. Déploiement de l'ordonnanceur de pods secondaire NUMA-aware
Après avoir installé l'opérateur de ressources NUMA, procédez comme suit pour déployer le planificateur de pods secondaire compatible NUMA :
- Configurer la politique d'admission des pods pour le profil de machine requis
- Créer le pool de configuration machine requis
- Déployer l'ordonnanceur secondaire compatible NUMA
Conditions préalables
-
Installez le CLI OpenShift (
oc
). -
Connectez-vous en tant qu'utilisateur disposant des privilèges
cluster-admin
. - Installer l'opérateur de ressources NUMA.
Procédure
Créez la ressource personnalisée
KubeletConfig
qui configure la politique d'admission des pods pour le profil de la machine :Enregistrez le YAML suivant dans le fichier
nro-kubeletconfig.yaml
:apiVersion: machineconfiguration.openshift.io/v1 kind: KubeletConfig metadata: name: cnf-worker-tuning spec: machineConfigPoolSelector: matchLabels: cnf-worker-tuning: enabled kubeletConfig: cpuManagerPolicy: "static" 1 cpuManagerReconcilePeriod: "5s" reservedSystemCPUs: "0,1" memoryManagerPolicy: "Static" 2 evictionHard: memory.available: "100Mi" kubeReserved: memory: "512Mi" reservedMemory: - numaNode: 0 limits: memory: "1124Mi" systemReserved: memory: "512Mi" topologyManagerPolicy: "single-numa-node" 3 topologyManagerScope: "pod"
Créez la ressource personnalisée (CR)
KubeletConfig
en exécutant la commande suivante :$ oc create -f nro-kubeletconfig.yaml
Créer la ressource personnalisée
NUMAResourcesScheduler
qui déploie le planificateur de pods personnalisé NUMA-aware :Enregistrez le YAML suivant dans le fichier
nro-scheduler.yaml
:apiVersion: nodetopology.openshift.io/v1alpha1 kind: NUMAResourcesScheduler metadata: name: numaresourcesscheduler spec: imageSpec: "registry.redhat.io/openshift4/noderesourcetopology-scheduler-container-rhel8:v4.12"
Créez le CR
NUMAResourcesScheduler
en exécutant la commande suivante :$ oc create -f nro-scheduler.yaml
Vérification
Vérifiez que les ressources requises ont été déployées avec succès en exécutant la commande suivante :
$ oc get all -n openshift-numaresources
Exemple de sortie
NAME READY STATUS RESTARTS AGE pod/numaresources-controller-manager-7575848485-bns4s 1/1 Running 0 13m pod/numaresourcesoperator-worker-dvj4n 2/2 Running 0 16m pod/numaresourcesoperator-worker-lcg4t 2/2 Running 0 16m pod/secondary-scheduler-56994cf6cf-7qf4q 1/1 Running 0 16m NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/numaresourcesoperator-worker 2 2 2 2 2 node-role.kubernetes.io/worker= 16m NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/numaresources-controller-manager 1/1 1 1 13m deployment.apps/secondary-scheduler 1/1 1 1 16m NAME DESIRED CURRENT READY AGE replicaset.apps/numaresources-controller-manager-7575848485 1 1 1 13m replicaset.apps/secondary-scheduler-56994cf6cf 1 1 1 16m