Gestione dei cluster del servizio di virtualizzazione

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

Scopri come gestire il tuo cluster del servizio di virtualizzazione di OpenShift, compreso l'utilizzo dei componenti preconfigurati, la gestione dei nodi di lavoro e l'esecuzione delle attività di manutenzione.

Comprendere i componenti gestiti

I cluster del servizio di virtualizzazione includono diversi componenti preconfigurati che vengono gestiti in modo diverso rispetto ai cluster standard di OpenShift.

Componenti principali (non disattivabili)

I seguenti componenti sono essenziali per il servizio di virtualizzazione e non possono essere disabilitati:

OpenShift Modulo aggiuntivo di virtualizzazione
Il componente aggiuntivo " openshift-virtualization " viene abilitato automaticamente su tutti i cluster del Servizio di virtualizzazione e non può essere disabilitato. Questo componente aggiuntivo gestisce l'installazione e gli aggiornamenti degli operatori " OpenShift " (Virtualizzazione), "NMState" e " Node " (Manutenzione). Per ulteriori informazioni, consultare la sezione Gestione del componente aggiuntivo di virtualizzazione di OpenShift.
OpenShift Operatore di Virtualizzazione
Offre funzionalità di gestione delle macchine virtuali. Questo operatore viene installato automaticamente dal componente aggiuntivo e aggiornato nell'ambito del ciclo di vita del cluster. L'installazione da Red Hat OperatorHub è bloccata.
Operatore NMState
Gestisce la configurazione di rete per le macchine virtuali e i nodi. Questo operatore viene installato automaticamente dall'estensione.
Node Addetto alla manutenzione
Gestisce le operazioni di manutenzione dei nodi per i carichi di lavoro delle macchine virtuali. Questo operatore viene installato automaticamente dall'estensione.
OpenShift Data Foundation (ODF)
Offre spazio di archiviazione per i dischi di tipo " VM " e consente la migrazione in tempo reale. ODF è preconfigurato per utilizzare l'archiviazione NVMe locale sui nodi bare metal.

Visualizzazione dei componenti aggiuntivi gestiti

Elenca tutti i componenti aggiuntivi presenti nel tuo cluster:

ibmcloud ks cluster addon ls --cluster CLUSTER_NAME

Output di esempio:

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)

Il componente aggiuntivo " openshift-virtualization " viene abilitato automaticamente e non può essere disabilitato sui cluster di Virtualization Service.

Per informazioni dettagliate sulla gestione del componente aggiuntivo " OpenShift: Virtualization", tra cui la visualizzazione dei dettagli, la verifica delle versioni e l'aggiornamento, consultare la guida " Gestione del componente aggiuntivo ' OpenShift: Virtualization' ".

Gestione dei nodi di lavoro

Visualizzazione dei nodi di lavoro

Elenca tutti i nodi di lavoro presenti nel tuo cluster:

ibmcloud ks workers --cluster CLUSTER_NAME

Oppure usa la CLI di OpenShift:

oc get nodes

Aggiunta di nodi di lavoro

Aggiungere nodi di lavoro a un pool di lavoro esistente:

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

Tutti i nodi di lavoro in un cluster del Servizio di virtualizzazione devono utilizzare configurazioni bare metal supportate.

Sostituzione dei nodi di lavoro

Sostituire un nodo di lavoro:

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

Al sostituto viene assegnata la stessa configurazione dell'originale.

Ricaricamento dei nodi di lavoro

Prima di riavviare un nodo di lavoro, è necessario mettere il nodo in modalità manutenzione utilizzando l'operatore di manutenzione " Node " oppure migrare le macchine virtuali in esecuzione su altri nodi. Per ulteriori informazioni, consultare le sezioni " Messa in manutenzione di un nodo " e " Migrazione in tempo reale delle macchine virtuali ".

Riavvia un nodo di lavoro per applicare gli aggiornamenti o risolvere eventuali problemi:

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

