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 virtctlinstallato 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 - kubectlper 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 - eth0alla rete- pod-networkpredefinita.- Il disco di avvio denominato - VM_NAME-boot-dvdeve 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 per- virtualMachineTypeName.- La VM si connette - eth0alla rete- pod-networkpredefinita.- Il disco di avvio denominato - VM_NAME-boot-dvdeve 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.