Guida rapida: crea una VM nei cluster Google Distributed Cloud

Questa guida rapida mostra come utilizzare il runtime VM su GDC per creare una VM (macchina virtuale) su Google Distributed Cloud. Il runtime VM su GDC utilizza KubeVirt per orchestrare le VM sui cluster e ti consente di lavorare con le tue app e i tuoi carichi di lavoro basati su VM in un ambiente di sviluppo uniforme.

Prima di iniziare

Per completare questa guida rapida, devi avere accesso al cluster Google Distributed Cloud versione 1.12 (anthosBareMetalVersion: 1.12) o successiva. Puoi utilizzare qualsiasi tipo di cluster in grado di eseguire carichi di lavoro. Se necessario, prova Google Distributed Cloud su Compute Engine o consulta la panoramica della creazione dei cluster.

Attivare il runtime della VM su GDC

Il runtime VM su GDC viene installato automaticamente in Google Distributed Cloud versione 1.10 o successive, ma è disattivato per impostazione predefinita. Prima di poter eseguire le risorse VM in Google Distributed Cloud, devi attivare il runtime VM su GDC.

bmctl

Google Distributed Cloud versione 1.11 o successive può utilizzare lo strumento a riga di comando bmctl:

  • Per attivare il runtime, utilizza lo strumento bmctl:

    bmctl enable vmruntime --kubeconfig KUBECONFIG_PATH
    

    Fornisci il percorso del file kubeconfig per il tuo cluster. Google Distributed Cloud genera il file kubeconfig sulla workstation di amministrazione quando crei un cluster. Per impostazione predefinita, il percorso è bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig.

    Se il runtime VM su GDC è già abilitato, il comando restituisce un errore.

Risorsa personalizzata

Google Distributed Cloud versione 1.10 o successive può utilizzare una definizione di risorsa personalizzata per attivare il runtime VM su GDC. Questa risorsa personalizzata è installata per impostazione predefinita.

  1. Modifica la risorsa personalizzata VMRuntime:

    kubectl edit vmruntime
    
  2. Imposta enabled:true nella specifica:

    apiVersion: vm.cluster.gke.io/v1
    kind: VMRuntime
    metadata:
      name: vmruntime
    spec:
      enabled: true
      # useEmulation defaults to "false" if not set.
      useEmulation: true
      # vmImageFormat defaults to "qcow2" if not set.
      vmImageFormat: qcow2
    

    Nella sezione spec precedente, è possibile impostare i seguenti valori:

    • enabled: impostato su true per abilitare il runtime della VM su GDC
    • useEmulation: se il tuo nodo non supporta la virtualizzazione hardware o se non hai la certezza, imposta il valore su true. Se disponibile, la virtualizzazione hardware offre prestazioni migliori rispetto all'emulazione software. Se non specificato, il valore predefinito del campo useEmulation è false.
    • vmImageFormat: supporta due valori per il formato dell'immagine disco: raw e qcow2. Se non imposti vmImageFormat, il tempo di esecuzione VM su GDC utilizza il formato dell'immagine disco raw per creare VM. Il formato raw potrebbe offrire prestazioni migliori rispetto a qcow2, un formato di copia su scrittura, ma potrebbe utilizzare più spazio su disco. Per ulteriori informazioni sui formati delle immagini per la VM, consulta Formati file delle immagini disco nella documentazione di QEMU.
  3. Salva la risorsa personalizzata nell'editor.

  4. Verifica che la risorsa personalizzata VMRuntime sia abilitata:

    kubectl describe vmruntime vmruntime
    

    I dettagli della risorsa personalizzata VMRuntime includono una sezione Status. Il runtime VM su GDC è abilitato e funziona quandoVMRuntime.Status.Ready viene visualizzato come true.

Installa lo strumento client virtctl

Per creare e gestire le VM, installa lo strumento client virtctl.

  1. Installa lo strumento client virtctl come plug-in kubectl:

    export GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_SERVICE_ACCOUNT_KEY/bm-gcr.json"
    sudo -E bmctl install virtctl
    

    Le credenziali ti consentono di autenticare e scaricare lo strumento client virtctl, quindi di installarlo in /usr/bin/kubectl-virt sulla tua macchina locale.

  2. Verifica che il plug-in virtctl sia installato:

    kubectl plugin list
    

    Se kubectl-virt è elencato nella risposta, il plug-in è stato installato correttamente.

    Se kubectl-virt non è elencato, controlla il file install-virtctl.log come indicato nell'output del comando bmctl install precedente, ad esempio bmctl-workspace/log/install-virtctl-[date]/install-virtctl.log.

Crea una VM

In questa guida rapida, utilizzerai kubectl CLI per creare una VM che utilizza un'immagine VM pubblica e le credenziali predefinite.

  1. Crea una VM nel cluster. Il plug-in virtctl viene utilizzato con il comando kubectl:

    kubectl virt create vm VM_NAME \
        --image ubuntu20.04 \
        --configure-initial-password USERNAME:PASSWORD
    

    Questo comando crea una VM Ubuntu 20.04 e i valori predefiniti di 2 CPU, 4 Gi di memoria e un disco di avvio da 20 Gi in modalità Lettura/scrittura una volta utilizzando la classe di archiviazione local-shared. Sostituisci i seguenti valori:

    • VM_NAME: il nome della VM. I nomi delle VM devono contenere solo caratteri alfanumerici minuscoli o "-", iniziare e terminare con un carattere alfanumerico e contenere al massimo 63 caratteri. Per maggiori informazioni, consulta Nomi delle etichette RFC 1123 nella documentazione di Kubernetes.
    • USERNAME: nome utente dell'account da creare sulla VM.
    • PASSWORD: password per l'account utente.

    Se ricevi un errore relativo ai parametri della CLI, verifica che il tuo cluster sia almeno alla versione 1.11.1 e che tu abbia installato la versione più recente dello strumento client virtctl. Per ulteriori informazioni sugli errori della CLI, consulta il log della console. Per le regole relative a nome utente e password, consulta la documentazione del sistema operativo ospite. Se qualcosa non funziona come previsto, controlla i problemi noti relativi all'esecuzione VM su GDC.

  2. La creazione della VM può richiedere alcuni minuti. Controlla lo stato della VM con il comando kubectl:

    kubectl get gvm
    

    L'esempio di output seguente mostra la VM in uno stato Running:

    NAME         STATUS    AGE   IP
    vm-sample1   Running   64s   192.168.2.124
    

Connettersi alla VM

Quando la VM è in esecuzione, connettiti alla console della VM.

  1. Per accedere a una VM dalla console, utilizza kubectl:

    kubectl virt console VM_NAME
    
  2. Quando richiesto, inserisci le credenziali utente che hai specificato per creare la VM.

  3. Dopo aver eseguito correttamente la connessione alla console della VM, esci dalla sessione e dalla console della VM:

    Ctrl + ]
    

Esegui la pulizia

Per eseguire la pulizia delle risorse create in questa guida rapida:

  1. Per eliminare la VM e il DataVolume associato, utilizza kubectl:

    kubectl virt delete vm VM_NAME --all
    

Passaggi successivi