3.10. Ordonnanceur secondaire
3.10.1. Vue d'ensemble de l'ordonnanceur secondaire
Vous pouvez installer l'opérateur de planification secondaire pour exécuter un planificateur secondaire personnalisé parallèlement au planificateur par défaut afin de planifier les pods.
3.10.1.1. À propos de l'opérateur de planification secondaire
L'opérateur de planificateur secondaire pour Red Hat OpenShift permet de déployer un planificateur secondaire personnalisé dans OpenShift Container Platform. Le planificateur secondaire s'exécute en même temps que le planificateur par défaut pour planifier les pods. Les configurations des pods peuvent spécifier le planificateur à utiliser.
Le planificateur personnalisé doit avoir le binaire /bin/kube-scheduler
et être basé sur le cadre de planification Kubernetes.
Vous pouvez utiliser l'opérateur de planificateur secondaire pour déployer un planificateur secondaire personnalisé dans OpenShift Container Platform, mais Red Hat ne prend pas directement en charge la fonctionnalité du planificateur secondaire personnalisé.
L'opérateur d'ordonnancement secondaire crée les rôles par défaut et les liaisons de rôles nécessaires à l'ordonnateur secondaire. Vous pouvez spécifier les plugins de planification à activer ou à désactiver en configurant la ressource KubeSchedulerConfiguration
pour l'ordonnanceur secondaire.
3.10.2. Notes de publication de Secondary Scheduler Operator pour Red Hat OpenShift
L'opérateur de planificateur secondaire pour Red Hat OpenShift vous permet de déployer un planificateur secondaire personnalisé dans votre cluster OpenShift Container Platform.
Ces notes de version suivent le développement de l'opérateur d'ordonnancement secondaire pour Red Hat OpenShift.
Pour plus d'informations, voir À propos de l'opérateur de planification secondaire.
3.10.2.1. Notes de version pour Secondary Scheduler Operator pour Red Hat OpenShift 1.1.0
Publié : 2022-9-1
L'avis suivant est disponible pour le Secondary Scheduler Operator pour Red Hat OpenShift 1.1.0 :
3.10.2.1.1. Nouvelles fonctionnalités et améliorations
- La configuration du contexte de sécurité de l'opérateur de planification secondaire a été mise à jour pour se conformer à l'application de l'admission à la sécurité des pods.
3.10.2.1.2. Problèmes connus
- Actuellement, vous ne pouvez pas déployer de ressources supplémentaires, telles que des cartes de configuration, des CRD ou des stratégies RBAC par l'intermédiaire de l'opérateur de planification secondaire. Toutes les ressources autres que les rôles et les liaisons de rôles requises par votre planificateur secondaire personnalisé doivent être appliquées en externe. (BZ#2071684)
3.10.3. Ordonnancement de pods à l'aide d'un ordonnanceur secondaire
Vous pouvez exécuter un planificateur secondaire personnalisé dans OpenShift Container Platform en installant l'opérateur de planificateur secondaire, en déployant le planificateur secondaire et en définissant le planificateur secondaire dans la définition du pod.
3.10.3.1. Installation de l'opérateur de planification secondaire
Vous pouvez utiliser la console web pour installer l'opérateur de planification secondaire pour Red Hat OpenShift.
Conditions préalables
-
Vous avez accès au cluster avec les privilèges
cluster-admin
. - Vous avez accès à la console web de OpenShift Container Platform.
Procédure
- Connectez-vous à la console web de OpenShift Container Platform.
Créez l'espace de noms requis pour l'opérateur de planification secondaire pour Red Hat OpenShift.
-
Naviguez jusqu'à Administration
Namespaces et cliquez sur Create Namespace. -
Saisissez
openshift-secondary-scheduler-operator
dans le champ Name et cliquez sur Create.
-
Naviguez jusqu'à Administration
Installez l'opérateur de planification secondaire pour Red Hat OpenShift.
-
Naviguez jusqu'à Operators
OperatorHub. - Saisissez Secondary Scheduler Operator for Red Hat OpenShift dans le champ de filtre.
- Sélectionnez le site Secondary Scheduler Operator for Red Hat OpenShift et cliquez sur Install.
Sur la page Install Operator:
- Le site Update channel est défini sur stable, ce qui installe la dernière version stable du Secondary Scheduler Operator pour Red Hat OpenShift.
- Sélectionnez A specific namespace on the cluster et sélectionnez openshift-secondary-scheduler-operator dans le menu déroulant.
Sélectionnez une stratégie Update approval.
- La stratégie Automatic permet à Operator Lifecycle Manager (OLM) de mettre automatiquement à jour l'opérateur lorsqu'une nouvelle version est disponible.
- La stratégie Manual exige qu'un utilisateur disposant des informations d'identification appropriées approuve la mise à jour de l'opérateur.
- Cliquez sur Install.
-
Naviguez jusqu'à Operators
Vérification
-
Naviguez jusqu'à Operators
Installed Operators. - Vérifiez que Secondary Scheduler Operator for Red Hat OpenShift est répertorié avec Status de Succeeded.
3.10.3.2. Déploiement d'un planificateur secondaire
Après avoir installé l'opérateur de planification secondaire, vous pouvez déployer un planificateur secondaire.
Conditions préalables
-
Vous avez accès au cluster avec les privilèges
cluster-admin
. - Vous avez accès à la console web de OpenShift Container Platform.
- L'opérateur de planificateur secondaire pour Red Hat OpenShift est installé.
Procédure
- Connectez-vous à la console web de OpenShift Container Platform.
Créer une carte de configuration pour contenir la configuration de l'ordonnanceur secondaire.
-
Naviguez jusqu'à Workloads
ConfigMaps. - Cliquez sur Create ConfigMap.
Dans l'éditeur YAML, entrez la définition de la carte de configuration qui contient la configuration nécessaire de
KubeSchedulerConfiguration
. Par exemple :apiVersion: v1 kind: ConfigMap metadata: name: "secondary-scheduler-config" 1 namespace: "openshift-secondary-scheduler-operator" 2 data: "config.yaml": | apiVersion: kubescheduler.config.k8s.io/v1beta3 kind: KubeSchedulerConfiguration 3 leaderElection: leaderElect: false profiles: - schedulerName: secondary-scheduler 4 plugins: 5 score: disabled: - name: NodeResourcesBalancedAllocation - name: NodeResourcesLeastAllocated
- 1
- Le nom de la carte de configuration. Il est utilisé dans le champ Scheduler Config lors de la création du CR
SecondaryScheduler
. - 2
- La carte de configuration doit être créée dans l'espace de noms
openshift-secondary-scheduler-operator
. - 3
- La ressource
KubeSchedulerConfiguration
pour l'ordonnanceur secondaire. Pour plus d'informations, voirKubeSchedulerConfiguration
dans la documentation de l'API Kubernetes. - 4
- Nom de l'ordonnanceur secondaire. Les pods dont le champ
spec.schedulerName
contient cette valeur sont planifiés avec cet ordonnanceur secondaire. - 5
- Les plugins à activer ou désactiver pour l'ordonnanceur secondaire. Pour une liste des plugins d'ordonnancement par défaut, voir Scheduling plugins dans la documentation Kubernetes.
- Cliquez sur Create.
-
Naviguez jusqu'à Workloads
Créer le CR
SecondaryScheduler
:-
Naviguez jusqu'à Operators
Installed Operators. - Sélectionnez Secondary Scheduler Operator for Red Hat OpenShift.
- Sélectionnez l'onglet Secondary Scheduler et cliquez sur Create SecondaryScheduler.
-
La valeur par défaut du champ Name est
cluster
; ne modifiez pas ce nom. -
Le champ Scheduler Config a pour valeur par défaut
secondary-scheduler-config
. Assurez-vous que cette valeur correspond au nom de la carte de configuration créée plus tôt dans cette procédure. Dans le champ Scheduler Image, saisissez le nom de l'image de votre programmateur personnalisé.
ImportantRed Hat ne prend pas directement en charge la fonctionnalité de votre planificateur secondaire personnalisé.
- Cliquez sur Create.
-
Naviguez jusqu'à Operators
3.10.3.3. Programmation d'un pod à l'aide de l'ordonnanceur secondaire
Pour planifier un pod à l'aide du planificateur secondaire, définissez le champ schedulerName
dans la définition du pod.
Conditions préalables
-
Vous avez accès au cluster avec les privilèges
cluster-admin
. - Vous avez accès à la console web de OpenShift Container Platform.
- L'opérateur de planificateur secondaire pour Red Hat OpenShift est installé.
- Un planificateur secondaire est configuré.
Procédure
- Connectez-vous à la console web de OpenShift Container Platform.
-
Navigate to Workloads
Pods. - Cliquez sur Create Pod.
Dans l'éditeur YAML, entrez la configuration de pod souhaitée et ajoutez le champ
schedulerName
:apiVersion: v1 kind: Pod metadata: name: nginx namespace: default spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80 schedulerName: secondary-scheduler 1
- 1
- Le champ
schedulerName
doit correspondre au nom défini dans la carte de configuration lorsque vous avez configuré l'ordonnanceur secondaire.
- Cliquez sur Create.
Vérification
- Connectez-vous à l'interface CLI d'OpenShift.
Décrivez le pod à l'aide de la commande suivante :
$ oc describe pod nginx -n default
Exemple de sortie
Name: nginx Namespace: default Priority: 0 Node: ci-ln-t0w4r1k-72292-xkqs4-worker-b-xqkxp/10.0.128.3 ... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 12s secondary-scheduler Successfully assigned default/nginx to ci-ln-t0w4r1k-72292-xkqs4-worker-b-xqkxp ...
-
Dans le tableau des événements, recherchez l'événement dont le message est similaire à
Successfully assigned <namespace>/<pod_name> to <node_name>
. Dans la colonne "From", vérifiez que l'événement a été généré par le planificateur secondaire et non par le planificateur par défaut.
NoteVous pouvez également consulter les journaux de pods de
secondary-scheduler-*
dansopenshift-secondary-scheduler-namespace
pour vérifier que le pod a été planifié par le planificateur secondaire.
3.10.4. Désinstallation de l'opérateur de planification secondaire
Vous pouvez supprimer l'opérateur Secondary Scheduler Operator for Red Hat OpenShift de OpenShift Container Platform en désinstallant l'opérateur et en supprimant ses ressources associées.
3.10.4.1. Désinstallation de l'opérateur de planification secondaire
Vous pouvez désinstaller l'opérateur de planification secondaire pour Red Hat OpenShift à l'aide de la console web.
Conditions préalables
-
Vous avez accès au cluster avec les privilèges
cluster-admin
. - Vous avez accès à la console web de OpenShift Container Platform.
- L'opérateur de planificateur secondaire pour Red Hat OpenShift est installé.
Procédure
- Connectez-vous à la console web de OpenShift Container Platform.
Désinstallez l'opérateur de planification secondaire pour Red Hat OpenShift Operator.
-
Naviguez jusqu'à Operators
Installed Operators. - Cliquez sur le menu Options à côté de l'entrée Secondary Scheduler Operator et cliquez sur Uninstall Operator.
- Dans la boîte de dialogue de confirmation, cliquez sur Uninstall.
-
Naviguez jusqu'à Operators
3.10.4.2. Suppression des ressources de l'opérateur de planification secondaire
En option, après avoir désinstallé l'opérateur de planificateur secondaire pour Red Hat OpenShift, vous pouvez supprimer ses ressources connexes de votre cluster.
Conditions préalables
-
Vous avez accès au cluster avec les privilèges
cluster-admin
. - Vous avez accès à la console web de OpenShift Container Platform.
Procédure
- Connectez-vous à la console web de OpenShift Container Platform.
Supprimez les CRD qui ont été installés par l'opérateur de planification secondaire :
-
Naviguez jusqu'à Administration
CustomResourceDefinitions. -
Saisissez
SecondaryScheduler
dans le champ Name pour filtrer les CRD. - Cliquez sur le menu Options à côté du CRD SecondaryScheduler et sélectionnez Delete Custom Resource Definition:
-
Naviguez jusqu'à Administration
Supprimer l'espace de noms
openshift-secondary-scheduler-operator
.-
Naviguez jusqu'à Administration
Namespaces. - Cliquez sur le menu Options à côté de openshift-secondary-scheduler-operator et sélectionnez Delete Namespace.
-
Dans la boîte de dialogue de confirmation, saisissez
openshift-secondary-scheduler-operator
dans le champ et cliquez sur Delete.
-
Naviguez jusqu'à Administration