Gestion des clusters de services de virtualisation

Virtual Private Cloud 4.21 and later Bare metal worker nodes only RHCOS only

Découvrez comment gérer votre cluster du service de virtualisation d' OpenShift, notamment comment utiliser les composants préconfigurés, gérer les nœuds de travail et effectuer des tâches de maintenance.

Comprendre les composants gérés

Les clusters de services de virtualisation comprennent plusieurs composants préconfigurés qui sont gérés différemment de ceux des clusters d' OpenShift s standard.

Composants essentiels (ne peuvent pas être désactivés)

Les composants suivants sont indispensables au service de virtualisation et ne peuvent pas être désactivés :

OpenShift Module complémentaire de virtualisation
Le module complémentaire « openshift-virtualization » est automatiquement activé sur tous les clusters du service de virtualisation et ne peut pas être désactivé. Ce module complémentaire gère l'installation et les mises à jour des opérateurs « OpenShift Virtualization », « NMState » et « Node Maintenance ». Pour plus d'informations, consultez la section « Gestion du module complémentaire de virtualisation d' OpenShift ».
Opérateur de virtualisation OpenShift
Offre des fonctionnalités de gestion des machines virtuelles. Cet opérateur est installé automatiquement par le module complémentaire et mis à jour dans le cadre du cycle de vie du cluster. L'installation à partir de Red Hat OperatorHub est bloquée.
Opérateur NMState
Gère la configuration réseau des machines virtuelles et des nœuds. Cet opérateur est installé automatiquement par l'extension.
Node Opérateur de maintenance
Gère les opérations de maintenance des nœuds pour les charges de travail des machines virtuelles. Cet opérateur est installé automatiquement par l'extension.
OpenShift Data Foundation (ODF)
Permet le stockage de disques d' VM s et prend en charge la migration à chaud. ODF est préconfiguré pour utiliser le stockage NVMe local sur les nœuds bare metal.

Affichage des modules complémentaires gérés

Répertorier tous les modules complémentaires de votre cluster :

ibmcloud ks cluster addon ls --cluster CLUSTER_NAME

Exemple de sortie :

Name                         Version   Health State   Health Status
ibm-storage-operator         1.0       normal         Addon Ready. For more info: http://ibm.biz/addon-state (H1500)
openshift-virtualization     4.21      normal         Addon Ready. For more info: http://ibm.biz/addon-state (H1500)

Le module complémentaire « openshift-virtualization » est activé automatiquement et ne peut pas être désactivé sur les clusters Virtualization Service.

Pour plus d'informations sur la gestion du module complémentaire « Virtualisation » d' OpenShift, notamment sur l'affichage des détails, la vérification des versions et la mise à jour, consultez la section « Gestion du module complémentaire « Virtualisation » d' OpenShift ».

Gestion des nœuds de travail

Affichage des nœuds de travail

Répertoriez tous les nœuds de travail de votre cluster :

ibmcloud ks workers --cluster CLUSTER_NAME

Ou utilisez l'interface de ligne de commande (CLI) d' OpenShift:

oc get nodes

Ajout de noeuds worker

Ajouter des nœuds de travail à un pool de travail existant :

ibmcloud ks worker-pool resize --cluster CLUSTER_NAME \
  --worker-pool default \
  --size-per-zone NUMBER_OF_WORKERS

Tous les nœuds de travail d'un cluster Virtualization Service doivent utiliser des configurations « bare metal » prises en charge.

Remplacement des nœuds de travail

Remplacer un nœud de travail :

ibmcloud ks worker replace --cluster CLUSTER_NAME --worker WORKER_ID

Le remplaçant est configuré de la même manière que le titulaire.

Rechargement des nœuds de travail

Avant de redémarrer un nœud de travail, mettez ce nœud en mode maintenance à l’aide de l’opérateur de maintenance Node ou migrez les machines virtuelles en cours d’exécution vers d’autres nœuds. Pour plus d'informations, consultez les sections Mise en maintenance d'un nœud et Migration en direct de machines virtuelles.

Rechargez un nœud de travail pour appliquer les mises à jour ou résoudre les problèmes :

ibmcloud ks worker reload --cluster CLUSTER_NAME --worker WORKER_ID

Gestion des viviers de main-d'œuvre

Affichage des groupes de travailleurs

ibmcloud ks worker-pool ls --cluster CLUSTER_NAME

