Guida rapida: crea una VM nei cluster Anthos su Bare Metal

Questa guida rapida mostra come utilizzare Anthos VM Runtime per creare una macchina virtuale (VM) su cluster Anthos su Bare Metal. Anthos VM Runtime utilizza KubeVirt per orchestrare le VM su cluster e consente di lavorare con app e carichi di lavoro basati su VM in un ambiente di sviluppo uniforme.

Prima di iniziare

Per completare questa guida rapida, devi accedere ai cluster Anthos su Bare Metal versione 1.12 (anthosBareMetalVersion: 1.12) o superiore. Puoi utilizzare qualsiasi tipo di cluster in grado di eseguire carichi di lavoro. Se necessario, prova i cluster Anthos su Bare Metal su Compute Engine o consulta la panoramica per la creazione dei cluster.

Abilita runtime VM VM

Anthos VM Runtime è installato automaticamente nei cluster Anthos su Bare Metal versione 1.10 o successiva, ma è disabilitato per impostazione predefinita. Prima di poter eseguire le risorse VM nei tuoi cluster Anthos su Bare Metal, devi abilitare il runtime runtime VM.

bmctl

I cluster Anthos su Bare Metal versione 1.11 o successiva possono 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 cluster. Quando crei un cluster, Cluster Anthos su Bare Metal genera il file kubeconfig sulla workstation di amministrazione. Per impostazione predefinita, il percorso è bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig.

    Se Anthos VM Runtime è già abilitato, il comando restituisce un errore.

Risorsa personalizzata

I cluster Anthos su Bare Metal versione 1.10 o successiva possono utilizzare una definizione di risorsa personalizzata per abilitare il runtime VM Anthos. 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 VM VM
    • useEmulation: se il nodo non supporta la virtualizzazione hardware, o non sei sicuro, imposta il valore su true. Se disponibile, la virtualizzazione hardware offre prestazioni migliori rispetto all'emulazione del software. Il campo useEmulation è impostato su false per impostazione predefinita, se non è specificato.
    • vmImageFormat: supporta due valori per il formato delle immagini disco: raw e qcow2. Se non imposti vmImageFormat, il runtime runtime VM Anthos utilizza il formato dell'immagine disco raw per creare le VM. Il formato raw può fornire prestazioni migliori rispetto a qcow2, una copia in formato di scrittura, ma può utilizzare più disco. Per ulteriori informazioni sui formati delle immagini per la tua VM, consulta Formati dei file immagine disco nella documentazione QEMU.
  3. Salva la risorsa personalizzata nel tuo editor.

  4. Verifica che la risorsa personalizzata VMRuntime sia abilitata:

    kubectl describe vmruntime vmruntime
    

    I dettagli della risorsa personalizzata VMRuntime includono una sezione Status. Anthos VM Runtime è abilitato e funziona quando VMRuntime.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 su /usr/bin/kubectl-virt sulla tua macchina locale.

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

    kubectl plugin list
    

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

    Se kubectl-virt non è presente nell'elenco, 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, crei una VM che utilizza un'immagine VM pubblica e le credenziali predefinite.

  1. Crea una VM nel tuo 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 valori predefiniti di CPU 2, memoria 4Gi e un disco di avvio 20Gi in modalità ReadWriteOnce utilizzando la classe di archiviazione condivisa locale. Sostituisci i seguenti valori:

    • VM_NAME: 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 ulteriori informazioni, consulta i nomi delle etichette RFC 1123 nella documentazione di Kubernetes.
    • USERNAME: nome utente dell'account da creare nella VM.
    • PASSWORD: password per l'account utente.

    Se ricevi un errore relativo ai parametri dell'interfaccia a riga di comando, verifica che la versione del tuo cluster sia 1.11.1 o successiva e che sia installata la versione più recente dello strumento client virtctl. Per ulteriori informazioni, consulta i problemi noti di Anthos VM Runtime.

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

    kubectl get gvm
    

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

    NAME         STATUS    AGE   IP
    vm-sample1   Running   64s   192.168.2.124
    

Connettiti alla tua 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 specificate per la VM.

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

    Ctrl + ]
    

Esegui la pulizia

Per ripulire le risorse create in questa guida rapida, segui questi passaggi:

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

    kubectl virt delete vm VM_NAME --all
    

Passaggi successivi