Creazione di macchine virtuali con VPC File Storage

Cloud privato virtuale 4.17 e in seguito Solo nodi di lavoro bare metal Solo RHCOS

Utilizzate File Storage for VPC per eseguire il provisioning dello storage persistente per le macchine virtuali che girano su OpenShift Virtualization.

Questo argomento descrive come verificare l'ambiente, creare una macchina virtuale che utilizza VPC File Storage e convalidare l'avvio della macchina virtuale.

Prima di iniziare

Prima di creare una macchina virtuale con VPC File Storage, completare le seguenti attività:

  1. Creare un cluster VPC con nodi worker bare metal che utilizzi Red Hat CoreOS (RHCOS). Per ulteriori informazioni, vedere Creazione di cluster VPC.
  2. Rivedere la guida alla pianificazione in Pianificazione dell'implementazione di OpenShift Virtualization.
  3. Configurare la VPC File Storage come descritto in Impostazione dello storage per la virtualizzazione OpenShift.
  4. Installare OpenShift Virtualization Operator come descritto in Installazione di OpenShift Virtualization Operator.
  5. Installa la CLI di virtctl. Per ulteriori informazioni, vedere Introduzione agli strumenti CLI di OpenShift Virtualization.

Verifica dell'ambiente

Prima di creare una macchina virtuale, verificare che il cluster sia pronto.

  1. Confermare che i componenti di OpenShift Virtualization sono distribuiti.

    oc get hyperconverged -n openshift-cnv
    oc get pods -n openshift-cnv
    

    Cercare il valore PHASE Deployed nell'output HyperConverged. Nell'output del pod, verificare che i pod di virtualizzazione mostrino lo stato Running o Completed e che non siano bloccati in Pending, CrashLoopBackOff o Error.

  2. Confermare che il componente aggiuntivo del driver VPC File CSI è installato.

    ibmcloud ks cluster addon ls -c CLUSTER_NAME | grep vpc-file-csi-driver
    

    Cercare il componente aggiuntivo vpc-file-csi-driver nell'output e verificare che il suo stato di salute sia normal o che lo stato indichi che il componente aggiuntivo è pronto.

  3. Verificare che sia disponibile una classe VPC File Storage.

    oc get storageclass | grep vpc-file
    

    Cercate classi di archiviazione come ibmc-vpc-file-1000-iops o ibmc-vpc-file-6000-iops. Prendere nota del nome della classe di archiviazione che si desidera utilizzare nelle fasi successive.

  4. Verificare che il profilo di archiviazione per la classe VPC File Storage selezionata sia configurato con la modalità di accesso ReadWriteMany e la modalità di volume Filesystem.

    oc get storageprofile <storage-class-name> -o yaml
    

    Nell'output, cercare claimPropertySets sotto spec. Verificare che accessModes includa ReadWriteMany e che volumeMode sia impostato su Filesystem.

    claimPropertySets:
    - accessModes:
      - ReadWriteMany
      volumeMode: Filesystem
    
  5. Verificare che la classe di archiviazione selezionata possa eseguire il provisioning di un volume persistente.

    cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: vpc-file-test-pvc
    spec:
      accessModes:
      - ReadWriteMany
      resources:
        requests:
          storage: 10Gi
      storageClassName: <storage-class-name>
    EOF
    
  6. Confermare che la richiesta di volume persistente di prova è vincolata.

    oc get pvc vpc-file-test-pvc
    

    Nell'output, cercate la colonna STATUS e verificate che la richiesta di volume persistente mostri Bound. Se la richiesta rimane in Pending, la classe di archiviazione o il profilo di archiviazione non sono configurati correttamente.

  7. Rivedere i dettagli della richiesta di volume persistente se la richiesta non è vincolata.

    oc describe pvc vpc-file-test-pvc
    
  8. Eliminare la richiesta di volume persistente di prova.

    oc delete pvc vpc-file-test-pvc
    

Creazione di una macchina virtuale dalla console web

Utilizzare la console web OpenShift per creare una macchina virtuale che memorizza il suo disco sulla VPC File Storage.

  1. Accedere alla console web OpenShift per il cluster.
  2. Nel menu di navigazione, fare clic su Virtualizzazione > VirtualMachines.
  3. Fare clic su Crea e selezionare un modello o selezionare Da YAML se si desidera definire la macchina virtuale manualmente.
  4. Inserisci un nome per la macchina virtuale.
  5. Seleziona il progetto in cui desideri creare la macchina virtuale.
  6. Nella sezione storage, selezionare una classe VPC File Storage come ibmc-vpc-file-1000-iops o ibmc-vpc-file-6000-iops.
  7. Impostare le dimensioni del disco in base ai requisiti del carico di lavoro.
  8. Esaminare le impostazioni della CPU e della memoria e aggiornarle se necessario.
  9. Fare clic su Crea VirtualMachine.
  10. Nella pagina dei dettagli della macchina virtuale, esaminare le schede Dischi, Interfacce di rete e Configurazione per confermare che la macchina virtuale è stata creata con le impostazioni previste.

Dopo la creazione della macchina virtuale, la console crea la richiesta di volume persistente e le risorse di volume dati associate.

Creazione di una macchina virtuale dalla CLI