Création de pools de travailleurs supplémentaires

Créez un nouveau pool de workers avec une variante de serveur physique différente :

ibmcloud ks worker-pool create vpc-gen2 \
  --name POOL_NAME \
  --cluster CLUSTER_NAME \
  --flavor BARE_METAL_FLAVOR \
  --size-per-zone NUMBER_OF_WORKERS

Tous les pools de machines de travail d'un cluster Virtualization Service doivent utiliser des configurations « bare metal » prenant en charge l'offre « openshift-vs ».

Ajouter des zones aux groupes de travailleurs

Ajouter une zone à un pool de travailleurs existant :

ibmcloud ks zone add vpc-gen2 \
  --cluster CLUSTER_NAME \
  --zone ZONE \
  --subnet-id SUBNET_ID \
  --worker-pool POOL_NAME

Mise à jour du cluster

Recherche de mises à jour

Vérifiez si des mises à jour sont disponibles pour votre cluster :

ibmcloud ks cluster get --cluster CLUSTER_NAME | grep "Master Version"

Voir les versions disponibles :

ibmcloud ks versions --show-version openshift

Mise à jour du maître du cluster

Mettre à jour le maître du cluster vers une nouvelle version :

ibmcloud ks cluster master update --cluster CLUSTER_NAME --version VERSION

La mise à jour principale dure généralement entre 30 et 60 minutes. Pendant cette période, vous ne pourrez pas accéder à l'API Kubernetes ni à la console OpenShift.

Mise à jour des noeuds worker

Après avoir mis à jour le nœud maître, mettez à jour les nœuds de travail :

ibmcloud ks worker update --cluster CLUSTER_NAME --worker WORKER_ID

Ou mettre à jour tous les workers d'un pool de workers :

ibmcloud ks worker-pool update --cluster CLUSTER_NAME --worker-pool POOL_NAME

Avant de mettre à jour les nœuds de travail, placez chaque nœud en mode maintenance à l'aide de l'opérateur de maintenance Node ou migrez les machines virtuelles en cours d'exécution vers d'autres nœuds. Pour plus d'informations, consultez les sections Mise en maintenance d'un nœud et Migration en direct de machines virtuelles.

Surveillance de l'état de santé du cluster

Vérification de l'état du cluster

ibmcloud ks cluster get --cluster CLUSTER_NAME

Recherchez :

  • État: Devrait être normal
  • Statut principal: Devrait être Ready
  • Santé: devrait être normal

Surveillance de l'état des composants

Vérifier l'état de la virtualisation d' OpenShift:

oc get hyperconverged -n openshift-cnv

Vérifier l'état de santé de l'ODF :

oc get storagecluster -n openshift-storage

Affichage des journaux du cluster

Afficher l'activité du cluster :

ibmcloud ks cluster get --cluster CLUSTER_NAME --show-resources

Pour une journalisation détaillée, configurez IBM Log Analysis. Voir la section « Journalisation pour les clusters ».

Gestion des machines virtuelles

Affichage des machines virtuelles

Répertorier toutes les machines virtuelles du cluster :

oc get vms -A

Afficher les machines virtuelles d'un espace de noms spécifique :

oc get vms -n NAMESPACE

Mise en maintenance d'un nœud

Avant d'effectuer des opérations de maintenance telles que la mise à jour, le rechargement ou le remplacement d'un nœud de travail bare metal, mettez le nœud en mode maintenance. L'opérateur de maintenance d' Node isole le nœud et procède automatiquement à l'évacuation ou à la migration à chaud de toutes les charges de travail des machines virtuelles éligibles vers d'autres nœuds de la même zone, sans interrompre les charges de travail.

Si votre cluster utilise l' OpenShift Data Foundation (ODF), les nœuds exécutant des composants de stockage ODF doivent suivre les procédures de mise à niveau et de maintenance ODF plutôt que ce processus. Pour plus d'informations, voir Présentation d'OpenShift Data Foundation.

Lancement de la maintenance d’un nœud depuis la console Web

