Dieses Dokument richtet sich an Inhaber von Anwendungen 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 Google Distributed Cloud verwenden.
Hinweise
Um dieses Dokument abzuschließen, benötigen Sie Zugriff auf die folgenden Ressourcen:
- Zugriff auf Cluster von GKE on Bare Metal ab Version 1.12.0 (
anthosBareMetalVersion: 1.12.0
). Sie können einen beliebigen Clustertyp verwenden, der Arbeitslasten ausführen kann. Testen Sie bei Bedarf GKE on Bare Metal in Compute Engine oder lesen Sie die Übersicht über die Clustererstellung. - Das
virtctl
-Clienttool, das als Plug-in fürkubectl
installiert wurde. Installieren Sie bei Bedarf das virtctl-Clienttool.
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.- Sie können einer VM zwischen 1 M und 1 T Speicher zuweisen. Weitere Informationen finden Sie unter Arbeitsspeicherressourceneinheiten.
Manifest
Erstellen Sie im Editor Ihrer Wahl ein
VirtualMachine
-Manifest wie z. B. my-custom-vm.yaml:nano my-custom-vm.yaml
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.- Sie können einer VM zwischen 1 M und 1 T Speicher zuweisen. Weitere Informationen finden Sie unter Arbeitsspeicherressourceneinheiten.
Die VM verbindet
eth0
mit dem Standardnetzwerkpod-network
.Das Bootlaufwerk mit dem Namen
VM_NAME-boot-dv
muss bereits vorhanden sein. Weitere Informationen finden Sie unter Virtuelle Laufwerke erstellen und verwalten.Speichern und schließen Sie das VM-Manifest in Ihrem Editor.
Erstellen Sie die VM mit
kubectl
:kubectl apply -f my-custom-vm.yaml
VM-Typen erstellen und verwenden
Wenn Sie die VM-Laufzeit in Google Distributed Cloud 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 in Google Distributed Cloud 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.
Erstellen Sie mit dem Editor Ihrer Wahl ein
VirtualMachineType
-Manifest wie my-vm-type.yaml:nano my-vm-type.yaml
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.- Sie können einer VM zwischen 1 M und 1 T Speicher zuweisen. Weitere Informationen finden Sie unter Arbeitsspeicherressourceneinheiten.
Speichern und schließen Sie das VM-Typmanifest in Ihrem Editor.
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.
Erstellen Sie im Editor Ihrer Wahl ein
VirtualMachine
-Manifest wie z. B. my-custom-vm.yaml.nano my-custom-vm.yaml
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ürvirtualMachineTypeName
.Die VM verbindet
eth0
mit dem Standardnetzwerkpod-network
.Das Bootlaufwerk mit dem Namen
VM_NAME-boot-dv
muss bereits vorhanden sein. Weitere Informationen finden Sie unter Virtuelle Laufwerke erstellen und verwalten.Speichern und schließen Sie das VM-Manifest in Ihrem Editor.
Erstellen Sie die VM mit
kubectl
:kubectl apply -f my-custom-vm.yaml
Nächste Schritte
- VM in GKE on Bare Metal bearbeiten
- Wenn Sie keine VMs mehr benötigen, löschen Sie eine VM in GKE on Bare Metal.