Questo documento è rivolto ai proprietari di applicazioni e agli amministratori di piattaforma che eseguono Google Distributed Cloud. Questo documento mostra come creare e utilizzare tipi di VM o specificare manualmente le risorse di CPU e memoria quando crei VM che utilizzano il runtime VM su GDC.
Prima di iniziare
Per completare questo documento, devi accedere alle seguenti risorse:
- Accesso al cluster Google Distributed Cloud versione 1.12.0 (
anthosBareMetalVersion: 1.12.0
) o successiva. 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 sulla creazione dei 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 capacità consente di creare VM con le risorse di computing appropriate per soddisfare le esigenze dell'applicazione.
Per creare una VM e specificare manualmente i requisiti di CPU e memoria, segui questi passaggi.
CLI
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 relativi ai nomi, consulta Nomi e ID degli oggetti.CPU_NUMBER
: il numero di CPU virtuali (vCPU) da assegnare alla VM.- A una VM puoi assegnare da 1 a 96 vCPU.
MEMORY_SIZE
: la quantità di memoria da assegnare alla VM.- Puoi assegnare tra 1 milione e 1T di memoria a una VM. Per maggiori 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 relativi ai nomi, consulta Nomi e ID degli oggetti.VCPU_NUMBER
: il numero di vCPU da assegnare alla VM.- A una VM puoi assegnare da 1 a 96 vCPU.
MEMORY_SIZE
: la quantità di memoria da assegnare alla VM.- Puoi assegnare tra 1 milione e 1T di memoria a una VM. Per maggiori informazioni, vedi Unità di risorse di memoria.
La VM connette
eth0
alla retepod-network
predefinita.Il disco di avvio denominato
VM_NAME-boot-dv
deve già esistere. Per ulteriori informazioni, consulta 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 tipi di VM
Quando abiliti il runtime VM su GDC, è disponibile una nuova definizione di risorsa personalizzata di VirtualMachineType. Questa definizione consente di 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 set 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 definizione seguente 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 vm-controller-manager
viene avviato o riavviato, ad esempio se hai eliminato il tipo di VM.
Crea un tipo di VM
Puoi creare tipi di VM personalizzati per soddisfare le esigenze di computing 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 relativi ai nomi, consulta Nomi e ID degli oggetti.VCPU_NUMBER
: il numero di vCPU da assegnare alla VM.- A una VM puoi assegnare da 1 a 96 vCPU.
MEMORY_SIZE
: la quantità di memoria da assegnare alla VM.- Puoi assegnare tra 1 milione e 1T di memoria a una VM. Per maggiori 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 file manifest VirtualMachine
per applicare le impostazioni predefinite di compute
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 personalizzata che hai creato nella sezione precedente, ad esempio
my-vm-type
, come valore pervirtualMachineTypeName
.La VM connette
eth0
alla retepod-network
predefinita.Il disco di avvio denominato
VM_NAME-boot-dv
deve già esistere. Per ulteriori informazioni, consulta 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 di VM, elimina una VM in Google Distributed Cloud.