Utilizzare la CLI se si desidera creare una macchina virtuale da un manifest riutilizzabile.

  1. Creare uno spazio dei nomi per i carichi di lavoro delle macchine virtuali, se non ne esiste già uno.

    oc create namespace vm-project
    
  2. Creare un manifest di macchina virtuale che faccia riferimento a una classe VPC File Storage.

    cat <<EOF | oc apply -f -
    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      name: rhel9-vm
      namespace: vm-project
    spec:
      running: false
      template:
        metadata:
          labels:
            kubevirt.io/domain: rhel9-vm
        spec:
          domain:
            cpu:
              cores: 2
            devices:
              disks:
              - disk:
                  bus: virtio
                name: rootdisk
              - disk:
                  bus: virtio
                name: cloudinitdisk
            resources:
              requests:
                memory: 4Gi
          volumes:
          - dataVolume:
              name: rhel9-vm-rootdisk
            name: rootdisk
          - cloudInitNoCloud:
              userData: |
                #cloud-config
                user: cloud-user
                password: changeme
                chpasswd: { expire: false }
            name: cloudinitdisk
      dataVolumeTemplates:
      - metadata:
          name: rhel9-vm-rootdisk
        spec:
          pvc:
            accessModes:
            - ReadWriteMany
            resources:
              requests:
                storage: 40Gi
            storageClassName: <storage-class-name>
            volumeMode: Filesystem
          source:
            blank: {}
    EOF
    
  3. Verificare che le risorse della macchina virtuale e del volume di dati siano state create.

    oc get vm -n vm-project
    oc get dv -n vm-project
    oc get pvc -n vm-project
    

    Nell'output, verificare che la macchina virtuale rhel9-vm sia elencata, che il volume di dati rhel9-vm-rootdisk esista e che il claim del volume persistente rhel9-vm-rootdisk sia creato. Se la richiesta di volume persistente non è ancora Bound, attendere il completamento del provisioning prima di continuare.

  4. Rivedere i dettagli del volume di dati se il volume di dati non è pronto.

    oc describe dv rhel9-vm-rootdisk -n vm-project
    oc describe pvc rhel9-vm-rootdisk -n vm-project
    
  5. Avviare la macchina virtuale.

    virtctl start rhel9-vm -n vm-project
    
  6. Verificare che l'istanza della macchina virtuale sia in esecuzione.

    oc get vmi -n vm-project
    

    Nell'output, cercare il nome dell'istanza della macchina virtuale e verificare che la sua fase sia Running. Se non è elencata alcuna istanza di macchina virtuale, verificare lo stato della macchina virtuale.

    oc get vm rhel9-vm -n vm-project -o yaml
    

Convalida della macchina virtuale

Dopo aver creato la macchina virtuale, verificare che le risorse di storage e di calcolo funzionino come previsto.

  1. Confermare che la richiesta di volume persistente è vincolata.

    oc get pvc -n vm-project
    

    Nell'output, cercate la richiesta di volume persistente rhel9-vm-rootdisk e verificate che la colonna STATUS mostri Bound.

  2. Confermare che l'importazione o il provisioning del volume di dati è stato completato correttamente.

    oc get dv -n vm-project
    

    Nell'output, verificare che il volume di dati mostri una fase di successo come Succeeded o Ready, a seconda dell'ambiente. Se il volume di dati non è pronto, rivedere gli eventi di richiesta del volume di dati e del volume persistente.

    oc describe dv rhel9-vm-rootdisk -n vm-project
    oc describe pvc rhel9-vm-rootdisk -n vm-project
    
  3. Confermare che l'istanza della macchina virtuale è in esecuzione.

    oc get vmi -n vm-project
    
  4. Esaminare i dettagli dell'istanza della macchina virtuale per confermare il posizionamento del nodo, le interfacce e i volumi collegati.

    oc describe vmi rhel9-vm -n vm-project
    
  5. Se sono state configurate le credenziali di cloud-init, collegarsi alla console della macchina virtuale.

    virtctl console rhel9-vm -n vm-project
    
  6. Rivedere i dettagli della macchina virtuale se l'istanza non si avvia.

    oc describe vm rhel9-vm -n vm-project
    oc describe vmi rhel9-vm -n vm-project
    

Comprendere limiti e considerazioni

Esaminare le seguenti considerazioni quando si utilizza VPC File Storage per le macchine virtuali:

VPC File Storage prestazioni
VPC File Storage è un'opzione di archiviazione collegata alla rete. In genere è più adatto per lo sviluppo, i test e i carichi di lavoro a basso I/O.
Istantanee e clonazione
Il supporto per le istantanee e le clonazioni è diverso da quello di OpenShift Data Foundation. Esaminate i vostri requisiti di storage prima di standardizzare il VPC File Storage per i carichi di lavoro di produzione.
Migrazione live
La migrazione live è supportata quando il profilo di storage è configurato correttamente e il carico di lavoro soddisfa i requisiti di OpenShift Virtualization.
Configurazione del profilo di archiviazione
È necessario configurare il profilo di archiviazione per il provisioner VPC File CSI in modo che CDI possa utilizzare correttamente la classe di archiviazione.

Risoluzione dei problemi

Se la macchina virtuale non si avvia o il disco non viene fornito correttamente, consultare i seguenti argomenti:

Passi successivi

Dopo aver creato una macchina virtuale con VPC File Storage:

  1. Gestire le macchine virtuali nei cluster del Servizio di virtualizzazione
  2. Configurare le interfacce di rete virtuali
  3. Consultate la documentazione di Red Hat OpenShift Virtualization