Auf dieser Seite finden Sie eine Anleitung zum Erstellen einer VM-Instanz mit einem Bootlaufwerk-Image oder einem Bootlaufwerk-Snapshot.
Sie können eine VM mit einem oder mehreren Laufwerken erstellen. Sie können Ihrer VM auch nach der Erstellung Laufwerke hinzufügen. Google Distributed Cloud (GDC) Air-Gapped startet die VM-Instanz nach der Erstellung automatisch.
Sie können einer VM vor oder nach der Erstellung Startskripts hinzufügen. Weitere Informationen zu Startskripts finden Sie auf der Seite Startskript mit einer VM-Instanz verwenden.
Hinweise
Wenn Sie die Befehle der gdcloud-Befehlszeile (Command-Line Interface, CLI) verwenden möchten, müssen Sie die gdcloud-CLI heruntergeladen, installiert und konfiguriert haben.
Für alle Befehle für Distributed Cloud wird die gdcloud- oder kubectl-CLI verwendet. Außerdem ist eine Betriebssystemumgebung erforderlich.
Pfad der kubeconfig-Datei abrufen
Damit Sie Befehle für den Management API-Server ausführen können, benötigen Sie die folgenden Ressourcen:
Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Management API-Server, falls Sie noch keine haben.
Verwenden Sie den Pfad zur kubeconfig-Datei des Management API-Servers, um
MANAGEMENT_API_SERVERin dieser Anleitung zu ersetzen.
Berechtigungen und Zugriff anfordern
Zum Ausführen der auf dieser Seite aufgeführten Aufgaben benötigen Sie die Rolle „ProjectVirtualMachine Admin“. Prüfen Sie, ob Sie die Rolle „Project VirtualMachine Admin“ (project-vm-admin) im Namespace des Projekts haben, in dem sich die VM befindet.
Für VM-Vorgänge über die GDC-Konsole oder die gdcloud-CLI bitten Sie Ihren Projekt-IAM-Administrator, Ihnen sowohl die Rolle „Project VirtualMachine Admin“ als auch die Rolle „Project Viewer“ (project-viewer) zuzuweisen.
VM-Instanz aus einem Image erstellen
In diesem Abschnitt wird gezeigt, wie Sie eine VM entweder aus einem von GDC bereitgestellten Betriebssystem-Image oder aus einem benutzerdefinierten Betriebssystem-Image erstellen.
Liste der von GDC bereitgestellten Images ansehen
Bevor Sie eine VM mit einem von GDC bereitgestellten Image erstellen, sollten Sie die Liste der verfügbaren Images prüfen. Weitere Informationen zu von GDC bereitgestellten Images finden Sie unter Unterstützte VM-Images.
gdcloud
Alle verfügbaren Images und ihre Mindestlaufwerksgröße auflisten:
gdcloud compute images listDieser Befehl umfasst sowohl von GDC bereitgestellte als auch benutzerdefinierte Bilder. Wählen Sie eines der Bilder im Namespace
vm-systemaus.
API
Alle von GDC bereitgestellten Images auflisten:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimage.virtualmachine.gdc.googSo rufen Sie die
minimumDiskSizefür ein bestimmtes von GDC bereitgestelltes Image ab:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimage.virtualmachine.gdc.goog BOOT_DISK_IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}{"\n"}'Ersetzen Sie Folgendes:
MANAGEMENT_API_SERVER: die kubeconfig-Datei für den Management API-Server.BOOT_DISK_IMAGE_NAME: der Name des Bildes.
VM-Instanz aus einem von GDC bereitgestellten Image erstellen
Standardmäßig können in allen GDC-Projekten VMs aus von GDC bereitgestellten Betriebssystem-Images erstellt werden.
gdcloud
Wählen Sie ein von GDC bereitgestelltes Image aus, um die VM-Instanz zu erstellen:
gdcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \ --boot-disk-size=BOOT_DISK_SIZE \ --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETEErsetzen Sie Folgendes:
Variable Definition VM_NAMEDer Name der neuen VM. Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten und darf nicht länger als 53 Zeichen sein. BOOT_DISK_IMAGE_NAMEDer Name des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll. BOOT_DISK_SIZEDie Größe des Bootlaufwerks, z. B. 20GB.
Dieser Wert muss immer größer oder gleich demminimumDiskSizedes Bootlaufwerk-Images sein.NO_BOOT_DISK_AUTO_DELETEEntweder trueoderfalse, was das Gegenteil davon angibt, ob das Bootlaufwerk automatisch gelöscht wird, wenn die VM-Instanz gelöscht wird.MACHINE_TYPEDer vordefinierte Maschinentyp für die neue VM. Führen Sie Folgendes aus, um einen verfügbaren Maschinentyp auszuwählen:
gdcloud compute machine-types list
API
Wählen Sie ein von GDC bereitgestelltes Image aus, um die VM-Instanz zu erstellen:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: VM_BOOT_DISK_NAME spec: source: image: name: BOOT_DISK_IMAGE_NAME namespace: vm-system size: BOOT_DISK_SIZE --- apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: virtualMachineType: MACHINE_TYPE disks: - virtualMachineDiskRef: name: VM_BOOT_DISK_NAME boot: true autoDelete: BOOT_DISK_AUTO_DELETE EOFErsetzen Sie Folgendes:
Variable Definition MANAGEMENT_API_SERVERDie kubeconfig-Datei des Management-API-Servers. PROJECTDas GDC-Projekt, in dem die VM erstellt werden soll. VM_NAMEDer Name der neuen VM. Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten und darf nicht länger als 53 Zeichen sein. VM_BOOT_DISK_NAMEDer Name des neuen VM-Bootlaufwerks. BOOT_DISK_IMAGE_NAMEDer Name des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll. BOOT_DISK_SIZEDie Größe des Bootlaufwerks, z. B. 20Gi.
Dieser Wert muss immer größer oder gleich demminimumDiskSizedes Bootlaufwerk-Images sein.BOOT_DISK_AUTO_DELETEEntweder trueoderfalse, je nachdem, ob das Bootlaufwerk automatisch gelöscht wird, wenn die VM-Instanz gelöscht wird.MACHINE_TYPEDer vordefinierte Maschinentyp für die neue VM. Führen Sie Folgendes aus, um einen verfügbaren Maschinentyp auszuwählen:
gdcloud compute machine-types listPrüfen Sie, ob die VM erstellt wurde, und warten Sie, bis die VM den Status
Runninghat. Der StatusRunningbedeutet nicht, dass das Betriebssystem vollständig bereit und zugänglich ist.kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachine.virtualmachine.gdc.goog VM_NAMEErsetzen Sie
VM_NAMEundPROJECTdurch den Namen und das Projekt der VM.Wenn Sie ein Startskript beim Erstellen einer VM-Instanz hinzufügen möchten, folgen Sie der Anleitung auf der Seite Startskript mit einer VM-Instanz verwenden. Fahren Sie die VM herunter, bevor Sie das Skript hinzufügen.
VM-Instanz aus einem benutzerdefinierten Image erstellen
Ein benutzerdefiniertes Image gehört ausschließlich zu Ihrem Projekt. Wenn Sie eine VM mit einem benutzerdefinierten Image erstellen möchten, müssen Sie zuerst ein benutzerdefiniertes Image im selben Projekt erstellen.
gdcloud
Alle benutzerdefinierten Bilder auflisten:
gdcloud compute images list --no-standard-images=trueErstellen Sie die VM-Instanz.
gdcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --image=BOOT_DISK_IMAGE_NAME \ --boot-disk-size=BOOT_DISK_SIZE \ --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETEErsetzen Sie Folgendes:
Variable Definition VM_NAMEDer Name der neuen VM. Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten und darf nicht länger als 53 Zeichen sein. BOOT_DISK_IMAGE_NAMEDer Name des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll. BOOT_DISK_SIZEDie Größe des Bootlaufwerks, z. B. 20GB.
Dieser Wert muss immer größer oder gleich demminimumDiskSizedes Bootlaufwerk-Images sein.NO_BOOT_DISK_AUTO_DELETEEntweder trueoderfalse, was das Gegenteil davon angibt, ob das Bootlaufwerk automatisch gelöscht wird, wenn die VM-Instanz gelöscht wird.MACHINE_TYPEDer vordefinierte Maschinentyp für die neue VM. Führen Sie Folgendes aus, um einen verfügbaren Maschinentyp auszuwählen:
gdcloud compute machine-types list
API
Alle benutzerdefinierten Bilder auflisten:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachineimage.virtualmachine.gdc.googRufen Sie die
minimumDiskSizeeines bestimmten Images ab, um eine VM-Instanz zu erstellen:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachineimage.virtualmachine.gdc.goog BOOT_DISK_IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}{"\n"}'Ersetzen Sie Folgendes:
Variable Definition MANAGEMENT_API_SERVERDie kubeconfig-Datei des Management-API-Servers. BOOT_DISK_IMAGE_NAMEDer Name des Bildes, das mit dem Befehl zum Auflisten aller benutzerdefinierten Bilder ausgewählt wurde. PROJECTDas Projekt des Bildes. Erstellen Sie die VM-Instanz.
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: VM_BOOT_DISK_NAME spec: source: image: name: BOOT_DISK_IMAGE_NAME size: BOOT_DISK_SIZE --- apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: virtualMachineType: MACHINE_TYPE disks: - virtualMachineDiskRef: name: VM_BOOT_DISK_NAME boot: true autoDelete: BOOT_DISK_AUTO_DELETE EOFErsetzen Sie Folgendes:
Variable Definition MANAGEMENT_API_SERVERDie kubeconfig-Datei des Management-API-Servers. PROJECTDas GDC-Projekt, in dem die VM erstellt werden soll. VM_NAMEDer Name der neuen VM. Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten und darf nicht länger als 53 Zeichen sein. VM_BOOT_DISK_NAMEDer Name des neuen VM-Bootlaufwerks. BOOT_DISK_IMAGE_NAMEDer Name des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll. BOOT_DISK_SIZEDie Größe des Bootlaufwerks, z. B. 20Gi.
Dieser Wert muss immer größer oder gleich demminimumDiskSizedes Bootlaufwerk-Images sein.BOOT_DISK_AUTO_DELETEEntweder trueoderfalse, je nachdem, ob das Bootlaufwerk automatisch gelöscht wird, wenn die VM-Instanz gelöscht wird.MACHINE_TYPEDer vordefinierte Maschinentyp für die neue VM. Führen Sie Folgendes aus, um einen verfügbaren Maschinentyp auszuwählen:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-systemPrüfen Sie, ob die VM erstellt wurde, und warten Sie, bis die VM den Status
Runninghat. Der StatusRunningbedeutet nicht, dass das Betriebssystem vollständig bereit und zugänglich ist.kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachine.virtualmachine.gdc.goog VM_NAMEErsetzen Sie
VM_NAMEundPROJECTdurch den Namen und das Projekt der VM.
VM-Instanz mit zusätzlichen Nicht-Bootlaufwerken erstellen
Sie können Nicht-Bootlaufwerke erstellen, wenn Sie eine VM erstellen. Für jedes zusätzliche Laufwerk kann eine Image-Quelle angegeben werden. Im letzteren Fall wird eine leere Disk erstellt.
gdcloud
Laufwerk aus einem Image erstellen:
gdcloud compute disks create NON_BOOT_DISK_FROM_IMAGE \ --size=NON_BOOT_DISK_SIZE \ --image=NON_BOOT_DISK_IMAGE_NAME \ --image-project=NON_BOOT_DISK_IMAGE_NAMESPACELaufwerk aus einem leeren Image erstellen:
gdcloud compute disks create NON_BOOT_BLANK_DISK \ --size=NON_BOOT_BLANK_DISK_SIZE \Erstellen Sie eine Instanz mit den Laufwerken aus dem vorherigen Schritt:
gdcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \ --boot-disk-size=BOOT_DISK_SIZE \ --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE \ --disk=name=NON_BOOT_DISK_FROM_IMAGE \ --disk=name=NON_BOOT_BLANK_DISKErsetzen Sie Folgendes:
Variable Definition VM_NAMEDer Name der neuen VM. Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten und darf nicht länger als 53 Zeichen sein. BOOT_DISK_IMAGE_NAMEDer Name des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll. BOOT_DISK_IMAGE_NAMESPACEDer Namespace des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll. Verwenden Sie „vm-system“ für ein von GDC bereitgestelltes Image oder lassen Sie das Feld für ein benutzerdefiniertes Image leer. BOOT_DISK_SIZEDie Größe des Bootlaufwerks, z. B. 20GB.
Dieser Wert muss immer größer oder gleich demminimumDiskSizedes Bootlaufwerk-Images sein.NO_BOOT_DISK_AUTO_DELETEEntweder trueoderfalse, was das Gegenteil davon angibt, ob das Bootlaufwerk automatisch gelöscht wird, wenn die VM-Instanz gelöscht wird.MACHINE_TYPEDer vordefinierte Maschinentyp für die neue VM. Führen Sie Folgendes aus, um einen verfügbaren Maschinentyp auszuwählen:
gdcloud compute machine-types listErsetzen Sie für zusätzliche Laufwerke folgende Optionen:
NON_BOOT_DISK_FROM_IMAGE,NON_BOOT_BLANK_DISK: Der Name des zusätzlichen Laufwerks.NON_BOOT_DISK_SIZE,NON_BOOT_BLANK_DISK_SIZE: die Größe der zusätzlichen Laufwerke, z. B.20GB.NON_BOOT_DISK_IMAGE_NAME: Der Name des Images, das als Nicht-Bootlaufwerk verwendet werden soll.NON_BOOT_DISK_IMAGE_NAMESPACE: Der Namespace des Images, das als Nicht-Bootlaufwerk verwendet werden soll. Verwenden Sievm-systemfür ein von GDC bereitgestelltes Bild oder lassen Sie das Feld für ein benutzerdefiniertes Bild leer.
API
So erstellen Sie eine VM mit einem Nicht-Bootlaufwerk:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: NON_BOOT_DISK_FROM_IMAGE spec: source: image: name: NON_BOOT_DISK_IMAGE_NAME namespace: NON_BOOT_DISK_IMAGE_NAMESPACE size: NON_BOOT_DISK_SIZE --- apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: NON_BOOT_BLANK_DISK spec: size: NON_BOOT_BLANK_DISK_SIZE --- apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: VM_BOOT_DISK_NAME spec: source: image: name: BOOT_DISK_IMAGE_NAME namespace: BOOT_DISK_IMAGE_NAMESPACE size: BOOT_DISK_SIZE --- apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: virtualMachineType: MACHINE_TYPE disks: - virtualMachineDiskRef: name: VM_BOOT_DISK_NAME boot: true autoDelete: BOOT_DISK_AUTO_DELETE - virtualMachineDiskRef: name: NON_BOOT_DISK_FROM_IMAGE - virtualMachineDiskRef: name: NON_BOOT_BLANK_DISK EOFErsetzen Sie Folgendes:
Variable Definition MANAGEMENT_API_SERVERDie kubeconfig-Datei des Management-API-Servers. PROJECTDas GDC-Projekt, das in der VM erstellt werden soll. VM_NAMEDer Name der neuen VM. Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten und darf nicht länger als 53 Zeichen sein. VM_BOOT_DISK_NAMEDer Name des neuen VM-Bootlaufwerks. BOOT_DISK_IMAGE_NAMEDer Name des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll. BOOT_DISK_IMAGE_NAMESPACEDer Namespace des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll. Verwenden Sie den Namespace vm-systemfür ein von GDC bereitgestelltes Bild oder lassen Sie das Feld für ein benutzerdefiniertes Bild leer.BOOT_DISK_SIZEDie Größe des Bootlaufwerks, z. B. 20Gi.
Dieser Wert muss immer größer oder gleich demminimumDiskSizedes Bootlaufwerk-Images sein.BOOT_DISK_AUTO_DELETEEntweder trueoderfalse, je nachdem, ob das Bootlaufwerk automatisch gelöscht wird, wenn die VM-Instanz gelöscht wird.MACHINE_TYPEDer vordefinierte Maschinentyp für die neue VM. Führen Sie Folgendes aus, um einen verfügbaren Maschinentyp auszuwählen:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-systemErsetzen Sie für zusätzliche Laufwerke folgende Optionen:
NON_BOOT_DISK_FROM_IMAGE,NON_BOOT_BLANK_DISK: Der Name des zusätzlichen Laufwerks.NON_BOOT_DISK_SIZE,NON_BOOT_BLANK_DISK_SIZE: die Größe der zusätzlichen Laufwerke, z. B.20Gi.NON_BOOT_DISK_IMAGE_NAME: Der Name des Images, das Sie als Nicht-Bootlaufwerk verwenden möchten.NON_BOOT_DISK_IMAGE_NAMESPACE: Der Namespace des Images, das Sie als Nicht-Bootlaufwerk verwenden möchten. Verwenden Sie den Namespacevm-systemfür ein von GDC bereitgestelltes Bild oder lassen Sie das Feld für ein benutzerdefiniertes Bild leer.
Formatieren und stellen Sie die Laufwerke bereit, bevor Sie sie verwenden.
VM aus einem Snapshot oder einer Sicherung erstellen
Sie haben folgende Möglichkeiten, eine neue VM aus einem Snapshot zu erstellen:
- VM-Bootlaufwerk wiederherstellen: Wenn Sie das Bootlaufwerk einer VM mit einem Snapshot gesichert haben, können Sie mit diesem Snapshot eine neue VM erstellen. Snapshot wiederherstellen
- Nicht-Bootlaufwerk wiederherstellen:Wenn Sie ein Nicht-Bootlaufwerk mit einem Snapshot gesichert haben, können Sie den Snapshot beim Erstellen einer VM auch auf einem neuen Nicht-Bootlaufwerk wiederherstellen. Verwenden Sie dazu dieselbe Anleitung.
So erstellen Sie mehrere VMs mit demselben Bootlaufwerk:
- Benutzerdefiniertes Image erstellen
- Erstellen Sie VMs aus diesem Image, ohne einen Snapshot zu verwenden.
VM ohne Maschinentyp erstellen
Distributed Cloud bietet vordefinierte Maschinentypen, die Sie beim Erstellen einer VM-Instanz verwenden können. Ein vordefinierter Maschinentyp hat eine vorgegebene Anzahl von vCPUs und eine vorgegebene Speichergröße.
Wenn vordefinierte VMs Ihren Anforderungen nicht entsprechen, können Sie eine VM-Instanz mit benutzerdefinierten virtualisierten Hardwareeinstellungen erstellen.
Benutzerdefinierte VMs sind in folgenden Szenarien ideal:
- Arbeitslasten, die für die vordefinierten VM-Typen nicht geeignet sind.
Arbeitslasten, die mehr Verarbeitungsleistung oder mehr Speicher erfordern, aber nicht alle Upgrades benötigen, die der nächstgrößere vordefinierte Maschinentyp bietet.
gdcloud
So erstellen Sie eine VM mit einem von Ihnen definierten Maschinentyp:
gdcloud compute instances create VM_NAME \ --custom-cpu=NUM_VCPU \ --custom-memory=MEMORY \ --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \ --boot-disk-size=BOOT_DISK_SIZE \ --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETEErsetzen Sie Folgendes:
Variable Definition VM_NAMEDer Name der neuen VM. Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten und darf nicht länger als 53 Zeichen sein. BOOT_DISK_IMAGE_NAMEDer Name des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll. BOOT_DISK_SIZEDie Größe des Bootlaufwerks, z. B. 20GB.
Dieser Wert muss immer größer oder gleich demminimumDiskSizedes Bootlaufwerk-Images sein.NO_BOOT_DISK_AUTO_DELETEEntweder trueoderfalse, was das Gegenteil davon angibt, ob das Bootlaufwerk automatisch gelöscht wird, wenn die VM-Instanz gelöscht wird.NUM_VCPUDie Anzahl der vCPUs. Die maximale Anzahl der unterstützten vCPUs beträgt 192. MEMORYDie Größe des Arbeitsspeichers, z. B. 8G. Die maximale Speichergröße beträgt ein Terabyte (TB).
API
So erstellen Sie eine VM mit einem von Ihnen definierten Maschinentyp:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: VM_BOOT_DISK_NAME spec: source: image: name: BOOT_DISK_IMAGE_NAME namespace: vm-system size: BOOT_DISK_SIZE --- apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: vcpus: NUM_VCPU memory: MEMORY disks: - virtualMachineDiskRef: name: VM_BOOT_DISK_NAME boot: true autoDelete: BOOT_DISK_AUTO_DELETE EOFErsetzen Sie Folgendes:
Variable Definition MANAGEMENT_API_SERVERDie kubeconfig-Datei des Management-API-Servers. PROJECTDas Distributed Cloud-Projekt, in dem die VM erstellt werden soll. VM_NAMEDer Name der neuen VM. Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten und darf nicht länger als 53 Zeichen sein. VM_BOOT_DISK_NAMEDer Name des neuen VM-Bootlaufwerks. BOOT_DISK_IMAGE_NAMEDer Name des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll. BOOT_DISK_SIZEDie Größe des Bootlaufwerks, z. B. 20Gi.
Dieser Wert muss immer größer oder gleich demminimumDiskSizedes Bootlaufwerk-Images sein.BOOT_DISK_AUTO_DELETEEntweder trueoderfalse, je nachdem, ob das Bootlaufwerk automatisch gelöscht wird, wenn die VM-Instanz gelöscht wird.NUM_VCPUDie Anzahl der vCPUs. Die maximale Anzahl der unterstützten vCPUs beträgt 192. MEMORYDie Größe des Arbeitsspeichers, z. B. 8G. Die maximale Arbeitsspeichergröße beträgt 1 TB.
VM-Instanz mit einer bestimmten IP-Adresse und einem bestimmten Subnetz erstellen
Standardmäßig können Sie eine Distributed Cloud-VM ohne Netzwerkspezifikation erstellen. Diese Art von VM wird an die standardmäßige Virtual Private Cloud (VPC) angehängt und es wird dynamisch eine IP-Adresse aus dem Standardsubnetz zugewiesen. Informationen zum Erstellen einer VM mit den Standardkonfigurationen finden Sie unter VM mit einem von GDC bereitgestellten Image erstellen.
Wenn Sie die Standard-IP-Konfiguration für Ihre Distributed Cloud-VM nicht verwenden möchten, können Sie eine VM mit einer dynamischen oder statischen IP-Adresse erstellen:
Dynamische IP aus einem benutzerdefinierten Subnetz: Sie erstellen ein Subnetz mit einem bestimmten
CIDRund eine VM mit einer IP-Adresse, die dynamisch aus diesemCIDRzugewiesen wird.Statische IP-Adresse aus einem benutzerdefinierten Subnetz: Sie erstellen ein Subnetz mit einem bestimmten
CIDRund eine VM mit einer statischen IP-Adresse aus diesemCIDR.
In diesem Abschnitt wird beschrieben, wie Sie eine VM mit einer dynamisch zugewiesenen Adresse oder einer statischen IP-Adresse erstellen.
VM mit einer dynamisch zugewiesenen IP-Adresse aus einem benutzerdefinierten Subnetz erstellen
So erstellen Sie eine VM mit einer dynamisch zugewiesenen IP-Adresse aus einem bestimmten CIDR:
kubectl --kubeconfig MANAGEMENT_API_SERVER \
-n PROJECT \
apply -f - <<EOF
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineDisk
metadata:
name: VM_BOOT_DISK_NAME
spec:
source:
image:
name: BOOT_DISK_IMAGE_NAME
namespace: vm-system
size: BOOT_DISK_SIZE
---
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachine
metadata:
name: VM_NAME
spec:
compute:
virtualMachineType: MACHINE_TYPE
disks:
- virtualMachineDiskRef:
name: VM_BOOT_DISK_NAME
boot: true
autoDelete: BOOT_DISK_AUTO_DELETE
network:
interfaces:
- subnet: SUBNET_NAME
EOF
Ersetzen Sie die folgenden Variablen:
| Variable | Definition |
|---|---|
MANAGEMENT_API_SERVER |
Die kubeconfig-Datei des Management-API-Servers. |
PROJECT |
Das Distributed Cloud-Projekt, in dem die VM erstellt werden soll. |
VM_NAME |
Der Name der neuen VM. Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten und darf maximal 53 Zeichen lang sein. |
VM_BOOT_DISK_NAME |
Der Name des neuen VM-Bootlaufwerks. |
BOOT_DISK_IMAGE_NAME |
Der Name des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll. |
BOOT_DISK_SIZE |
Die Größe des Bootlaufwerks, z. B. 20Gi.Dieser Wert muss immer größer oder gleich dem minimumDiskSize des Bootlaufwerk-Images sein. |
BOOT_DISK_AUTO_DELETE |
Entweder true oder false, um anzugeben, ob das Bootlaufwerk automatisch gelöscht wird, wenn die VM-Instanz gelöscht wird. |
MACHINE_TYPE |
Der vordefinierte Maschinentyp für die neue VM. Wählen Sie einen verfügbaren Maschinentyp aus:
kubectl --kubeconfig MANAGEMENT_API_SERVER get
virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
|
SUBNET_NAME |
Der Name des benutzerdefinierten Subnetzes. |
VM mit einer statischen IP-Adresse aus einem Subnetz erstellen
So erstellen Sie eine VM mit einer statischen IP-Adresse aus einem benutzerdefinierten Subnetz:
kubectl --kubeconfig MANAGEMENT_API_SERVER \
-n PROJECT \
apply -f - <<EOF
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineDisk
metadata:
name: VM_BOOT_DISK_NAME
spec:
source:
image:
name: BOOT_DISK_IMAGE_NAME
namespace: vm-system
size: BOOT_DISK_SIZE
---
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachine
metadata:
name: VM_NAME
spec:
compute:
virtualMachineType: MACHINE_TYPE
disks:
- virtualMachineDiskRef:
name: VM_BOOT_DISK_NAME
boot: true
autoDelete: BOOT_DISK_AUTO_DELETE
network:
interfaces:
- subnet: SUBNET_NAME
ipAddresses:
- address: IP_ADDRESS
EOF
Ersetzen Sie die folgenden Variablen:
| Variable | Definition |
|---|---|
MANAGEMENT_API_SERVER |
Die kubeconfig-Datei des Management-API-Servers. |
PROJECT |
Das Distributed Cloud-Projekt, in dem die VM erstellt werden soll. |
VM_NAME |
Der Name der neuen VM. Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten und darf nicht länger als 53 Zeichen sein. |
VM_BOOT_DISK_NAME |
Der Name des neuen VM-Bootlaufwerks. |
BOOT_DISK_IMAGE_NAME |
Der Name des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll. |
BOOT_DISK_SIZE |
Die Größe des Bootlaufwerks, z. B. 20Gi.Dieser Wert muss immer größer oder gleich dem minimumDiskSize des Bootlaufwerk-Images sein. |
BOOT_DISK_AUTO_DELETE |
Entweder true oder false, um anzugeben, ob das Bootlaufwerk automatisch gelöscht wird, wenn die VM-Instanz gelöscht wird. |
MACHINE_TYPE |
Der vordefinierte Maschinentyp für die neue VM. Führen Sie Folgendes aus, um einen verfügbaren Maschinentyp auszuwählen:
kubectl --kubeconfig MANAGEMENT_API_SERVER get
virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
|
SUBNET_NAME |
Der Name des benutzerdefinierten Subnetzes. |
IP_ADDRESS |
Die IP-Adresse. Sie muss sich innerhalb des ausgewählten Subnetzbereichs befinden. Sie können im Feld ipAddresses nur eine IP-Adresse angeben. |