Vous pouvez lancer la maintenance d'un nœud directement depuis la console Web d' Red Hat OpenShift.

  1. Dans la console Web d' OpenShift, en mode Administrateur, accédez à Compute > Nodes.
  2. Recherchez le nœud de travail bare metal sur lequel vous souhaitez effectuer une opération de maintenance.
  3. Cliquez sur le menu d'actions (trois points verticaux) correspondant à ce nœud, puis sélectionnez Démarrer la maintenance.
  4. Dans la boîte de dialogue de confirmation, vérifiez les paramètres de maintenance, puis cliquez sur Démarrer.
  5. Vérifiez que l'état du nœud s'affiche comme Scheduling disabled et que le menu des actions indique Arrêter la maintenance au lieu de Démarrer la maintenance. Attendez que toutes les instances d' VM s aient migré vers d'autres nœuds disponibles avant de procéder à votre action au niveau du nœud (telle que ibmcloud ks worker reload ou ibmcloud ks worker update).
  6. Une fois votre intervention de maintenance terminée et le nœud remis en état de fonctionnement, revenez dans Compute > Nodes, cliquez sur le menu d'actions du nœud, puis sélectionnez Arrêter la maintenance.

Lancement de la maintenance du nœud à partir de l'interface de ligne de commande (CLI)

Vous pouvez également lancer la maintenance d'un nœud en créant une ressource personnalisée NodeMaintenance.

  1. Créez un fichier YAML nommé node-maintenance.yaml contenant la définition de la ressource personnalisée NodeMaintenance. Indiquez le nom du nœud de travail bare metal cible dans le champ nodeName.

    apiVersion: nodemaintenance.medik8s.io/v1beta1
    kind: NodeMaintenance
    metadata:
      name: nodemaintenance-NODE_NAME
    spec:
      nodeName: NODE_NAME
      reason: Node maintenance for update or reload
    
  2. Appliquez la ressource personnalisée pour mettre le nœud en mode maintenance :

    oc apply -f node-maintenance.yaml
    
  3. Surveillez l'état de la ressource NodeMaintenance pour vérifier que l'opération de vidange s'est déroulée avec succès :

    oc get nodemaintenance nodemaintenance-NODE_NAME -o jsonpath='{.status.phase}'
    

    Vérifiez les rapports de phase avant Succeeded de procéder au rechargement, à la mise à jour ou au remplacement du nœud.

  4. Effectuez l'action prévue au niveau du nœud, telle que le rechargement ou la mise à jour du nœud de travail :

    ibmcloud ks worker reload --cluster CLUSTER_NAME --worker WORKER_ID
    
  5. Une fois le rechargement ou la mise à jour du nœud terminé et lorsque l'état du nœud dans est oc get nodes Ready, retirez le nœud de la maintenance en supprimant la ressource NodeMaintenance:

    oc delete nodemaintenance nodemaintenance-NODE_NAME
    

Migration manuelle de machines virtuelles à chaud

Si vous souhaitez déclencher manuellement une migration à chaud pour une machine virtuelle spécifique au lieu d'utiliser l'opérateur de maintenance Node:

  1. Répertoriez les instances de machines virtuelles dans l'espace de noms afin d'identifier le nom de l' VM e que vous souhaitez migrer :

    oc get vmi -n NAMESPACE
    
  2. Lancer une migration en direct pour l' VM:

    virtctl migrate VM_NAME -n NAMESPACE
    

Si une instance VM est associée à une interface réseau virtuelle (VNI), la migration à chaud n’est prise en charge qu’au sein de la même zone. La migration d’une telle VM d’une zone à l’autre réussit, mais l’ VM se retrouve avec un réseau défaillant, car les VNI ne peuvent pas être associés entre différentes zones.

Arrêt et démarrage des machines virtuelles

Mettre fin à une VM:

virtctl stop VM_NAME -n NAMESPACE

Lancez une VM:

virtctl start VM_NAME -n NAMESPACE

Gestion du stockage

Suivi de la capacité de stockage

Vérifier la capacité de stockage ODF :

oc get cephcluster -n openshift-storage -o jsonpath='{.items[0].status.ceph.capacity}'

Afficher l'utilisation de l'espace de stockage :

oc get cephblockpool -n openshift-storage

Gestion des revendications de volume persistant

Liste des PVC utilisés par les machines virtuelles :

oc get pvc -A | grep virtualmachine

Voir les détails sur le PVC :

oc describe pvc PVC_NAME -n NAMESPACE

Traitement des incidents

Pour résoudre les problèmes courants liés aux clusters du service de virtualisation, consultez les rubriques suivantes :

Etapes suivantes