Questo documento mostra come abilitare o disabilitare il runtime VM di Anthos aggiornando la risorsa personalizzata VMRuntime
o eseguendo i comandi bmctl
.
Prima di iniziare
Per abilitare o disabilitare il runtime VM di Anthos, è necessario accedere alle seguenti risorse e strumenti:
- Accesso ai cluster Anthos su Bare Metal versione 1.12.0 (
anthosBareMetalVersion: 1.12.0
) 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 sulla creazione dei cluster. - Strumento a riga di comando
bmctl
. Per maggiori informazioni, consulta la pagina Scaricare e installare lo strumentobmctl
.
Abilita Anthos VM Runtime
Anthos VM Runtime viene installato automaticamente nei cluster Anthos su Bare Metal versione 1.10 o successiva, ma è disabilitato per impostazione predefinita. Prima di poter eseguire risorse VM nei tuoi cluster Anthos su Bare Metal, devi abilitare Anthos VM Runtime.
mmctl
Per abilitare il runtime, utilizza lo strumento
bmctl
:bmctl enable vmruntime --kubeconfig KUBECONFIG_PATH
Specifica il percorso del file kubeconfig per il tuo 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 il runtime VM di Anthos è già abilitato, il comando restituisce un errore.
È possibile configurare ulteriori impostazioni, ad esempio per l'emulazione o il formato dell'immagine, modificando la risorsa personalizzata VMRuntime
.
Risorsa personalizzata
Per abilitare il runtime, aggiorna la risorsa personalizzata VMRuntime
. 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 precedente
spec
è possibile impostare i seguenti valori:enabled
: impostalo su vero per abilitare il runtime VM di AnthosuseEmulation
: se il nodo non supporta la virtualizzazione hardware o hai dubbi, imposta il valore su true. Se disponibile, la virtualizzazione hardware 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 del disco:raw
eqcow2
. Se non impostivmImageFormat
, il runtime VM di Anthos utilizza il formato dell'immagine del discoraw
per creare VM. Il formatoraw
potrebbe fornire prestazioni migliori rispetto aqcow2
, una copia sul formato di scrittura, ma potrebbe utilizzare più disco. Per saperne di più sui formati delle immagini per la tua VM, consulta la pagina Formati dei file immagine del disco nella documentazione di 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 è attivo e funzionante quandoVMRuntime.Status.Ready
viene visualizzato cometrue
.
Disabilita il runtime VM di Anthos
Quando non hai più bisogno di utilizzare Anthos VM Runtime, puoi disabilitare questa funzionalità.
mmctl
Per disattivare il runtime, utilizza lo strumento
bmctl
:bmctl disable vmruntime --kubeconfig KUBECONFIG_PATH \ --force=true
Specifica il percorso del file kubeconfig per il cluster e i valori delle seguenti opzioni di configurazione:
--force
: imposta sutrue
per confermare che vuoi eliminare le risorse VM esistenti. Il valore predefinito èfalse
.
Risorsa personalizzata
Per disabilitare il runtime, aggiorna la risorsa personalizzata VMRuntime
:
Modifica la risorsa personalizzata
VMRuntime
:kubectl edit vmruntime
Imposta
enabled:false
nella specifica:apiVersion: vm.cluster.gke.io/v1` kind: VMRuntime metadata: name: vmruntime spec: enabled: false useEmulation: true vmImageFormat: qcow2
Salva nell'editor la specifica aggiornata delle risorse personalizzate.
Per verificare che la risorsa personalizzata
VMRuntime
sia disabilitata, visualizza i pod eseguiti nello spazio dei nomivm-system
:kubectl get pods --namespace vm-system
Il runtime VM di Anthos è disabilitato quando solo i pod che appartengono al deployment
vmruntime-controller-manager
sono in esecuzione nello spazio dei nomi.
Comprendere il comportamento delle VM in esecuzione
L'annotazione baremetal.cluster.gke.io/vmrumtime-force-disable
può essere utilizzata nella risorsa runtime VM di Anthos per definire il comportamento quando il runtime è disabilitato mentre le VM sono in esecuzione nel cluster.
L'esempio seguente mostra che il valore di questa annotazione è impostato su false
per impostazione predefinita:
// VM runtime yaml file
apiVersion: vm.cluster.gke.io/v1
kind: VMRuntime
metadata:
annotations:
baremetal.cluster.gke.io/vmrumtime-force-disable: "false"
name: vmruntime
[...]
Se questa annotazione è impostata su false
, Anthos VM Runtime cerca
di proteggere le VM in esecuzione. Elimina tutte le VM in esecuzione prima della disattivazione del runtime VM di Anthos oppure specifica il parametro --force=true
con il comando bmctl disable vmruntime
, come mostrato nella sezione precedente.
La seguente tabella spiega cosa succede all'esecuzione delle VM quando questa annotazione è impostata su true
o false
e se specifichi il parametro --force=true
:
Stato del cluster | --force parametro | annotazione vmrumtime-force-disable | Comportamento |
---|---|---|---|
Nessuna VM | N/D | N/D | Disabilita il runtime VM di Anthos. |
VM esistenti | Vero | Vero | Elimina tutte le VM in esecuzione e le risorse correlate. Disabilita il runtime VM di Anthos. |
Vero | falso. | Elimina tutte le VM in esecuzione e le risorse correlate. Disabilita il runtime VM di Anthos. | |
falso. | Vero | Richiesta di eliminazione di VM in esecuzione e risorse correlate. Quando tutte le VM in esecuzione sono state eliminate, disabilita Anthos VM Runtime. | |
falso. | falso. | Non eliminare le VM in esecuzione. Non disabilitare il runtime VM di Anthos. Il comando bmctl restituisce un errore. |