Questo documento è rivolto ai proprietari di applicazioni e agli amministratori di piattaforme che eseguono Google Distributed Cloud. Questo documento mostra come creare e utilizzare i tipi di VM o specificare manualmente le risorse di CPU e memoria quando crei VM che utilizzano VM Runtime su GDC.
Prima di iniziare
Per completare questo documento, devi avere accesso alle seguenti risorse:
- Accesso a Google Distributed Cloud versione 1.12.0 (
anthosBareMetalVersion: 1.12.0
) o cluster successivi. Puoi utilizzare qualsiasi 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 del cluster. - Lo strumento client
virtctl
installato come plug-in perkubectl
. Se necessario, installa lo strumento client virtctl.
Crea una VM
Quando crei una VM, puoi specificare manualmente i requisiti di CPU e memoria. Questa funzionalità ti consente di creare VM con le risorse di calcolo appropriate per soddisfare le esigenze della tua applicazione.
Per creare una VM e specificare manualmente i requisiti di CPU e memoria, segui i seguenti passaggi.
Interfaccia a riga di comando
Utilizza
kubectl
per creare una VM:kubectl virt create vm VM_NAME \ --image ubuntu20.04 \ --cpu CPU_NUMBER \ --memory MEMORY_SIZE
Sostituisci i seguenti valori:
VM_NAME
: il nome della VM. Per ulteriori informazioni sui vincoli dei nomi, vedi Nomi e ID oggetto.CPU_NUMBER
: il numero di CPU virtuali (vCPU) da assegnare alla VM.- Puoi assegnare da 1 a 96 vCPU a una VM.
MEMORY_SIZE
: la quantità di memoria da assegnare alla VM.- Puoi assegnare da 1 MB a 1 TB di memoria a una VM. Per ulteriori informazioni, vedi Unità di risorse di memoria.
Manifest
Crea un manifest
VirtualMachine
, ad esempio my-custom-vm.yaml, nell'editor che preferisci:nano my-custom-vm.yaml
Copia e incolla il seguente manifest YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: cpu: vcpus: VCPU_NUMBER memory: capacity: MEMORY_SIZE interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: VM_NAME-boot-dv boot: true
In questo file YAML, definisci le seguenti impostazioni:
VM_NAME
: il nome della VM. Per ulteriori informazioni sui vincoli dei nomi, vedi Nomi e ID oggetto.VCPU_NUMBER
: Il numero di vCPU da assegnare alla VM.- Puoi assegnare da 1 a 96 vCPU a una VM.
MEMORY_SIZE
: la quantità di memoria da assegnare alla VM.- Puoi assegnare da 1 MB a 1 TB di memoria a una VM. Per ulteriori informazioni, vedi Unità di risorse di memoria.
La VM si connette
eth0
alla retepod-network
predefinita.Il disco di avvio denominato
VM_NAME-boot-dv
deve già esistere. Per saperne di più, consulta la pagina Creare e gestire dischi virtuali.Salva e chiudi il manifest della VM nell'editor.
Crea la VM utilizzando
kubectl
:kubectl apply -f my-custom-vm.yaml
Crea e utilizza i tipi di VM
Quando abiliti VM Runtime su GDC, è disponibile una nuova definizione di risorsa personalizzata VirtualMachineType. Questa definizione viene utilizzata per specificare le risorse di CPU e memoria di una VM. Puoi creare tipi di VM per i diversi carichi di lavoro di cui hai bisogno e applicare un insieme coerente di risorse di calcolo alle VM in base a questi tipi.
Se il runtime VM su GDC è abilitato in Google Distributed Cloud, vm-controller-manager
installa un tipo di VM predefinito. La seguente definizione
mostra il tipo di VM example-machinetype
predefinito:
apiVersion: vm.cluster.gke.io/v1
kind: VirtualMachineType
metadata:
name: "example-machinetype"
labels:
vm.cluster.gke.io/predefined-machinetype: "true"
spec:
cpu:
vcpus: 2
memory:
capacity: 4G
Non puoi aggiornare questo tipo di VM predefinita. Questo tipo di VM predefinito viene
reinstallato se non esiste nel cluster ogni volta che viene avviato o riavviato vm-controller-manager
, ad esempio se hai eliminato il tipo di VM.
Crea un tipo di VM
Puoi creare i tuoi tipi di VM per soddisfare le esigenze di calcolo dei tuoi carichi di lavoro.
Crea un manifest
VirtualMachineType
, ad esempio my-vm-type.yaml, nell'editor che preferisci:nano my-vm-type.yaml
Copia e incolla il seguente manifest YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: my-vm-type spec: cpu: vcpus: VCPU_NUMBER memory: capacity: MEMORY_SIZE
In questo tipo di VM, definisci le seguenti impostazioni:
VM_NAME
: il nome della VM. Per ulteriori informazioni sui vincoli dei nomi, vedi Nomi e ID oggetto.VCPU_NUMBER
: Il numero di vCPU da assegnare alla VM.- Puoi assegnare da 1 a 96 vCPU a una VM.
MEMORY_SIZE
: la quantità di memoria da assegnare alla VM.- Puoi assegnare da 1 MB a 1 TB di memoria a una VM. Per ulteriori informazioni, vedi Unità di risorse di memoria.
Salva e chiudi il manifest del tipo di VM nell'editor.
Crea il tipo di VM utilizzando
kubectl
:kubectl apply -f my-vm-type.yaml
Crea una VM utilizzando un tipo di VM
Specifica un tipo di VM nel manifest VirtualMachine
per applicare le impostazioni compute
predefinite alla VM.
Crea un manifest
VirtualMachine
, ad esempio my-custom-vm.yaml, nell'editor che preferisci.nano my-custom-vm.yaml
Copia e incolla il seguente manifest YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: virtualMachineTypeName: my-vm-type interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: VM_NAME-boot-dv boot: true
In questo file YAML, specifica il nome del tipo di VM personalizzato che hai creato nella sezione precedente, ad esempio
my-vm-type
, come valore pervirtualMachineTypeName
.La VM si connette
eth0
alla retepod-network
predefinita.Il disco di avvio denominato
VM_NAME-boot-dv
deve già esistere. Per saperne di più, consulta la pagina Creare e gestire dischi virtuali.Salva e chiudi il manifest della VM nell'editor.
Crea la VM utilizzando
kubectl
:kubectl apply -f my-custom-vm.yaml
Passaggi successivi
- Modifica una VM in Google Distributed Cloud.
- Quando non hai più bisogno delle VM, elimina una VM in Google Distributed Cloud.