Gestione dei gruppi di lavoratori

Visualizzazione dei gruppi di lavoratori

ibmcloud ks worker-pool ls --cluster CLUSTER_NAME

Creazione di ulteriori gruppi di lavoratori

Crea un nuovo pool di worker con una versione bare metal diversa:

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

Tutti i pool di worker in un cluster del Servizio di virtualizzazione devono utilizzare configurazioni bare metal che supportino l'offerta " openshift-vs ".

Aggiunta di zone ai pool di lavoratori

Aggiungere una zona a un pool di lavoratori esistente:

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

Aggiornamento del cluster

Controllo dell'eventuale presenza di aggiornamenti

Verifica se sono disponibili aggiornamenti per il tuo cluster:

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

Visualizza le versioni disponibili:

ibmcloud ks versions --show-version openshift

Aggiornamento del master del cluster

Aggiornare il master del cluster alla nuova versione:

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

L'aggiornamento principale richiede in genere dai 30 ai 60 minuti. Durante questo periodo, non sarà possibile accedere all'API Kubernetes né alla console OpenShift.

Aggiornamento dei nodi di lavoro

Dopo aver aggiornato il nodo master, aggiornare i nodi worker:

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

Oppure aggiornare tutti i worker in un pool di worker:

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

Prima di aggiornare i nodi di lavoro, mettere ciascun nodo in modalità manutenzione utilizzando l’operatore di manutenzione “ Node ” oppure migrare le macchine virtuali in esecuzione su altri nodi. Per ulteriori informazioni, consultare le sezioni " Messa in manutenzione di un nodo " e " Migrazione in tempo reale delle macchine virtuali ".

Monitoraggio dello stato di salute del cluster

Verifica dello stato del cluster

ibmcloud ks cluster get --cluster CLUSTER_NAME

Cerca:

  • Stato: Dovrebbe essere normal
  • Stato principale: Dovrebbe essere Ready
  • Master in Scienze della Salute: dovrebbe essere normal

Monitoraggio dello stato dei componenti

Verifica lo stato di salute della virtualizzazione di OpenShift:

oc get hyperconverged -n openshift-cnv

Verifica lo stato di ODF:

oc get storagecluster -n openshift-storage

Visualizzazione dei log dei cluster

Visualizza l'attività del cluster:

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

Per una registrazione dettagliata, configurare IBM Log Analysis. Vedi la sezione " Registrazione" relativa ai cluster.

Gestione delle macchine virtuali

Visualizzazione delle macchine virtuali

Elenca tutte le macchine virtuali presenti nel cluster:

oc get vms -A

Visualizza le macchine virtuali in uno spazio dei nomi specifico:

oc get vms -n NAMESPACE

Messa in manutenzione di un nodo

Prima di eseguire operazioni di manutenzione quali l'aggiornamento, il ricaricamento o la sostituzione di un nodo worker bare metal, è necessario impostare il nodo in modalità di manutenzione. L'operatore di manutenzione di Node isola il nodo e provvede automaticamente allo spostamento o alla migrazione in tempo reale di tutti i carichi di lavoro delle macchine virtuali idonei verso altri nodi nella stessa zona, senza interrompere i carichi di lavoro.

Se il cluster utilizza l' OpenShift Data Foundation (ODF), i nodi su cui sono in esecuzione i componenti di archiviazione ODF devono seguire le procedure di aggiornamento e manutenzione di ODF anziché questa procedura. Per ulteriori informazioni, consultare la sezione " Informazioni su Data Foundation di OpenShift".

Avvio della manutenzione dei nodi dalla console web

