Questa guida rapida mostra come utilizzare VM Runtime su GDC per creare una macchina virtuale (VM) su Google Distributed Cloud. VM Runtime 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 a un cluster Google Distributed Cloud versione
1.12 (anthosBareMetalVersion: 1.12) o successive. 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 del cluster.
Abilita il runtime delle 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 risorse VM in Google Distributed Cloud, devi abilitare 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- Specifica il percorso del file kubeconfig per il tuo cluster. Google Distributed Cloud genera il file kubeconfig sulla workstation amministrativa 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 abilitare il runtime VM su GDC. Questa risorsa personalizzata è installata per impostazione predefinita.
- Modifica la risorsa personalizzata - VMRuntime:- kubectl edit vmruntime
- Imposta - enabled:truenella 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 - specprecedente, è possibile impostare i seguenti valori:- enabled: impostato su true per abilitare VM Runtime su GDC
- useEmulation: se il nodo non supporta la virtualizzazione hardware o non ne hai la certezza, imposta il valore su true. Se disponibile, la virtualizzazione hardware offre prestazioni migliori rispetto all'emulazione software. Se non specificato, il campo- useEmulationha come valore predefinito- false.
- vmImageFormat: supporta due valori di formato dell'immagine disco:- rawe- qcow2. Se non imposti- vmImageFormat, VM Runtime su GDC utilizza il formato dell'immagine disco- rawper creare le VM. Il formato- rawpotrebbe offrire prestazioni migliori rispetto a- qcow2, un formato copy-on-write, ma potrebbe utilizzare più spazio su disco. Per ulteriori informazioni sui formati delle immagini per la tua VM, consulta Formati dei file immagine disco nella documentazione di QEMU.
 
- Salva la risorsa personalizzata nell'editor. 
- Verifica che la risorsa personalizzata - VMRuntimesia abilitata:- kubectl describe vmruntime vmruntime- I dettagli della risorsa personalizzata - VMRuntimeincludono una sezione- Status. Il runtime VM su GDC è abilitato e funziona quando- VMRuntime.Status.Readyviene visualizzato come- true.
Installa lo strumento client virtctl
Per creare e gestire le VM, installa lo strumento client virtctl.
- Installa lo strumento client - virtctlcome 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-virtsulla tua macchina locale.
- Verifica che il plug-in - virtctlsia installato:- kubectl plugin list- Se - kubectl-virtè elencato nella risposta, il plug-in è stato installato correttamente.- Se - kubectl-virtnon è elencato, controlla il file- install-virtctl.logcome indicato nell'output del comando- bmctl installprecedente, ad esempio- bmctl-workspace/log/install-virtctl-[date]/install-virtctl.log.
Crea una VM
In questa guida rapida, utilizzi la CLI kubectl per creare una VM che utilizza un'immagine VM pubblica e le credenziali predefinite.
- Crea una VM nel cluster. Il plug-in - virtctlviene 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à ReadWriteOnce 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 ulteriori informazioni, consulta RFC 1123 Label Names nella documentazione di Kubernetes.
- USERNAME: il nome utente dell'account da creare sulla VM.
- PASSWORD: la password dell'account utente.
 - Se ricevi un errore relativo ai parametri CLI, verifica che il cluster sia alla versione - 1.11.1o successive e che tu disponga dell'ultima versione dello strumento client- virtctl. Per saperne di più sugli errori dell'interfaccia a riga di comando, consulta il log della console. Per le regole relative a nome utente e password, consulta la documentazione del sistema operativo guest. Se qualcosa non funziona come previsto, controlla i problemi noti di VM Runtime su GDC.
- 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 nello stato - Running:- NAME STATUS AGE IP vm-sample1 Running 64s 192.168.2.124
Connettersi alla VM
Quando la VM è in esecuzione, connettiti alla relativa console.
- Per accedere a una VM dalla console, utilizza - kubectl:- kubectl virt console VM_NAME
- Quando richiesto, inserisci le credenziali utente specificate per creare la VM. 
- 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:
- Per eliminare la VM e il DataVolume associato, utilizza - kubectl:- kubectl virt delete vm VM_NAME --all
Passaggi successivi
- Gestisci lo stato di alimentazione di una VM in Google Distributed Cloud.
- Modifica una VM in Google Distributed Cloud.
- Visualizza i log della console VM in Google Distributed Cloud.