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
un 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 questa funzionalità è disattivata per impostazione predefinita. Prima di poter eseguire le risorse VM in Google Distributed Cloud, devi attivare il runtime VM su GDC.
bmctl
La versione 1.11 o successive di Google Distributed Cloud può utilizzare lo strumento a riga di comando bmctl
:
Per attivare il runtime, usa 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 sul 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 da predefinito.
Modifica la risorsa personalizzata
VMRuntime
:kubectl edit vmruntime
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 su GDCuseEmulation
: se il tuo nodo non supporta la virtualizzazione hardware o se non ne sei sicuro, imposta il valore su true. Se disponibile, hardware la virtualizzazione offre prestazioni migliori rispetto all'emulazione software. Se non specificato, il valore predefinito del campouseEmulation
èfalse
.vmImageFormat
: supporta due valori per il formato dell'immagine disco:raw
eqcow2
. Se non impostivmImageFormat
, il tempo di esecuzione VM su GDC utilizza il formato dell'immagine discoraw
per creare VM. Il formatoraw
potrebbe fornire un rendimento migliore rispetto aqcow2
, un copia in formato di scrittura, ma può utilizzare più disco. Per ulteriori informazioni i formati dell'immagine per la tua VM, Formati file immagine disco nella documentazione di QEMU.
Salva la risorsa personalizzata nell'editor.
Verifica che la risorsa personalizzata
VMRuntime
sia abilitata:kubectl describe vmruntime vmruntime
I dettagli della risorsa personalizzata
VMRuntime
includono una sezioneStatus
. Il runtime VM su GDC è abilitato e funziona quandoVMRuntime.Status.Ready
viene visualizzato cometrue
.
Installa lo strumento client virtctl
Per creare e gestire le VM, installa strumento client virtctl.
Installa lo strumento client
virtctl
come plug-inkubectl
: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 installalo su/usr/bin/kubectl-virt
sulla tua macchina locale.Verifica che il plug-in
virtctl
sia installato:kubectl plugin list
Se
kubectl-virt
è elencato nella risposta, il plug-in è stato eseguito correttamente installato.Se
kubectl-virt
non è presente nell'elenco, controlla il fileinstall-virtctl.log
come indicato nell'output del comandobmctl install
precedente, ad esempiobmctl-workspace/log/install-virtctl-[date]/install-virtctl.log
.
Crea una VM
In questa guida rapida, utilizzerai l'interfaccia a riga di comando kubectl
per creare una VM che utilizza un server
Immagine VM e credenziali predefinite.
Crea una VM nel cluster. Il plug-in
virtctl
viene utilizzato con Comandokubectl
: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. Nomi VM deve contenere solo caratteri alfanumerici minuscoli o "-", inizio e fine da un carattere alfanumerico e può 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 nella VM.PASSWORD
: password dell'account utente.
Se ricevi un errore relativo ai parametri dell'interfaccia a riga di comando, verifica che il cluster si trovi nella versione
1.11.1
o successiva e che hai la versione più recente dell' Strumento clientvirtctl
. Per ulteriori informazioni sugli errori della CLI, consulta il log della console. Per le regole relative a nome utente e password, consulta la documentazione relativa al sistema operativo guest. Se qualcosa non funziona come previsto, verifica la presenza di eventuali Problemi noti di runtime VM 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 in 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.
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 effettuato la connessione alla console della VM, esci dalla VM sessione e console:
Ctrl + ]
Esegui la pulizia
Per eseguire la pulizia delle risorse create in questa guida rapida, segui questi passaggi.
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 della VM in Google Distributed Cloud.