Questa pagina descrive come gestire le macchine virtuali su Google Distributed Cloud che esegue VM Runtime su Google Distributed Cloud. Prima di completare i passaggi di questa pagina, devi avere familiarità con VM Runtime su GDC. Per un elenco dei sistemi operativi guest supportati, vedi Sistemi operativi guest verificati per VM Runtime su GDC.
Per scoprire in che modo le macchine virtuali fungono da componente essenziale della piattaforma Distributed Cloud, consulta Estensione di GKE Enterprise per gestire le VM edge on-premise.
I cluster del control plane locale supportano i webhook delle macchine virtuali. Ciò consente a Distributed Cloud di convalidare le richieste degli utenti effettuate al server API Kubernetes locale. Le richieste rifiutate generano informazioni dettagliate sul motivo del rifiuto.
Abilita il supporto del runtime VM su GDC su Distributed Cloud
Per impostazione predefinita, il supporto delle macchine virtuali del runtime VM su GDC è disabilitato su Distributed Cloud. Per attivarla, completa i passaggi descritti in questa sezione. Le istruzioni in questa sezione presuppongono che tu disponga di un cluster Distributed Cloud completamente funzionante.
La risorsa VMRuntime che configura il supporto di VM Runtime su GDC
su Distributed Cloud configura anche il supporto GPU sul cluster
utilizzando il parametro enableGPU. Assicurati di configurare i due parametri in base alle esigenze del tuo workload. Non devi abilitare
il supporto GPU per abilitare VM Runtime su GDC support sul tuo
cluster Distributed Cloud.
La seguente tabella descrive le configurazioni disponibili:
Valore enable |
Valore enableGPU |
Configurazione risultante |
|---|---|---|
false |
false |
I carichi di lavoro vengono eseguiti solo nei container e non possono utilizzare le risorse GPU. |
false |
true |
I carichi di lavoro vengono eseguiti solo nei container e possono utilizzare le risorse GPU. |
true |
true |
I carichi di lavoro possono essere eseguiti su macchine virtuali e in container. Entrambi i tipi di workload possono utilizzare le risorse GPU. |
true |
false |
I carichi di lavoro possono essere eseguiti su macchine virtuali e in container. Nessuno dei due tipi di workload può utilizzare le risorse GPU. |
Se hai già attivato il supporto GPU, modifica la risorsa VMRuntime per aggiungere
il parametro enable, imposta il relativo valore su true
e poi applicalo al cluster Distributed Cloud.
Attiva il runtime delle VM sul sottosistema delle macchine virtuali GDC
A seconda del tipo di cluster su cui vuoi abilitare VM Runtime sul sottosistema di macchine virtuali GDC, esegui una delle seguenti operazioni:
- Per i cluster del control plane Cloud, devi creare manualmente la risorsa
VMRuntime. - Per i cluster del piano di controllo locale, devi modificare la risorsa
VMRuntimeesistente.
Per attivare VM Runtime nel sottosistema di macchine virtuali GDC, completa i seguenti passaggi:
A seconda del tipo di cluster di destinazione, crea o modifica la risorsa personalizzata
VMRuntimecon i seguenti contenuti e applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: # Enable Anthos VM Runtime support enabled: true # vmImageFormat defaults to "raw" if not set vmImageFormat: "raw"
Non modificare il valore del parametro
vmImageFormat. Distributed Cloud non supporta altri formati di dischi virtuali.In genere, il completamento di questa procedura richiede diversi minuti.
Utilizza questo comando per verificare che la risorsa personalizzata
VMRuntimesia stata applicata al cluster:kubectl get vmruntime -o yaml
Il comando restituisce un output simile al seguente esempio:
- apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime ... spec: enabled: true vmImageFormat: raw status: ... ready: true ...Utilizza il seguente comando per verificare che il supporto della macchina virtuale di VM Runtime su GDC sia stato abilitato sul cluster:
kubectl get pods -n vm-system
Il comando restituisce un output che mostra i pod del sottosistema VM Runtime su GDC in esecuzione sul cluster, simile al seguente esempio:
NAME READY STATUS RESTARTS AGE cdi-apiserver-6c76c6cf7b-n68wn 1/1 Running 0 132m cdi-deployment-f78fd599-vj7tv 1/1 Running 0 132m cdi-operator-65c4df9647-fcb9d 1/1 Running 0 134m cdi-uploadproxy-7765ffb694-6j7bf 1/1 Running 0 132m macvtap-fjfjr 1/1 Running 0 134m virt-api-77dd99dbbb-bs2fb 1/1 Running 0 132m virt-api-77dd99dbbb-pqc27 1/1 Running 0 132m virt-controller-5b44dbbbd7-hc222 1/1 Running 0 132m virt-controller-5b44dbbbd7-p8xkk 1/1 Running 0 132m virt-handler-n76fs 1/1 Running 0 132m virt-operator-86565697d9-fpxqh 2/2 Running 0 134m virt-operator-86565697d9-jnbt7 2/2 Running 0 134m vm-controller-controller-manager-7844d5fb7b-72d8m 2/2 Running 0 134m vmruntime-controller-manager-845649c847-m78r9 2/2 Running 0 175m
Concedi all'accesso allo spazio dei nomi di destinazione al registro Distributed Cloud
I passaggi descritti in questa sezione si applicano solo ai cluster del control plane Cloud. Se stai configurando il runtime VM sul sottosistema di macchine virtuali GDC su un cluster del control plane locale, salta questa sezione.
Prima di poter creare una macchina virtuale in uno spazio dei nomi, devi concedere a questo spazio dei nomi l'accesso al registro Distributed Cloud. Il registro contiene i componenti necessari per creare e distribuire le macchine virtuali nel namespace di destinazione. Tieni presente che non puoi eseguire macchine virtuali in spazi dei nomi riservati alla gestione del sistema Distributed Cloud. Per saperne di più, consulta Limitazioni dello spazio dei nomi di gestione.
Completa i seguenti passaggi per concedere al tuo spazio dei nomi di destinazione l'accesso al registro Distributed Cloud:
Applica una patch al account di servizio predefinito nello spazio dei nomi di destinazione con la chiave
imagePullSecretdenominatagcr-pull:kubectl patch sa default -p "{\"imagePullSecrets\": [{\"name\": \"gcr-pull\"}]}" -n NAMESPACE
Sostituisci
NAMESPACEcon il nome dello spazio dei nomi di destinazione.Aggiorna il secret associato nello spazio dei nomi di destinazione:
# Delete existing secret. kubectl delete secret gcr-pull -n NAMESPACE --ignore-not-found # Copy the new secret to the target namespace. kubectl get secret gcr-pull -n vm-system -o yaml | sed "s/namespace: vm-system/namespace: NAMESPACE/g" | kubectl apply -f -
Sostituisci
NAMESPACEcon il nome dello spazio dei nomi di destinazione.Il segreto scade dopo un'ora. Devi aggiornarlo manualmente dopo la scadenza.
Installa lo strumento di gestione virtctl
Per gestire le macchine virtuali nel tuo cluster Distributed Cloud, devi utilizzare lo strumento client virtctl. Per installare lo strumento, completa i seguenti passaggi:
Installa lo strumento client
virtctlcome plug-inkubectl:export VERSION=v0.49.0-anthos1.12-gke.7 gcloud storage cp gs://anthos-baremetal-release/virtctl/${VERSION}/linux-amd64/virtctl /usr/local/bin/virtctl cd /usr/local/bin sudo ln -s virtctl kubectl-virt sudo chmod a+x virtctl cd -
Verifica che il plug-in
virtsia installato:kubectl plugin list
Se il plug-in è stato installato correttamente, l'output del comando elenca
kubectl-virttra i plug-in.
Esegui il provisioning di una macchina virtuale su Distributed Cloud con l'archiviazione a blocchi non elaborata
Questa sezione fornisce esempi di configurazione che illustrano come eseguire il provisioning di una
macchina virtuale Linux e di una macchina virtuale Windows su un cluster Distributed Cloud
con spazio di archiviazione a blocchi non elaborato. Gli esempi utilizzano lo spazio di archiviazione a blocchi istanziato come PersistentVolume.
Limitazioni dell'utilizzo dell'archiviazione a blocchi non elaborata
Quando esegui macchine virtuali con archiviazione a blocchi non elaborata su Distributed Cloud, si applicano le seguenti limitazioni:
- Il campo
OSTypenon è supportato nelle specifiche delle risorseVirtualMachinenei cluster del control plane Cloud. Per questo motivo, per accedere alle macchine virtuali in esecuzione sui cluster del control plane Cloud sono supportati solo i metodiconsoleevnc. - Non puoi creare una macchina virtuale su un cluster Distributed Cloud direttamente utilizzando il comando
kubectl virtperché Distributed Cloud non fornisce spazio di archiviazione del file system alle macchine virtuali. - Le risorse di archiviazione a blocchi
PersistenVolumeClaimnon supportano il formato dell'immagine discoqcow2. - Il plug-in Containerized Data Importer (CDI) non supporta le risorse
DataVolumesull'archiviazione a blocchi perché lo spazio di lavoro del plug-in funziona solo sull'archiviazione del file system. Per ulteriori informazioni, consulta Spazio di lavoro.
Esegui il provisioning di una macchina virtuale Linux su Distributed Cloud con l'archiviazione a blocchi non elaborata
L'esempio seguente illustra come eseguire il provisioning di una macchina virtuale Linux con spazio di archiviazione a blocchi non elaborato che esegue Ubuntu Server 22.04. L'origine dell'installazione è l'immagine disco ISO di Ubuntu Server 22.04.
Crea una risorsa
PersistentVolumeClaimcon i seguenti contenuti per l'immagine del disco di installazione di Ubuntu Server, quindi applicala al cluster:apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app: containerized-data-importer name: iso-ubuntu annotations: cdi.kubevirt.io/storage.import.endpoint: "https://releases.ubuntu.com/jammy/ubuntu-22.04.3-live-server-amd64.iso" spec: accessModes: - ReadWriteOnce storageClassName: local-block volumeMode: Block resources: requests: storage: 5Gi
Crea una risorsa
PersistentVolumeClaimcon i seguenti contenuti per il disco rigido virtuale della macchina virtuale, quindi applicala al cluster:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ubuntuhd spec: accessModes: - ReadWriteOnce resources: requests: storage: 15Gi storageClassName: local-block volumeMode: Block
Crea una risorsa
VirtualMachineDiskcon i seguenti contenuti per l'immagine del disco di installazione di Ubuntu Server, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-iso-disk" spec: persistentVolumeClaimName: iso-ubuntu diskType: cdrom
Crea una risorsa
VirtualMachineDiskcon i seguenti contenuti per l'hard disk virtuale della macchina virtuale, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-main-disk" spec: persistentVolumeClaimName: ubuntuhd
Crea una risorsa
VirtualMachineTypecon i seguenti contenuti che specificano la configurazione della macchina virtuale, quindi applicala al tuo cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Crea una risorsa
VirtualMachinecon i seguenti contenuti che crea un'istanza e avvia la macchina virtuale sul cluster, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: ubu-vm name: ubu-vm # Propagate the virtual machine name to the VMI spec: osType: Linux compute: virtualMachineTypeName: small-2-20 interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: ubuntu-main-disk boot: true - virtualMachineDiskName: ubuntu-iso-disk
Il campo
osTypesi applica solo ai cluster del control plane locale. È obbligatorio sui cluster del control plane locale per configurare le seguenti funzionalità:Installa Ubuntu Server sulla macchina virtuale:
- Attendi che il pod
importerscarichi l'immagine disco di installazione di Ubuntu Server. Controlla lo stato della macchina virtuale:
kubectl get gvm VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,ubu-vmin questo esempio.Accedi alla macchina virtuale:
kubectl virt vnc VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,ubu-vmin questo esempio.Completa i passaggi di installazione di Ubuntu Linux.
- Attendi che il pod
Pulizia:
Arresta la macchina virtuale:
kubectl virt stop VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,ubu-vmin questo esempio.Modifica il file YAML della macchina virtuale per rimuovere il riferimento all'immagine disco di installazione:
kubectl edit gvm VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,ubu-vmin questo esempio.Avvia la macchina virtuale:
kubectl virt start VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,ubu-vmin questo esempio.Elimina le risorse
VirtualMachineDiskePersistentVolumeClaimper l'immagine disco di installazione:kubectl delete virtualmachinedisk ubuntu-iso-disk kubectl delete pvc iso-ubuntu
Esegui il provisioning di una macchina virtuale Windows su Distributed Cloud con archiviazione a blocchi non elaborata
L'esempio seguente mostra come eseguire il provisioning di una macchina virtuale Windows con
spazio di archiviazione a blocchi non elaborato. I passaggi sono simili al provisioning di una macchina virtuale Linux,
con l'aggiunta dell'immagine disco del driver virtio, necessaria per l'installazione
di Windows.
Ottieni una copia con licenza di Windows e la relativa immagine del supporto di installazione.
Crea una risorsa
PersistentVolumeClaimcon i seguenti contenuti per l'immagine del disco di installazione di Windows, quindi applicala al cluster. Per istruzioni, vedi Da immagine.Crea una risorsa
PersistentVolumeClaimcon i seguenti contenuti per il drivervirtio, quindi applicala al cluster:apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app: containerized-data-importer name: virtio-driver annotations: cdi.kubevirt.io/storage.import.endpoint: "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso" spec: accessModes: - ReadWriteOnce storageClassName: local-block volumeMode: Block resources: requests: storage: 1Gi
Crea una risorsa
PersistentVolumeClaimcon i seguenti contenuti per l'hard disk virtuale della macchina virtuale, quindi applicala al cluster:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: windowshd spec: accessModes: - ReadWriteOnce resources: requests: storage: 15Gi storageClassName: local-block volumeMode: Block
Crea una risorsa
VirtualMachineDiskcon i seguenti contenuti per l'immagine del disco di installazione di Windows, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "windows-iso-disk" spec: persistentVolumeClaimName: iso-windows diskType: cdrom
Crea una risorsa
VirtualMachineDiskcon i seguenti contenuti per il drivervirtio, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "win-virtio-driver" spec: persistentVolumeClaimName: virtio-driver diskType: cdrom
Crea una risorsa
VirtualMachineDiskcon i seguenti contenuti per l'hard disk virtuale della macchina virtuale, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "windows-main-disk" spec: persistentVolumeClaimName: windowshd
Crea una risorsa
VirtualMachineTypecon i seguenti contenuti che specificano la configurazione della macchina virtuale, quindi applicala al tuo cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Crea una risorsa
VirtualMachinecon i seguenti contenuti che crea un'istanza e avvia la macchina virtuale sul cluster, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: win-vm name: win-vm # Propagate the virtual machine name to the VMI spec: osType: Windows compute: virtualMachineTypeName: my-vmt interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: windows-main-disk boot: true - virtualMachineDiskName: windows-iso-disk - virtualMachineDiskName: win-virtio-driver
Il campo
osTypesi applica solo ai cluster del control plane locale. È obbligatorio sui cluster del control plane locale per configurare le seguenti funzionalità:Installa Windows sulla macchina virtuale:
- Attendi che il pod
importerscarichi l'immagine disco di installazione di Windows. Controlla lo stato della macchina virtuale:
kubectl get gvm VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,win-vmin questo esempio.Completa l'installazione di Windows seguendo i passaggi descritti in Connettiti alla VM Windows e completa l'installazione del sistema operativo.
- Attendi che il pod
Pulizia:
Arresta la macchina virtuale:
kubectl virt stop VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,win-vmin questo esempio.Completa i passaggi descritti in Scollega l'immagine ISO e il disco dei driver.
Esegui il provisioning di una macchina virtuale su Distributed Cloud con Symcloud Storage
Questa sezione fornisce esempi di configurazione che illustrano come eseguire il provisioning di una macchina virtuale Linux e di una macchina virtuale Windows su un cluster Distributed Cloud con il livello di astrazione di Symcloud Storage.
Prima di completare i passaggi di questa sezione, devi completare i passaggi descritti in Configurare Distributed Cloud per Symcloud Storage. Se in un secondo momento disattivi Symcloud Storage sul cluster, le macchine virtuali configurate per utilizzare Symcloud Storage non funzioneranno.
Esegui il provisioning di una macchina virtuale Linux su Distributed Cloud con Symcloud Storage
L'esempio seguente illustra come eseguire il provisioning di una macchina virtuale Linux con Symcloud Storage che esegue Ubuntu Server 22.04. L'origine dell'installazione è l'immagine disco ISO di Ubuntu Server 22.04.
Crea una risorsa
VirtualMachineDiskcon i seguenti contenuti per l'immagine del disco di installazione di Ubuntu Server, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: ubuntu-iso-disk spec: size: 20Gi storageClassName: robin diskType: cdrom source: http: url: https://releases.ubuntu.com/jammy/ubuntu-22.04.3-live-server-amd64.iso
Crea una risorsa
VirtualMachineDiskcon i seguenti contenuti per l'hard disk virtuale della macchina virtuale, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-main-disk" spec: size: 200Gi storageClassName: robin
Crea una risorsa
VirtualMachineTypecon i seguenti contenuti che specificano la configurazione della macchina virtuale, quindi applicala al tuo cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Crea una risorsa
VirtualMachinecon i seguenti contenuti che crea un'istanza e avvia la macchina virtuale sul cluster, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: ubu-vm name: ubu-vm # Propagate the virtual machine name to the VMI spec: osType: Linux compute: virtualMachineTypeName: small-2-20 interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: ubuntu-main-disk boot: true - virtualMachineDiskName: ubuntu-iso-disk
Il campo
osTypesi applica solo ai cluster del control plane locale. È obbligatorio sui cluster del control plane locale per configurare le seguenti funzionalità:Installa Ubuntu Server sulla macchina virtuale:
- Attendi che il pod
importerscarichi l'immagine disco di installazione di Ubuntu Server. Controlla lo stato della macchina virtuale:
kubectl get gvm VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,ubu-vmin questo esempio.Accedi alla macchina virtuale:
kubectl virt vnc VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,ubu-vmin questo esempio.Completa i passaggi di installazione di Ubuntu Linux.
- Attendi che il pod
Pulizia:
Arresta la macchina virtuale:
kubectl virt stop VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,ubu-vmin questo esempio.Modifica il file YAML della macchina virtuale per rimuovere il riferimento all'immagine disco di installazione:
kubectl edit gvm VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,ubu-vmin questo esempio.Avvia la macchina virtuale:
kubectl virt start VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,ubu-vmin questo esempio.Elimina la risorsa
VirtualMachineDiskper l'immagine del disco di installazione:kubectl delete virtualmachinedisk ubuntu-iso-disk
Esegui il provisioning di una macchina virtuale Windows su Distributed Cloud con Symcloud Storage
L'esempio seguente illustra come eseguire il provisioning di una macchina virtuale Windows con
Symcloud Storage. I passaggi sono simili al provisioning di una macchina virtuale Linux,
con l'aggiunta dell'immagine disco del driver virtio, necessaria per l'installazione
di Windows.
Ottieni una copia con licenza di Windows e la relativa immagine del supporto di installazione.
Crea una risorsa
VirtualMachineDiskcon i seguenti contenuti per l'immagine del disco di installazione di Windows, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-iso-disk namespace: default spec: size: 5Gi storageClassName: robin diskType: cdrom source: http: url: WINDOWS_ISO_URL
Sostituisci
NAT_GATEWAYcon l'URL completo dell'immagine disco ISO dell'installazione di Windows di destinazione.Crea una risorsa
VirtualMachineDiskcon i seguenti contenuti per il drivervirtio, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-virtio-driver namespace: default spec: size: 1Gi storageClassName: robin diskType: cdrom source: http: url: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
Crea una risorsa
VirtualMachineDiskcon i seguenti contenuti per l'hard disk virtuale della macchina virtuale, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-main-disk namespace: default spec: size: 15Gi storageClassName: robin
Crea una risorsa
VirtualMachineTypecon i seguenti contenuti che specificano la configurazione della macchina virtuale, quindi applicala al tuo cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Crea una risorsa
VirtualMachinecon i seguenti contenuti che crea un'istanza e avvia la macchina virtuale sul cluster, quindi applicala al cluster:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: win-vm name: win-vm # Propagate the virtual machine name to the VMI spec: osType: Windows compute: virtualMachineTypeName: my-vmt interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: windows-main-disk boot: true - virtualMachineDiskName: windows-iso-disk - virtualMachineDiskName: win-virtio-driver
Il campo
osTypesi applica solo ai cluster del control plane locale. È obbligatorio sui cluster del control plane locale per configurare le seguenti funzionalità:Installa Windows sulla macchina virtuale:
- Attendi che il pod
importerscarichi l'immagine disco di installazione di Windows. Controlla lo stato della macchina virtuale:
kubectl get gvm VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,win-vmin questo esempio.Completa l'installazione di Windows seguendo i passaggi descritti in Connettiti alla VM Windows e completa l'installazione del sistema operativo.
- Attendi che il pod
Pulizia:
Arresta la macchina virtuale:
kubectl virt stop VM_NAME
Sostituisci
VM_NAMEcon il nome della macchina virtuale,win-vmin questo esempio.Completa i passaggi descritti in Scollega l'immagine ISO e il disco dei driver.
Esegui il provisioning di una macchina virtuale su Distributed Cloud utilizzando virtctl
Se non hai bisogno della personalizzazione fornita dalla scrittura delle tue specifiche di risorse per le tue macchine virtuali, puoi eseguire il provisioning di una macchina virtuale su Distributed Cloud utilizzando lo strumento a riga di comando virtctl, come descritto in Creare una VM.
Gestire le macchine virtuali in esecuzione su Distributed Cloud
Per istruzioni sulla gestione delle macchine virtuali in esecuzione su Distributed Cloud, consulta la seguente documentazione sul runtime VM su GDC:
- Connettiti alle VM
- Elenca e visualizza le VM
- Gestire lo stato di alimentazione
- Modifica una VM
- Elimina una VM
- Visualizza i log della console VM
Per gestire le macchine virtuali in esecuzione sui cluster del control plane locale, devi prima
configurare la connettività kubectl.
Configurare il dispositivo ttyS0 per l'accesso alla console seriale alle macchine virtuali Linux
Se prevedi di accedere alle tue macchine virtuali Linux utilizzando la console seriale
(kubectl virt console), assicurati che il dispositivo della console seriale ttyS0 sia stato configurato sul sistema operativo guest. Per configurare questo dispositivo,
completa i seguenti passaggi:
Crea un'istanza del dispositivo seriale
ttyS0nel sistema:setserial -g /dev/ttyS0
Configura il bootloader
grubper utilizzare il dispositivo serialettyS0aggiungendo le seguenti righe al file di configurazione/etc/default/grub. La prima riga sostituisce la variabileGRUB_CMDLINE_LINUXesistente.GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,19200n8' GRUB_TERMINAL=serial GRUB_SERIAL_COMMAND="serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1"
Applica la nuova configurazione
grubal settore di avvio:update-grub
Riavvia la macchina virtuale.
Disabilita il runtime VM su GDC su Distributed Cloud
Segui i passaggi descritti in questa sezione per disabilitare VM Runtime su GDC su Distributed Cloud. Prima di poter disattivare il runtime VM su GDC su Distributed Cloud, devi arrestare ed eliminare tutte le macchine virtuali sul tuo cluster Distributed Cloud come descritto in Eliminare una VM.
Per disabilitare VM Runtime su GDC su
Distributed Cloud, modifica la risorsa personalizzata VMRuntime
impostando il parametro spec enabled su false come segue, quindi applicalo
al cluster:
apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: # Disable Anthos VM Runtime enabled: false # vmImageFormat defaults to "raw" if not set vmImageFormat: "raw"
Passaggi successivi
- Esegui il deployment dei carichi di lavoro su Distributed Cloud
- Gestisci i workload GPU
- Gestire le zone
- Gestisci macchine
- Gestire i cluster
- Gestisci i pool di nodi