3.7. Placer des pods sur des nœuds spécifiques en utilisant des sélecteurs de nœuds
Un site node selector spécifie une carte de paires clé/valeur définies à l'aide d'étiquettes personnalisées sur les nœuds et de sélecteurs spécifiés dans les pods.
Pour qu'un module puisse être exécuté sur un nœud, il doit avoir le même sélecteur de nœud clé/valeur que l'étiquette du nœud.
3.7.1. À propos des sélecteurs de nœuds Copier lienLien copié sur presse-papiers!
Vous pouvez utiliser des sélecteurs de nœuds sur les pods et des étiquettes sur les nœuds pour contrôler l'endroit où le pod est planifié. Avec les sélecteurs de nœuds, OpenShift Container Platform planifie les pods sur les nœuds qui contiennent les étiquettes correspondantes.
Vous pouvez utiliser un sélecteur de nœud pour placer des pods spécifiques sur des nœuds spécifiques, des sélecteurs de nœuds à l'échelle du cluster pour placer de nouveaux pods sur des nœuds spécifiques n'importe où dans le cluster, et des sélecteurs de nœuds de projet pour placer de nouveaux pods dans un projet sur des nœuds spécifiques.
Par exemple, en tant qu'administrateur de cluster, vous pouvez créer une infrastructure dans laquelle les développeurs d'applications peuvent déployer des pods uniquement sur les nœuds les plus proches de leur emplacement géographique en incluant un sélecteur de nœud dans chaque pod qu'ils créent. Dans cet exemple, le cluster se compose de cinq centres de données répartis dans deux régions. Aux États-Unis, les nœuds sont étiquetés us-east
, us-central
ou us-west
. Dans la région Asie-Pacifique (APAC), les nœuds sont étiquetés apac-east
ou apac-west
. Les développeurs peuvent ajouter un sélecteur de nœud aux pods qu'ils créent pour s'assurer que les pods sont planifiés sur ces nœuds.
Un pod n'est pas programmé si l'objet Pod
contient un sélecteur de nœud, mais qu'aucun nœud n'a d'étiquette correspondante.
Si vous utilisez des sélecteurs de nœuds et des affinités de nœuds dans la même configuration de pods, les règles suivantes contrôlent le placement des pods sur les nœuds :
-
Si vous configurez à la fois
nodeSelector
etnodeAffinity
, les deux conditions doivent être remplies pour que le pod soit planifié sur un nœud candidat. -
Si vous spécifiez plusieurs
nodeSelectorTerms
associés à des typesnodeAffinity
, le module peut être programmé sur un nœud si l'un desnodeSelectorTerms
est satisfait. -
Si vous spécifiez plusieurs
matchExpressions
associés ànodeSelectorTerms
, le module ne peut être programmé sur un nœud que si tous lesmatchExpressions
sont satisfaits.
- Sélecteurs de nœuds sur des pods et des nœuds spécifiques
Vous pouvez contrôler le nœud sur lequel un pod spécifique est programmé en utilisant des sélecteurs de nœuds et des étiquettes.
Pour utiliser les sélecteurs de nœuds et les étiquettes, il faut d'abord étiqueter le nœud afin d'éviter que les modules ne soient désordonnés, puis ajouter le sélecteur de nœud au module.
NoteVous ne pouvez pas ajouter un sélecteur de nœud directement à un module programmé existant. Vous devez étiqueter l'objet qui contrôle le module, tel que la configuration de déploiement.
Par exemple, l'objet
Node
suivant porte l'étiquetteregion: east
:Exemple d'objet
Node
avec une étiquetteCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Étiquettes correspondant au sélecteur de nœuds de pods.
Un pod possède le sélecteur de nœuds
type: user-node,region: east
:Exemple d'objet
Pod
avec des sélecteurs de nœudsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Sélecteurs de nœuds correspondant à l'étiquette du nœud. Le nœud doit avoir une étiquette pour chaque sélecteur de nœud.
Lorsque vous créez le pod à l'aide de la spécification de pod d'exemple, il peut être planifié sur le nœud d'exemple.
- Sélecteurs de nœuds par défaut pour l'ensemble du cluster
Avec des sélecteurs de nœuds par défaut à l'échelle du cluster, lorsque vous créez un pod dans ce cluster, OpenShift Container Platform ajoute les sélecteurs de nœuds par défaut au pod et planifie le pod sur des nœuds avec des étiquettes correspondantes.
Par exemple, l'objet
Scheduler
suivant possède les sélecteurs de nœuds par défaut pour l'ensemble du clusterregion=east
ettype=user-node
:Exemple d'ordonnanceur Opérateur Ressource personnalisée
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Un nœud de cette grappe possède les étiquettes
type=user-node,region=east
:Exemple d'objet
Node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple d'objet
Pod
avec un sélecteur de nœudCopy to Clipboard Copied! Toggle word wrap Toggle overflow Lorsque vous créez le pod à l'aide de la spécification de pod d'exemple dans le cluster d'exemple, le pod est créé avec le sélecteur de nœud à l'échelle du cluster et est planifié sur le nœud étiqueté :
Exemple de liste de pods avec le pod sur le nœud étiqueté
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod-s1 1/1 Running 0 20s 10.131.2.6 ci-ln-qg1il3k-f76d1-hlmhl-worker-b-df2s4 <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod-s1 1/1 Running 0 20s 10.131.2.6 ci-ln-qg1il3k-f76d1-hlmhl-worker-b-df2s4 <none> <none>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteSi le projet dans lequel vous créez le module dispose d'un sélecteur de nœud de projet, ce sélecteur a la préférence sur un sélecteur de nœud à l'échelle du cluster. Votre module n'est pas créé ou planifié s'il n'a pas de sélecteur de nœud de projet.
- Sélecteurs de nœuds de projet
Avec les sélecteurs de nœuds de projet, lorsque vous créez un pod dans ce projet, OpenShift Container Platform ajoute les sélecteurs de nœuds au pod et planifie les pods sur un nœud avec les étiquettes correspondantes. S'il existe un sélecteur de nœuds par défaut à l'échelle du cluster, le sélecteur de nœuds du projet est privilégié.
Par exemple, le projet suivant possède le sélecteur de nœuds
region=east
:Exemple d'objet
Namespace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Le nœud suivant possède les étiquettes
type=user-node,region=east
:Exemple d'objet
Node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lorsque vous créez le pod à l'aide de l'exemple de spécification de pod dans cet exemple de projet, le pod est créé avec les sélecteurs de nœuds du projet et est planifié sur le nœud étiqueté :
Exemple d'objet
Pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de liste de pods avec le pod sur le nœud étiqueté
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod-s1 1/1 Running 0 20s 10.131.2.6 ci-ln-qg1il3k-f76d1-hlmhl-worker-b-df2s4 <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES pod-s1 1/1 Running 0 20s 10.131.2.6 ci-ln-qg1il3k-f76d1-hlmhl-worker-b-df2s4 <none> <none>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Un module du projet n'est pas créé ou planifié s'il contient des sélecteurs de nœuds différents. Par exemple, si vous déployez le module suivant dans le projet d'exemple, il ne sera pas créé :
Exemple
Pod
objet avec un sélecteur de nœud invalideCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.7.2. Utilisation de sélecteurs de nœuds pour contrôler le placement des pods Copier lienLien copié sur presse-papiers!
Vous pouvez utiliser des sélecteurs de nœuds sur les pods et des étiquettes sur les nœuds pour contrôler l'endroit où le pod est planifié. Avec les sélecteurs de nœuds, OpenShift Container Platform planifie les pods sur les nœuds qui contiennent les étiquettes correspondantes.
Vous ajoutez des étiquettes à un nœud, à un ensemble de machines de calcul ou à une configuration de machine. L'ajout de l'étiquette à l'ensemble de machines de calcul garantit que si le nœud ou la machine tombe en panne, les nouveaux nœuds disposent de l'étiquette. Les étiquettes ajoutées à un nœud ou à une configuration de machine ne persistent pas si le nœud ou la machine tombe en panne.
Pour ajouter des sélecteurs de nœuds à un module existant, ajoutez un sélecteur de nœuds à l'objet de contrôle de ce module, tel que l'objet ReplicaSet
, l'objet DaemonSet
, l'objet StatefulSet
, l'objet Deployment
ou l'objet DeploymentConfig
. Tous les modules existants sous cet objet de contrôle sont recréés sur un nœud avec une étiquette correspondante. Si vous créez un nouveau module, vous pouvez ajouter le sélecteur de nœud directement à la spécification Pod
.
Vous ne pouvez pas ajouter un sélecteur de nœud directement à un module planifié existant.
Conditions préalables
Pour ajouter un sélecteur de nœud à des modules existants, déterminez l'objet de contrôle de ce module. Par exemple, le module router-default-66d5cf9464-m2g75
est contrôlé par l'ensemble de répliques router-default-66d5cf9464
:
La console web liste l'objet de contrôle sous ownerReferences
dans le pod YAML :
Procédure
Ajoutez des étiquettes à un nœud en utilisant un ensemble de machines de calcul ou en éditant le nœud directement :
Utilisez un objet
MachineSet
pour ajouter des étiquettes aux nœuds gérés par l'ensemble de machines de calcul lors de la création d'un nœud :Exécutez la commande suivante pour ajouter des étiquettes à un objet
MachineSet
:oc patch MachineSet <name> --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"<key>"="<value>","<key>"="<value>"}}]' -n openshift-machine-api
$ oc patch MachineSet <name> --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"<key>"="<value>","<key>"="<value>"}}]' -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple :
oc patch MachineSet abc612-msrtw-worker-us-east-1c --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"type":"user-node","region":"east"}}]' -n openshift-machine-api
$ oc patch MachineSet abc612-msrtw-worker-us-east-1c --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"type":"user-node","region":"east"}}]' -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AstuceVous pouvez également appliquer le YAML suivant pour ajouter des étiquettes à un ensemble de machines de calcul :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que les étiquettes sont ajoutées à l'objet
MachineSet
en utilisant la commandeoc edit
:Par exemple :
oc edit MachineSet abc612-msrtw-worker-us-east-1c -n openshift-machine-api
$ oc edit MachineSet abc612-msrtw-worker-us-east-1c -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple d'objet
MachineSet
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Ajouter des étiquettes directement à un nœud :
Modifiez l'objet
Node
pour le nœud :oc label nodes <name> <key>=<value>
$ oc label nodes <name> <key>=<value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple, pour étiqueter un nœud :
oc label nodes ip-10-0-142-25.ec2.internal type=user-node region=east
$ oc label nodes ip-10-0-142-25.ec2.internal type=user-node region=east
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AstuceVous pouvez également appliquer le langage YAML suivant pour ajouter des étiquettes à un nœud :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que les étiquettes sont ajoutées au nœud :
oc get nodes -l type=user-node,region=east
$ oc get nodes -l type=user-node,region=east
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME STATUS ROLES AGE VERSION ip-10-0-142-25.ec2.internal Ready worker 17m v1.25.0
NAME STATUS ROLES AGE VERSION ip-10-0-142-25.ec2.internal Ready worker 17m v1.25.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Ajouter le sélecteur de nœud correspondant à un pod :
Pour ajouter un sélecteur de nœud aux modules existants et futurs, ajoutez un sélecteur de nœud à l'objet de contrôle des modules :
Exemple
ReplicaSet
objet avec étiquettesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Ajouter le sélecteur de nœud.
Pour ajouter un sélecteur de nœud à un nouveau pod spécifique, ajoutez le sélecteur à l'objet
Pod
directement :Exemple d'objet
Pod
avec un sélecteur de nœudCopy to Clipboard Copied! Toggle word wrap Toggle overflow NoteVous ne pouvez pas ajouter un sélecteur de nœud directement à un module planifié existant.
3.7.3. Création de sélecteurs de nœuds par défaut pour l'ensemble du cluster Copier lienLien copié sur presse-papiers!
Vous pouvez utiliser des sélecteurs de nœuds par défaut à l'échelle du cluster sur les pods ainsi que des étiquettes sur les nœuds pour contraindre tous les pods créés dans un cluster à des nœuds spécifiques.
Avec des sélecteurs de nœuds à l'échelle du cluster, lorsque vous créez un pod dans ce cluster, OpenShift Container Platform ajoute les sélecteurs de nœuds par défaut au pod et planifie le pod sur des nœuds avec des étiquettes correspondantes.
Vous configurez les sélecteurs de nœuds à l'échelle du cluster en modifiant la ressource personnalisée (CR) de l'opérateur d'ordonnancement. Vous ajoutez des étiquettes à un nœud, à un ensemble de machines de calcul ou à une configuration de machine. L'ajout de l'étiquette à l'ensemble de machines de calcul garantit que si le nœud ou la machine tombe en panne, les nouveaux nœuds disposent de l'étiquette. Les étiquettes ajoutées à un nœud ou à une configuration de machine ne persistent pas si le nœud ou la machine tombe en panne.
Vous pouvez ajouter des paires clé/valeur supplémentaires à un pod. Mais vous ne pouvez pas ajouter une valeur différente pour une clé par défaut.
Procédure
Pour ajouter un sélecteur de nœuds par défaut à l'échelle du cluster :
Modifiez le CR de l'opérateur d'ordonnancement pour ajouter les sélecteurs de nœuds par défaut à l'échelle du cluster :
oc edit scheduler cluster
$ oc edit scheduler cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple d'opérateur d'ordonnancement CR avec un sélecteur de nœuds
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Ajouter un sélecteur de nœud avec les paires
<key>:<value>
appropriées.
Après avoir effectué cette modification, attendez que les pods du projet
openshift-kube-apiserver
soient redéployés. Cela peut prendre plusieurs minutes. Le sélecteur de nœuds par défaut à l'échelle du cluster ne prend pas effet tant que les pods ne sont pas redéployés.Ajoutez des étiquettes à un nœud en utilisant un ensemble de machines de calcul ou en éditant le nœud directement :
Utiliser un ensemble de machines de calcul pour ajouter des étiquettes aux nœuds gérés par l'ensemble de machines de calcul lors de la création d'un nœud :
Exécutez la commande suivante pour ajouter des étiquettes à un objet
MachineSet
:oc patch MachineSet <name> --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"<key>"="<value>","<key>"="<value>"}}]' -n openshift-machine-api
$ oc patch MachineSet <name> --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"<key>"="<value>","<key>"="<value>"}}]' -n openshift-machine-api
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Ajouter une paire
<key>/<value>
pour chaque étiquette.
Par exemple :
oc patch MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"type":"user-node","region":"east"}}]' -n openshift-machine-api
$ oc patch MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"type":"user-node","region":"east"}}]' -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AstuceVous pouvez également appliquer le YAML suivant pour ajouter des étiquettes à un ensemble de machines de calcul :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que les étiquettes sont ajoutées à l'objet
MachineSet
en utilisant la commandeoc edit
:Par exemple :
oc edit MachineSet abc612-msrtw-worker-us-east-1c -n openshift-machine-api
$ oc edit MachineSet abc612-msrtw-worker-us-east-1c -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple d'objet
MachineSet
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Redéployez les nœuds associés à cet ensemble de machines de calcul en réduisant l'échelle à
0
et en augmentant l'échelle des nœuds :Par exemple :
oc scale --replicas=0 MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c -n openshift-machine-api
$ oc scale --replicas=0 MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc scale --replicas=1 MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c -n openshift-machine-api
$ oc scale --replicas=1 MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lorsque les nœuds sont prêts et disponibles, vérifiez que l'étiquette a été ajoutée aux nœuds à l'aide de la commande
oc get
:oc get nodes -l <key>=<value>
$ oc get nodes -l <key>=<value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple :
oc get nodes -l type=user-node
$ oc get nodes -l type=user-node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME STATUS ROLES AGE VERSION ci-ln-l8nry52-f76d1-hl7m7-worker-c-vmqzp Ready worker 61s v1.25.0
NAME STATUS ROLES AGE VERSION ci-ln-l8nry52-f76d1-hl7m7-worker-c-vmqzp Ready worker 61s v1.25.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Ajouter des étiquettes directement à un nœud :
Modifiez l'objet
Node
pour le nœud :oc label nodes <name> <key>=<value>
$ oc label nodes <name> <key>=<value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple, pour étiqueter un nœud :
oc label nodes ci-ln-l8nry52-f76d1-hl7m7-worker-b-tgq49 type=user-node region=east
$ oc label nodes ci-ln-l8nry52-f76d1-hl7m7-worker-b-tgq49 type=user-node region=east
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AstuceVous pouvez également appliquer le langage YAML suivant pour ajouter des étiquettes à un nœud :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que les étiquettes sont ajoutées au nœud à l'aide de la commande
oc get
:oc get nodes -l <key>=<value>,<key>=<valeur>
$ oc get nodes -l <key>=<value>,<key>=<valeur>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple :
oc get nodes -l type=user-node,region=east
$ oc get nodes -l type=user-node,region=east
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME STATUS ROLES AGE VERSION ci-ln-l8nry52-f76d1-hl7m7-worker-b-tgq49 Ready worker 17m v1.25.0
NAME STATUS ROLES AGE VERSION ci-ln-l8nry52-f76d1-hl7m7-worker-b-tgq49 Ready worker 17m v1.25.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.7.4. Création de sélecteurs de nœuds pour l'ensemble du projet Copier lienLien copié sur presse-papiers!
Vous pouvez utiliser des sélecteurs de nœuds dans un projet ainsi que des étiquettes sur les nœuds pour contraindre tous les pods créés dans ce projet aux nœuds étiquetés.
Lorsque vous créez un pod dans ce projet, OpenShift Container Platform ajoute les sélecteurs de nœuds aux pods du projet et planifie les pods sur un nœud avec des étiquettes correspondantes dans le projet. S'il existe un sélecteur de nœud par défaut à l'échelle du cluster, le sélecteur de nœud du projet a la préférence.
Vous ajoutez des sélecteurs de nœuds à un projet en modifiant l'objet Namespace
pour ajouter le paramètre openshift.io/node-selector
. Vous ajoutez des étiquettes à un nœud, à un ensemble de machines de calcul ou à une configuration de machine. L'ajout de l'étiquette à l'ensemble de machines de calcul garantit que si le nœud ou la machine tombe en panne, les nouveaux nœuds disposent de l'étiquette. Les étiquettes ajoutées à un nœud ou à une configuration de machine ne persistent pas si le nœud ou la machine tombe en panne.
Un pod n'est pas planifié si l'objet Pod
contient un sélecteur de nœuds, mais qu'aucun projet n'a de sélecteur de nœuds correspondant. Lorsque vous créez un pod à partir de cette spécification, vous recevez une erreur similaire au message suivant :
Exemple de message d'erreur
Error from server (Forbidden): error when creating "pod.yaml": pods "pod-4" is forbidden: pod node label selector conflicts with its project node label selector
Error from server (Forbidden): error when creating "pod.yaml": pods "pod-4" is forbidden: pod node label selector conflicts with its project node label selector
Vous pouvez ajouter des paires clé/valeur supplémentaires à un module. Mais vous ne pouvez pas ajouter une valeur différente pour une clé de projet.
Procédure
Pour ajouter un sélecteur de nœud de projet par défaut :
Créez un espace de noms ou modifiez un espace de noms existant pour ajouter le paramètre
openshift.io/node-selector
:oc edit namespace <name> $ oc edit namespace <name>
oc edit namespace <name> $ oc edit namespace <name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Ajoutez les paires
openshift.io/node-selector
et<key>:<value>
appropriées.
Ajoutez des étiquettes à un nœud en utilisant un ensemble de machines de calcul ou en éditant le nœud directement :
Utilisez un objet
MachineSet
pour ajouter des étiquettes aux nœuds gérés par l'ensemble de machines de calcul lors de la création d'un nœud :Exécutez la commande suivante pour ajouter des étiquettes à un objet
MachineSet
:oc patch MachineSet <name> --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"<key>"="<value>","<key>"="<value>"}}]' -n openshift-machine-api
$ oc patch MachineSet <name> --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"<key>"="<value>","<key>"="<value>"}}]' -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple :
oc patch MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"type":"user-node","region":"east"}}]' -n openshift-machine-api
$ oc patch MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c --type='json' -p='[{"op":"add","path":"/spec/template/spec/metadata/labels", "value":{"type":"user-node","region":"east"}}]' -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AstuceVous pouvez également appliquer le YAML suivant pour ajouter des étiquettes à un ensemble de machines de calcul :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que les étiquettes sont ajoutées à l'objet
MachineSet
en utilisant la commandeoc edit
:Par exemple :
oc edit MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c -n openshift-machine-api
$ oc edit MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Redéployer les nœuds associés à cet ensemble de machines de calcul :
Par exemple :
oc scale --replicas=0 MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c -n openshift-machine-api
$ oc scale --replicas=0 MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc scale --replicas=1 MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c -n openshift-machine-api
$ oc scale --replicas=1 MachineSet ci-ln-l8nry52-f76d1-hl7m7-worker-c -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lorsque les nœuds sont prêts et disponibles, vérifiez que l'étiquette a été ajoutée aux nœuds à l'aide de la commande
oc get
:oc get nodes -l <key>=<value>
$ oc get nodes -l <key>=<value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple :
oc get nodes -l type=user-node,region=east
$ oc get nodes -l type=user-node,region=east
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME STATUS ROLES AGE VERSION ci-ln-l8nry52-f76d1-hl7m7-worker-c-vmqzp Ready worker 61s v1.25.0
NAME STATUS ROLES AGE VERSION ci-ln-l8nry52-f76d1-hl7m7-worker-c-vmqzp Ready worker 61s v1.25.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Ajouter des étiquettes directement à un nœud :
Modifiez l'objet
Node
pour ajouter des étiquettes :oc label <resource> <name> <key>=<value>
$ oc label <resource> <name> <key>=<value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple, pour étiqueter un nœud :
oc label nodes ci-ln-l8nry52-f76d1-hl7m7-worker-c-tgq49 type=user-node region=east
$ oc label nodes ci-ln-l8nry52-f76d1-hl7m7-worker-c-tgq49 type=user-node region=east
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AstuceVous pouvez également appliquer le langage YAML suivant pour ajouter des étiquettes à un nœud :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que les étiquettes sont ajoutées à l'objet
Node
à l'aide de la commandeoc get
:oc get nodes -l <key>=<value>
$ oc get nodes -l <key>=<value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple :
oc get nodes -l type=user-node,region=east
$ oc get nodes -l type=user-node,region=east
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME STATUS ROLES AGE VERSION ci-ln-l8nry52-f76d1-hl7m7-worker-b-tgq49 Ready worker 17m v1.25.0
NAME STATUS ROLES AGE VERSION ci-ln-l8nry52-f76d1-hl7m7-worker-b-tgq49 Ready worker 17m v1.25.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow