VM mit bestimmten CPU- und Arbeitsspeicherressourcen mithilfe der VM-Laufzeit auf GDC erstellen

Dieses Dokument richtet sich an Anwendungsinhaber und Plattformadministratoren, die GKE on Bare Metal ausführen. In diesem Dokument erfahren Sie, wie Sie VM-Typen erstellen und verwenden oder CPU- und Arbeitsspeicherressourcen manuell angeben, wenn Sie VMs erstellen, die VM-Laufzeit in GDC verwenden.

Hinweise

Um dieses Dokument abzuschließen, benötigen Sie Zugriff auf die folgenden Ressourcen:

VM erstellen

Wenn Sie eine VM erstellen, können Sie die CPU- und Speicheranforderungen manuell angeben. Auf diese Weise können Sie VMs mit den entsprechenden Rechenressourcen erstellen, die Ihren Anforderungen entsprechen.

Führen Sie die folgenden Schritte aus, um eine VM zu erstellen und die CPU- und Speicheranforderungen manuell anzugeben.

CLI

  • Verwenden Sie kubectl, um eine VM zu erstellen:

    kubectl virt create vm VM_NAME \
      --image ubuntu20.04 \
      --cpu CPU_NUMBER \
      --memory MEMORY_SIZE
    

    Ersetzen Sie die folgenden Werte:

    • VM_NAME: der Name Ihrer VM. Weitere Informationen zu Namenseinschränkungen finden Sie unter Objektnamen und IDs.
    • CPU_NUMBER: Die Anzahl der virtuellen CPUs (vCPUs), die der VM zugewiesen werden sollen.
      • Sie können einer VM zwischen 1 und 96 vCPUs zuweisen.
    • MEMORY_SIZE: die Menge an Arbeitsspeicher, die der VM zugewiesen werden soll.

Manifest

  1. Erstellen Sie im Editor Ihrer Wahl ein VirtualMachine-Manifest wie z. B. my-custom-vm.yaml:

    nano my-custom-vm.yaml
    
  2. Kopieren Sie das folgende YAML-Manifest und fügen Sie es ein:

    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
    

    Legen Sie in dieser YAML-Datei die folgenden Einstellungen fest:

    • VM_NAME: der Name Ihrer VM. Weitere Informationen zu Namenseinschränkungen finden Sie unter Objektnamen und IDs.
    • VCPU_NUMBER: die Anzahl der vCPUs, die der VM zugewiesen werden sollen.
      • Sie können einer VM zwischen 1 und 96 vCPUs zuweisen.
    • MEMORY_SIZE: die Menge an Arbeitsspeicher, die der VM zugewiesen werden soll.

    Die VM verbindet eth0 mit dem Standardnetzwerk pod-network.

    Das Bootlaufwerk mit dem Namen VM_NAME-boot-dv muss bereits vorhanden sein. Weitere Informationen finden Sie unter Virtuelle Laufwerke erstellen und verwalten.

  3. Speichern und schließen Sie das VM-Manifest in Ihrem Editor.

  4. Erstellen Sie die VM mit kubectl:

    kubectl apply -f my-custom-vm.yaml
    

VM-Typen erstellen und verwenden

Wenn Sie die VM-Laufzeit auf GDC aktivieren, ist eine neue benutzerdefinierte Ressourcendefinition VirtualMachineType verfügbar. Diese Definition wird verwendet, um CPU- und Arbeitsspeicherressourcen einer VM anzugeben. Sie können VM-Typen für die verschiedenen benötigten Arbeitslasten erstellen und auf dieser Grundlage konsistente Rechenressourcen auf VMs anwenden.

Wenn die VM-Laufzeit auf GDC in GKE on Bare Metal aktiviert ist, installiert vm-controller-manager einen vordefinierten VM-Typ. Die folgende Definition zeigt den Standard-VM-Typ example-machinetype:

  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

Sie können diesen vordefinierten VM-Typ nicht aktualisieren. Dieser vordefinierte VM-Typ wird neu installiert, wenn er nicht bei jedem Start oder Neustart des vm-controller-manager im Cluster vorhanden ist, z. B. wenn Sie den VM-Typ gelöscht haben.

VM-Typ erstellen

Sie können eigene VM-Typen erstellen, die auf die Rechenanforderungen Ihrer Arbeitslasten zugeschnitten sind.

  1. Erstellen Sie mit dem Editor Ihrer Wahl ein VirtualMachineType-Manifest wie my-vm-type.yaml:

    nano my-vm-type.yaml
    
  2. Kopieren Sie das folgende YAML-Manifest und fügen Sie es ein:

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachineType
    metadata:
      name: my-vm-type
    spec:
      cpu:
        vcpus: VCPU_NUMBER
      memory:
        capacity: MEMORY_SIZE
    

    Für diesen VM-Typ legen Sie die folgenden Einstellungen fest:

    • VM_NAME: der Name Ihrer VM. Weitere Informationen zu Namenseinschränkungen finden Sie unter Objektnamen und IDs.
    • VCPU_NUMBER: die Anzahl der vCPUs, die der VM zugewiesen werden sollen.
      • Sie können einer VM zwischen 1 und 96 vCPUs zuweisen.
    • MEMORY_SIZE: die Menge an Arbeitsspeicher, die der VM zugewiesen werden soll.
  3. Speichern und schließen Sie das VM-Typmanifest in Ihrem Editor.

  4. Erstellen Sie mit kubectl den VM-Typ:

    kubectl apply -f my-vm-type.yaml
    

VM mit einem VM-Typ erstellen

Geben Sie in Ihrem VirtualMachine-Manifest einen VM-Typ an, um vordefinierte compute-Einstellungen auf Ihre VM anzuwenden.

  1. Erstellen Sie im Editor Ihrer Wahl ein VirtualMachine-Manifest wie z. B. my-custom-vm.yaml.

    nano my-custom-vm.yaml
    
  2. Kopieren Sie das folgende YAML-Manifest und fügen Sie es ein:

    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
    

    Geben Sie in dieser YAML-Datei den Namen des benutzerdefinierten VM-Typs an, den Sie im vorherigen Abschnitt erstellt haben, z. B. my-vm-type, als Wert für virtualMachineTypeName.

    Die VM verbindet eth0 mit dem Standardnetzwerk pod-network.

    Das Bootlaufwerk mit dem Namen VM_NAME-boot-dv muss bereits vorhanden sein. Weitere Informationen finden Sie unter Virtuelle Laufwerke erstellen und verwalten.

  3. Speichern und schließen Sie das VM-Manifest in Ihrem Editor.

  4. Erstellen Sie die VM mit kubectl:

    kubectl apply -f my-custom-vm.yaml
    

Nächste Schritte