Questa guida rapida mostra come utilizzare Anthos VM Runtime per creare una macchina virtuale (VM) su Anthos clusters on bare metal. Anthos VM Runtime 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 accedere ai Anthos clusters on bare metal versione 1.12 (anthosBareMetalVersion: 1.12
) o versioni successive. Puoi utilizzare qualsiasi tipo di cluster in grado di eseguire carichi di lavoro. Se necessario, prova Anthos clusters on bare metal su Compute Engine o consulta la panoramica della creazione dei cluster.
Abilita Anthos VM Runtime
Anthos VM Runtime è installato automaticamente nei Anthos clusters on bare metal versione 1.10 o successive, ma è disabilitato per impostazione predefinita. Prima di poter eseguire le risorse VM nei Anthos clusters on bare metal, devi abilitare il runtime VM di Anthos.
McBl
Anthos clusters on bare metal versione 1.11 o successive possono utilizzare lo strumento a riga di comando bmctl
:
Per abilitare il runtime, utilizza lo strumento
bmctl
:bmctl enable vmruntime --kubeconfig KUBECONFIG_PATH
Specifica il percorso del file kubeconfig per il cluster. Anthos clusters on bare metal 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 Anthos VM Runtime è già abilitato, il comando restituisce un errore.
Risorsa personalizzata
Anthos clusters on bare metal versione 1.10 o successive possono utilizzare una definizione di risorsa personalizzata per abilitare il runtime VM di Anthos. Questa risorsa personalizzata è installata per impostazione predefinita.
Modifica la risorsa personalizzata
VMRuntime
:kubectl edit vmruntime
Imposta
enabled:true
nelle specifiche: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 precedente
spec
è possibile impostare i seguenti valori:enabled
: impostato su true per abilitare il runtime VM di AnthosuseEmulation
: se il tuo nodo non supporta la virtualizzazione hardware, o non hai la certezza che sia, imposta il valore su true. Se disponibile, la virtualizzazione hardware offre prestazioni migliori rispetto all'emulazione del software. Se non specificato, il valore predefinito del campouseEmulation
èfalse
.vmImageFormat
: supporta due valori nel formato dell'immagine disco:raw
eqcow2
. Se non impostivmImageFormat
, il runtime VM di Anthos utilizza il formato dell'immagine discoraw
per creare VM. Il formatoraw
può fornire prestazioni migliori rispetto aqcow2
, una copia sul formato di scrittura, ma potrebbe utilizzare più disco. Per ulteriori informazioni sui formati delle immagini per la tua VM, consulta Formati dei file immagine del 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
. Anthos VM Runtime è abilitato e funzionante 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 consentono di autenticare e scaricare lo strumento client
virtctl
, quindi di installarlo su/usr/bin/kubectl-virt
sulla macchina locale.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 è in 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'immagine VM pubblica e le credenziali predefinite.
Creare una VM nel cluster. Viene usato il plug-in
virtctl
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 utilizza per impostazione predefinita 2 CPU, 4Gi di memoria e un disco di avvio 20Gi in modalità ReadWriteOnce utilizzando la classe di archiviazione local-shared. 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 Nomi delle etichette RFC 1123 nella documentazione di Kubernetes.USERNAME
: nome utente dell'account da creare sulla VM.PASSWORD
: password dell'account utente.
Se ricevi un errore sui parametri dell'interfaccia a riga di comando, verifica che la versione del cluster sia
1.11.1
o successiva e di avere la versione più recente dello strumento clientvirtctl
. Per ulteriori informazioni 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, verifica se sono presenti problemi noti di Anthos VM Runtime.La creazione della VM può richiedere alcuni minuti. Verifica 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 sessione VM e dalla 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 volume di dati 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 Anthos clusters on bare metal.
- Visualizza i log della console VM in Anthos clusters on bare metal.