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.
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 VMuseEmulation
: 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 campouseEmulation
è impostato sufalse
per impostazione predefinita, se non è specificato.vmImageFormat
: supporta due valori per il formato delle immagini disco:raw
eqcow2
. Se non impostivmImageFormat
, il runtime runtime VM Anthos utilizza il formato dell'immagine discoraw
per creare le VM. Il formatoraw
può fornire prestazioni migliori rispetto aqcow2
, 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.
Salva la risorsa personalizzata nel tuo editor.
Verifica che la risorsa personalizzata
VMRuntime
sia abilitata:kubectl describe vmruntime vmruntime
I dettagli della risorsa personalizzata
VMRuntime
includono una sezioneStatus
. Anthos VM Runtime è abilitato e funziona quandoVMRuntime.Status.Ready
viene visualizzato cometrue
.
Installa lo strumento client virtctl
Per creare e gestire le VM, installa lo 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 di installarlo su/usr/bin/kubectl-virt
sulla tua macchina locale.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 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, crei una VM che utilizza un'immagine VM pubblica e le credenziali predefinite.
Crea una VM nel tuo cluster. Il plug-in
virtctl
viene utilizzato con il comandokubectl
: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 clientvirtctl
. Per ulteriori informazioni, consulta i problemi noti di Anthos VM Runtime.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.
Per accedere a una VM dalla console, utilizza
kubectl
:kubectl virt console VM_NAME
Quando richiesto, inserisci le credenziali utente specificate per la VM.
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:
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 nei cluster Anthos su Bare Metal.
- Modifica una VM in cluster Anthos su Bare Metal.
- Visualizza i log della console VM nei cluster Anthos su Bare Metal.