È possibile avviare la manutenzione dei nodi direttamente dalla console web di Red Hat OpenShift.

  1. Nella console web di OpenShift, nella vista Amministratore, vai su Compute > Nodi.
  2. Individua il nodo worker bare metal su cui desideri eseguire la manutenzione.
  3. Fai clic sul menu delle azioni (i tre puntini verticali) relativo a quel nodo e seleziona "Avvia manutenzione ".
  4. Nella finestra di dialogo di conferma, verificare le impostazioni di manutenzione e fare clic su Avvia.
  5. Verificare che lo stato del nodo sia " Scheduling disabled " e che nel menu delle azioni sia visualizzata l'opzione " Stop maintenance " anziché " Start maintenance ". Attendi che tutte le istanze di “ VM ” siano state migrate su altri nodi disponibili prima di procedere con l’azione a livello di nodo (ad esempio ibmcloud ks worker reload o ibmcloud ks worker update).
  6. Una volta completata l'operazione di manutenzione e verificato che il nodo sia in condizioni ottimali, torna alla sezione Compute > Nodi, fai clic sul menu delle azioni relativo al nodo e seleziona "Interrompi manutenzione ".

Avvio della manutenzione dei nodi dalla CLI

È inoltre possibile avviare la manutenzione dei nodi creando una risorsa personalizzata di tipo “ NodeMaintenance ”.

  1. Crea un file YAML denominato " node-maintenance.yaml " contenente la definizione della risorsa personalizzata " NodeMaintenance ". Specificare il nome del nodo worker bare metal di destinazione nel campo “ 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. Applicare la risorsa personalizzata per mettere il nodo in modalità di manutenzione:

    oc apply -f node-maintenance.yaml
    
  3. Monitorare lo stato della risorsa NodeMaintenance per verificare che l'operazione di svuotamento vada a buon fine:

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

    Verificare che la fase riporti lo stato “ Succeeded ” prima di procedere al ricaricamento, all’aggiornamento o alla sostituzione del nodo.

  4. Esegui l'azione pianificata a livello di nodo, ad esempio il ricaricamento o l'aggiornamento del nodo di lavoro:

    ibmcloud ks worker reload --cluster CLUSTER_NAME --worker WORKER_ID
    
  5. Una volta completato il ricaricamento o l'aggiornamento del nodo e quando lo stato del nodo in oc get nodes è " Ready", rimuovere il nodo dalla manutenzione eliminando la risorsa NodeMaintenance:

    oc delete nodemaintenance nodemaintenance-NODE_NAME
    

Migrazione manuale delle macchine virtuali in tempo reale

Se si desidera avviare manualmente una migrazione in tempo reale per una singola macchina virtuale invece di utilizzare l'operatore di manutenzione " Node ":

  1. Elenca le istanze delle macchine virtuali presenti nello spazio dei nomi per identificare il nome dell' VM e che desideri migrare:

    oc get vmi -n NAMESPACE
    
  2. Avvia una migrazione in tempo reale per l' VM:

    virtctl migrate VM_NAME -n NAMESPACE
    

Se a un’istanza di VM è associata un’interfaccia di rete virtuale (VNI), la migrazione live è supportata solo all’interno della stessa zona. La migrazione di un’istanza “ VM ” tra zone va a buon fine, ma l’istanza “ VM ” finisce per avere una rete non funzionante poiché le VNI non possono essere collegate tra zone diverse.

Arresto e avvio delle macchine virtuali

Ferma un " VM ":

virtctl stop VM_NAME -n NAMESPACE

Crea un account su VM:

virtctl start VM_NAME -n NAMESPACE

Gestione dello storage

Monitoraggio della capacità di archiviazione

Verifica la capacità di archiviazione ODF:

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

Visualizza l'utilizzo dello spazio di archiviazione:

oc get cephblockpool -n openshift-storage

Gestione delle richieste di volume persistenti

Elenco dei PVC utilizzati dalle macchine virtuali:

oc get pvc -A | grep virtualmachine

Visualizza i dettagli sul PVC:

oc describe pvc PVC_NAME -n NAMESPACE

Risoluzione dei problemi

Per risolvere i problemi più comuni relativi ai cluster del Servizio di virtualizzazione, consultare i seguenti argomenti:

Passi successivi