Creare una VM con risorse CPU e memoria specifiche utilizzando il runtime VM su GDC

Questo documento è rivolto ai proprietari di applicazioni e agli amministratori della piattaforma che eseguono Google Distributed Cloud. Questo documento mostra come creare e utilizzare i tipi di VM o specificare manualmente le risorse CPU e memoria quando crei VM che utilizzano il runtime VM su GDC.

Prima di iniziare

Per completare questo documento, devi disporre dell'accesso alle seguenti risorse:

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 da abbinare necessarie alla tua applicazione.

Per creare una VM e specificare manualmente i requisiti di CPU e memoria, segui i passaggi riportati di seguito.

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 sulle limitazioni dei nomi, consulta Nomi e ID degli oggetti.
    • CPU_NUMBER: il numero di CPU virtuali (vCPU) da da assegnare alla VM.
      • A una VM puoi assegnare da 1 a 96 vCPU.
    • MEMORY_SIZE: la quantità di memoria da assegnare alla VM.

Manifest

  1. Crea un manifest VirtualMachine, ad esempio my-custom-vm.yaml, nella un editor di tua scelta:

    nano my-custom-vm.yaml
    
  2. 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 sulle limitazioni dei nomi, consulta Nomi e ID degli oggetti.
    • 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.

    La VM connette eth0 alla rete pod-network predefinita.

    Il disco di avvio denominato VM_NAME-boot-dv deve già esistere. Per saperne di più, consulta Creare e gestire i dischi virtuali.

  3. Salva e chiudi il manifest della VM nell'editor.

  4. Crea la VM utilizzando kubectl:

    kubectl apply -f my-custom-vm.yaml
    

Creare e utilizzare i tipi di VM

Quando attivi il runtime della VM su GDC, è disponibile una nuova definizione di risorsa personalizzata VirtualMachineType. Questa definizione viene utilizzata per specificare le risorse della CPU e della memoria di una VM. Puoi creare tipi di VM per i diversi carichi di lavoro di cui hai bisogno e applica un set coerente di risorse di calcolo alle VM in base di testo.

Se il runtime VM su GDC è abilitato in Google Distributed Cloud, vm-controller-manager installa un tipo di VM predefinita. 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 predefinito. 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 i tuoi tipi di VM in base alle esigenze di calcolo dei tuoi carichi di lavoro.

  1. Crea un file manifest VirtualMachineType, ad esempio my-vm-type.yaml, nell'editor che preferisci:

    nano my-vm-type.yaml
    
  2. 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 sulle limitazioni dei nomi, consulta Nomi e ID degli oggetti.
    • 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.
  3. Salva e chiudi il manifest del tipo di VM nell'editor.

  4. 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 compute predefinite alla VM.

  1. Crea un manifest VirtualMachine, ad esempio my-custom-vm.yaml, nell'editor che preferisci.

    nano my-custom-vm.yaml
    
  2. 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 per virtualMachineTypeName.

    La VM si connette a eth0 alla rete pod-network predefinita.

    Il disco di avvio denominato VM_NAME-boot-dv deve già esistono. Per ulteriori informazioni, vedi Creare e gestire dischi virtuali.

  3. Salva e chiudi il manifest della VM nell'editor.

  4. Crea la VM utilizzando kubectl:

    kubectl apply -f my-custom-vm.yaml
    

Passaggi successivi