VM mit bestimmten CPU- und Arbeitsspeicherressourcen erstellen

Wenn Sie VMs erstellen, die die VM-Laufzeit in Google Distributed Cloud verwenden, können Sie Rechenressourcen auf zwei Arten konfigurieren:

  • CPU und Arbeitsspeicher manuell angeben: Definieren Sie Rechenressourcen direkt im VirtualMachine-Manifest. Dieser Ansatz ist nützlich für einmalige VMs oder benutzerdefinierte Arbeitslasten, die eine eindeutige Ressourcenzuweisung erfordern.
  • VM-Typen erstellen und verwenden: Definieren Sie wiederverwendbare VirtualMachineType-benutzerdefinierte Ressourcen, die die CPU- und Arbeitsspeicherzuweisungen standardisieren. Dieser Ansatz ist nützlich, um Flotten von VMs zu verwalten, für eine einheitliche Rechenleistung in Ihrem Cluster zu sorgen und die VM-Bereitstellung für Entwickler zu vereinfachen.

Hinweis

Wenn Sie CPU- und Arbeitsspeicherressourcen manuell angeben und VM-Typen erstellen und verwenden möchten, benötigen Sie Zugriff auf die folgenden Ressourcen:

  • Ein Distributed Cloud Connected-Cluster der Version 1.9.0 oder höher.
  • Das Kubernetes-Befehlszeilentool kubectl ist installiert und für den Zugriff auf Ihren Cluster konfiguriert. Weitere Informationen finden Sie unter kubectl installieren.
  • Optional: Das virtctl-Clienttool, das als Plug-in für kubectl installiert wurde. Weitere Informationenvirtctl

VM erstellen und CPU und Arbeitsspeicher angeben

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

Verwenden Sie ein VirtualMachine-Manifest, um eine VM zu erstellen und die CPU und den Arbeitsspeicher anzugeben.

  1. Erstellen Sie in einem Editor Ihrer Wahl ein VirtualMachine-Manifest wie my-custom-vm.yaml:

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
      namespace: NAMESPACE
    spec:
      compute:
        cpu:
          vcpus: VCPU_NUMBER
        memory:
          capacity: MEMORY_SIZE
      interfaces:
        - name: eth0
          networkName: L2_NETWORK_NAME
          default: true
      disks:
        - virtualMachineDiskName: VM_BOOT_NAME-boot-dv
          boot: true

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

    • VM_NAME: der Name Ihrer VM.
    • NAMESPACE: der Ziel-Namespace für Ihre VM.
    • L2_NETWORK_NAME: Der Name des L2-Netzwerks, mit dem die VM verbunden werden soll.
    • 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. Sie können einer VM zwischen 1 Mi und 1 Ti Arbeitsspeicher zuweisen. Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter Arbeitsspeicherressourceneinheiten.
    • VM_BOOT_NAME: Der Name des Bootlaufwerks Ihrer VM. Das Bootlaufwerk muss bereits vorhanden sein. Weitere Informationen finden Sie unter VM-Laufwerk aus einem VM-Image erstellen.

    Die VM verbindet die eth0-Schnittstelle mit dem angegebenen L2-Netzwerk.

  2. Wenden Sie das Manifest mit dem Befehl kubectl apply auf Ihren mit Distributed Cloud verbundenen Cluster an, um die VM zu erstellen:

    kubectl apply -f my-custom-vm.yaml
    
  3. Prüfen Sie mit dem Befehl kubectl get, ob die VM erstellt wurde:

    kubectl get vm VM_NAME -n NAMESPACE
    

    In der erwarteten Ausgabe wird der VM-Status angezeigt. Sie können auch den Befehl kubectl describe verwenden, um die detaillierte Konfiguration einschließlich der zugewiesenen CPU und des zugewiesenen Arbeitsspeichers aufzurufen.

VM-Typen erstellen und verwenden

Wenn Sie die VM-Laufzeit auf GDC aktivieren, wird die benutzerdefinierte Ressourcendefinition VirtualMachineType in Ihrem Cluster verfügbar. Mit diesem Ressourcentyp können Sie wiederverwendbare Vorlagen erstellen, in denen bestimmte CPU- und Speicherzuweisungen definiert werden. Wenn Sie benutzerdefinierte VM-Typen für Ihre verschiedenen Arbeitslasten erstellen, können Sie mehrere VMs mit konsistenten Konfigurationen für Rechenressourcen bereitstellen.

Wenn VM Runtime auf GDC in Distributed Cloud Connected aktiviert ist, ist möglicherweise ein vordefinierter VM-Typ verfügbar. Sie können diesen vordefinierten VM-Typ nicht aktualisieren. 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

VM-Typ erstellen

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

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

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

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

    • VM_TYPE_NAME: der Name Ihres VM-Typs.
    • 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. Sie können einer VM zwischen 1 Mi und 1 Ti Arbeitsspeicher zuweisen. Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter Arbeitsspeicherressourceneinheiten.
  2. Wenden Sie das Manifest mit dem Befehl kubectl apply auf Ihren mit Distributed Cloud verbundenen Cluster an, um den VM-Typ zu erstellen:

    kubectl apply -f my-vm-type.yaml
    
  3. Führen Sie den Befehl kubectl get aus, um zu prüfen, ob der VM-Typ erstellt wurde:

    kubectl get virtualmachinetype VM_TYPE_NAME
    

VM mit einem VM-Typ erstellen

Wenn Sie die in einem VM-Typ definierten CPU- und Arbeitsspeichereinstellungen auf Ihre VM anwenden möchten, geben Sie den Namen des VM-Typs im Abschnitt compute des VirtualMachine-Manifests an.

  1. Erstellen Sie in einem Editor Ihrer Wahl ein VirtualMachine-Manifest wie my-custom-vm.yaml. 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.

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
      namespace: NAMESPACE
    spec:
      compute:
        virtualMachineTypeName: VM_TYPE_NAME
      interfaces:
        - name: eth0
          networkName: L2_NETWORK_NAME
          default: true
      disks:
        - virtualMachineDiskName: VM_BOOT_NAME-boot-dv
          boot: true

    Legen Sie die folgenden Einstellungen fest:

    • VM_NAME: der Name Ihrer VM.
    • NAMESPACE: der Ziel-Namespace für Ihre VM.
    • L2_NETWORK_NAME: Der Name des L2-Netzwerks, mit dem die VM verbunden werden soll.
    • VM_TYPE_NAME: Der Name des benutzerdefinierten VM-Typs, den Sie im vorherigen Abschnitt erstellt haben, z. B. my-vm-type.
    • VM_BOOT_NAME: Der Name des Bootlaufwerks Ihrer VM. Das Bootlaufwerk muss bereits vorhanden sein. Weitere Informationen finden Sie unter VM-Laufwerk aus einem VM-Image erstellen.

    Die VM verbindet die eth0-Schnittstelle mit dem angegebenen L2-Netzwerk.

  2. Wenden Sie das Manifest mit dem Befehl kubectl apply auf Ihren mit Distributed Cloud verbundenen Cluster an, um die VM zu erstellen:

    kubectl apply -f my-custom-vm.yaml
    
  3. Führen Sie den Befehl kubectl get mit der Option -o jsonpath aus, um zu prüfen, ob die VM den VM-Typ verwendet:

    kubectl get vm VM_NAME -n NAMESPACE -o jsonpath='{.spec.compute.virtualMachineTypeName}'
    

    In der erwarteten Ausgabe wird der Name Ihres VM-Typs angezeigt.

Nächste Schritte