7.4. Déplacement de ressources vers des ensembles de machines d'infrastructure
Certaines ressources d'infrastructure sont déployées par défaut dans votre cluster. Vous pouvez les déplacer vers les ensembles de machines d'infrastructure que vous avez créés en ajoutant le sélecteur de nœuds d'infrastructure, comme indiqué :
- 1
- Ajoutez un paramètre
nodeSelector
avec la valeur appropriée au composant que vous souhaitez déplacer. Vous pouvez utiliser unnodeSelector
dans le format indiqué ou utiliser des paires<key>: <value>
, en fonction de la valeur spécifiée pour le nœud. Si vous avez ajouté une tare au nœud de l'infrasructure, ajoutez également une tolérance correspondante.
En appliquant un sélecteur de nœud spécifique à tous les composants de l'infrastructure, OpenShift Container Platform planifie ces charges de travail sur les nœuds portant ce label.
7.4.1. Déplacement du routeur Copier lienLien copié sur presse-papiers!
Vous pouvez déployer le module de routeur sur un ensemble de machines de calcul différent. Par défaut, le module est déployé sur un nœud de travail.
Conditions préalables
- Configurez des ensembles de machines de calcul supplémentaires dans votre cluster OpenShift Container Platform.
Procédure
Voir la ressource personnalisée
IngressController
pour l'opérateur de routeur :oc get ingresscontroller default -n openshift-ingress-operator -o yaml
$ oc get ingresscontroller default -n openshift-ingress-operator -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow La sortie de la commande ressemble au texte suivant :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Modifiez la ressource
ingresscontroller
et changez la ressourcenodeSelector
pour qu'elle utilise l'étiquetteinfra
:oc edit ingresscontroller default -n openshift-ingress-operator
$ oc edit ingresscontroller default -n openshift-ingress-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Ajoutez un paramètre
nodeSelector
avec la valeur appropriée au composant que vous souhaitez déplacer. Vous pouvez utiliser unnodeSelector
au format indiqué ou des paires<key>: <value>
, en fonction de la valeur spécifiée pour le nœud. Si vous avez ajouté une taint au nœud d'infrastructure, ajoutez également une tolérance correspondante.
Confirmez que le pod routeur est en cours d'exécution sur le nœud
infra
.Affichez la liste des modules de routeur et notez le nom du nœud du module en cours d'exécution :
oc get pod -n openshift-ingress -o wide
$ oc get pod -n openshift-ingress -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES router-default-86798b4b5d-bdlvd 1/1 Running 0 28s 10.130.2.4 ip-10-0-217-226.ec2.internal <none> <none> router-default-955d875f4-255g8 0/1 Terminating 0 19h 10.129.2.4 ip-10-0-148-172.ec2.internal <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES router-default-86798b4b5d-bdlvd 1/1 Running 0 28s 10.130.2.4 ip-10-0-217-226.ec2.internal <none> <none> router-default-955d875f4-255g8 0/1 Terminating 0 19h 10.129.2.4 ip-10-0-148-172.ec2.internal <none> <none>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans cet exemple, le pod en cours d'exécution se trouve sur le nœud
ip-10-0-217-226.ec2.internal
.Visualiser l'état du nœud du pod en cours d'exécution :
oc get node <node_name>
oc get node <node_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Spécifiez l'adresse
<node_name>
que vous avez obtenue à partir de la liste des pods.
Exemple de sortie
NAME STATUS ROLES AGE VERSION ip-10-0-217-226.ec2.internal Ready infra,worker 17h v1.25.0
NAME STATUS ROLES AGE VERSION ip-10-0-217-226.ec2.internal Ready infra,worker 17h v1.25.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Comme la liste des rôles comprend
infra
, le pod est exécuté sur le bon nœud.
7.4.2. Déplacement du registre par défaut Copier lienLien copié sur presse-papiers!
Vous configurez l'opérateur de registre pour qu'il déploie ses pods sur différents nœuds.
Conditions préalables
- Configurez des ensembles de machines de calcul supplémentaires dans votre cluster OpenShift Container Platform.
Procédure
Voir l'objet
config/instance
:oc get configs.imageregistry.operator.openshift.io/cluster -o yaml
$ oc get configs.imageregistry.operator.openshift.io/cluster -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Modifiez l'objet
config/instance
:oc edit configs.imageregistry.operator.openshift.io/cluster
$ oc edit configs.imageregistry.operator.openshift.io/cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Ajoutez un paramètre
nodeSelector
avec la valeur appropriée au composant que vous souhaitez déplacer. Vous pouvez utiliser unnodeSelector
dans le format indiqué ou utiliser des paires<key>: <value>
, en fonction de la valeur spécifiée pour le nœud. Si vous avez ajouté une tare au nœud de l'infrasructure, ajoutez également une tolérance correspondante.
Vérifiez que le pod de registre a été déplacé vers le nœud d'infrastructure.
Exécutez la commande suivante pour identifier le nœud où se trouve le module de registre :
oc get pods -o wide -n openshift-image-registry
$ oc get pods -o wide -n openshift-image-registry
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Confirmez que le nœud a l'étiquette que vous avez spécifiée :
oc describe node <node_name>
oc describe node <node_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Examinez la sortie de la commande et confirmez que
node-role.kubernetes.io/infra
figure dans la listeLABELS
.
7.4.3. Déplacement de la solution de surveillance Copier lienLien copié sur presse-papiers!
La pile de surveillance comprend plusieurs composants, notamment Prometheus, Thanos Querier et Alertmanager. L'opérateur de surveillance des clusters gère cette pile. Pour redéployer la pile de surveillance sur les nœuds d'infrastructure, vous pouvez créer et appliquer une carte de configuration personnalisée.
Procédure
Modifiez la carte de configuration
cluster-monitoring-config
et changez la cartenodeSelector
pour qu'elle utilise le labelinfra
:oc edit configmap cluster-monitoring-config -n openshift-monitoring
$ oc edit configmap cluster-monitoring-config -n openshift-monitoring
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Ajoutez un paramètre
nodeSelector
avec la valeur appropriée au composant que vous souhaitez déplacer. Vous pouvez utiliser unnodeSelector
dans le format indiqué ou utiliser des paires<key>: <value>
, en fonction de la valeur spécifiée pour le nœud. Si vous avez ajouté une tare au nœud de l'infrasructure, ajoutez également une tolérance correspondante.
Observez le déplacement des modules de surveillance vers les nouvelles machines :
watch 'oc get pod -n openshift-monitoring -o wide'
$ watch 'oc get pod -n openshift-monitoring -o wide'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Si un composant n'a pas été déplacé vers le nœud
infra
, supprimez le pod contenant ce composant :oc delete pod -n openshift-monitoring <pod>
oc delete pod -n openshift-monitoring <pod>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Le composant du module supprimé est recréé sur le nœud
infra
.
7.4.4. Déplacer les ressources de journalisation d'OpenShift Copier lienLien copié sur presse-papiers!
Vous pouvez configurer le Cluster Logging Operator pour déployer les pods des composants du sous-système de journalisation, tels qu'Elasticsearch et Kibana, sur différents nœuds. Vous ne pouvez pas déplacer le pod Cluster Logging Operator de son emplacement d'installation.
Par exemple, vous pouvez déplacer les pods Elasticsearch vers un nœud distinct en raison des exigences élevées en matière de CPU, de mémoire et de disque.
Conditions préalables
- Les opérateurs Red Hat OpenShift Logging et Elasticsearch doivent être installés. Ces fonctionnalités ne sont pas installées par défaut.
Procédure
Modifiez la ressource personnalisée (CR)
ClusterLogging
dans le projetopenshift-logging
:oc edit ClusterLogging instance
$ oc edit ClusterLogging instance
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1 2
- Ajoutez un paramètre
nodeSelector
avec la valeur appropriée au composant que vous souhaitez déplacer. Vous pouvez utiliser unnodeSelector
dans le format indiqué ou utiliser des paires<key>: <value>
, en fonction de la valeur spécifiée pour le nœud. Si vous avez ajouté une tare au nœud de l'infrasructure, ajoutez également une tolérance correspondante.
Vérification
Pour vérifier qu'un composant a été déplacé, vous pouvez utiliser la commande oc get pod -o wide
.
Par exemple :
Vous souhaitez déplacer le pod Kibana du nœud
ip-10-0-147-79.us-east-2.compute.internal
:oc get pod kibana-5b8bdf44f9-ccpq9 -o wide
$ oc get pod kibana-5b8bdf44f9-ccpq9 -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kibana-5b8bdf44f9-ccpq9 2/2 Running 0 27s 10.129.2.18 ip-10-0-147-79.us-east-2.compute.internal <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kibana-5b8bdf44f9-ccpq9 2/2 Running 0 27s 10.129.2.18 ip-10-0-147-79.us-east-2.compute.internal <none> <none>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vous souhaitez déplacer le pod Kibana vers le nœud
ip-10-0-139-48.us-east-2.compute.internal
, un nœud d'infrastructure dédié :oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Notez que le nœud a une étiquette
node-role.kubernetes.io/infra: ''
:oc get node ip-10-0-139-48.us-east-2.compute.internal -o yaml
$ oc get node ip-10-0-139-48.us-east-2.compute.internal -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pour déplacer le pod Kibana, modifiez le CR
ClusterLogging
pour ajouter un sélecteur de nœud :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Ajouter un sélecteur de nœud correspondant à l'étiquette de la spécification du nœud.
Après avoir sauvegardé le CR, le pod Kibana actuel est terminé et le nouveau pod est déployé :
oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Le nouveau pod se trouve sur le nœud
ip-10-0-139-48.us-east-2.compute.internal
:oc get pod kibana-7d85dcffc8-bfpfp -o wide
$ oc get pod kibana-7d85dcffc8-bfpfp -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kibana-7d85dcffc8-bfpfp 2/2 Running 0 43s 10.131.0.22 ip-10-0-139-48.us-east-2.compute.internal <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES kibana-7d85dcffc8-bfpfp 2/2 Running 0 43s 10.131.0.22 ip-10-0-139-48.us-east-2.compute.internal <none> <none>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Après quelques instants, le pod Kibana original est retiré.
oc get pods
$ oc get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow