VM-Instanz erstellen und starten

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 Befehlszeilenbefehle (Command-Line Interface, CLI) von gdcloud 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:

  1. Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Management API-Server, falls Sie noch keine haben.

  2. Verwenden Sie den Pfad zur kubeconfig-Datei des Management API-Servers, um MANAGEMENT_API_SERVER in 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.

Wenn Sie VM-Vorgänge über die GDC-Konsole oder die gdcloud-CLI ausführen möchten, bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die Rolle „Project VirtualMachine Admin“ und 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 list
    

    Dieser Befehl umfasst sowohl von GDC bereitgestellte als auch benutzerdefinierte Bilder. Wählen Sie eines der Bilder im Namespace vm-system aus.

API

  1. Alle von GDC bereitgestellten Images auflisten:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system
    
  2. So rufen Sie die minimumDiskSize für ein bestimmtes von GDC bereitgestelltes Image ab:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system \
        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

  1. 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_DELETE
    

    Ersetzen Sie Folgendes:

    VariableDefinition
    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.
    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. 20GB.
    Dieser Wert muss immer größer oder gleich dem minimumDiskSize des Bootlaufwerk-Images sein.
    NO_BOOT_DISK_AUTO_DELETE Entweder true oder false, was das Gegenteil davon angibt, 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:
    gdcloud compute machine-types list

API

  1. Wählen Sie ein von GDC bereitgestelltes Image aus, um die VM-Instanz zu erstellen:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -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
    EOF
    

    Ersetzen Sie Folgendes:

    VariableDefinition
    MANAGEMENT_API_SERVER Die kubeconfig-Datei des Management API-Servers.
    PROJECT Das GDC-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:
    gdcloud compute machine-types list
  2. Prüfen Sie, ob die VM erstellt wurde, und warten Sie, bis die VM den Status Running hat. Der Status Running bedeutet nicht, dass das Betriebssystem vollständig bereit und zugänglich ist.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachine.virtualmachine.gdc.goog VM_NAME -n PROJECT
    

    Ersetzen Sie VM_NAME und PROJECT durch 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

  1. Alle benutzerdefinierten Bilder auflisten:

    gdcloud compute images list --no-standard-images=true
    
  2. Erstellen 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_DELETE
    

    Ersetzen Sie Folgendes:

    VariableDefinition
    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.
    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. 20GB.
    Dieser Wert muss immer größer oder gleich dem minimumDiskSize des Bootlaufwerk-Images sein.
    NO_BOOT_DISK_AUTO_DELETE Entweder true oder false, was das Gegenteil davon angibt, 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:
    gdcloud compute machine-types list

API

  1. Alle benutzerdefinierten Bilder auflisten:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT
    

    Rufen Sie die minimumDiskSize eines bestimmten Images ab, um eine VM-Instanz zu erstellen:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT \
        BOOT_DISK_IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    Ersetzen Sie Folgendes:

    VariableDefinition
    MANAGEMENT_API_SERVER Die kubeconfig-Datei des Management API-Servers.
    BOOT_DISK_IMAGE_NAME Der Name des Bildes, das mit dem Befehl zum Auflisten aller benutzerdefinierten Bilder ausgewählt wurde.
    PROJECT Das Projekt des Bildes.
  2. Erstellen Sie die VM-Instanz.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -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
    EOF
    

    Ersetzen Sie Folgendes:

    VariableDefinition
    MANAGEMENT_API_SERVER Die kubeconfig-Datei des Management API-Servers.
    PROJECT Das GDC-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
  3. Prüfen Sie, ob die VM erstellt wurde, und warten Sie, bis die VM den Status Running hat. Der Status Running bedeutet nicht, dass das Betriebssystem vollständig bereit und zugänglich ist.

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachine.virtualmachine.gdc.goog VM_NAME -n PROJECT
    

    Ersetzen Sie VM_NAME und PROJECT durch 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

  1. 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_NAMESPACE
    
  2. Laufwerk aus einem leeren Image erstellen:

    gdcloud compute disks create NON_BOOT_BLANK_DISK \
        --size=NON_BOOT_BLANK_DISK_SIZE \
    
  3. 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_DISK
    

    Ersetzen Sie Folgendes:

    VariableDefinition
    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.
    BOOT_DISK_IMAGE_NAME Der Name des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll.
    BOOT_DISK_IMAGE_NAMESPACE Der 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_SIZE Die Größe des Bootlaufwerks, z. B. 20GB.
    Dieser Wert muss immer größer oder gleich dem minimumDiskSize des Bootlaufwerk-Images sein.
    NO_BOOT_DISK_AUTO_DELETE Entweder true oder false, was das Gegenteil davon angibt, 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:
    gdcloud compute machine-types list

    Ersetzen 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 Sie vm-system für ein von GDC bereitgestelltes Bild oder lassen Sie das Feld für ein benutzerdefiniertes Bild leer.

API

  1. So erstellen Sie eine VM mit einem Nicht-Bootlaufwerk:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -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
    EOF
    

    Ersetzen Sie Folgendes:

    VariableDefinition
    MANAGEMENT_API_SERVER Die kubeconfig-Datei des Management API-Servers.
    PROJECT Das GDC-Projekt, das in der 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_IMAGE_NAMESPACE Der Namespace des Images, das für das Bootlaufwerk der neuen VM verwendet werden soll. Verwenden Sie den Namespace vm-system für ein von GDC bereitgestelltes Bild oder lassen Sie das Feld für ein benutzerdefiniertes Bild leer.
    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

    Ersetzen 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 Namespace vm-system fü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. Folgen Sie dazu derselben Anleitung.

So erstellen Sie mehrere VMs mit demselben Bootlaufwerk:

  1. Benutzerdefiniertes Image erstellen
  2. 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

  1. 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_DELETE
    

    Ersetzen Sie Folgendes:

    VariableDefinition
    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.
    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. 20GB.
    Dieser Wert muss immer größer oder gleich dem minimumDiskSize des Bootlaufwerk-Images sein.
    NO_BOOT_DISK_AUTO_DELETE Entweder true oder false, was das Gegenteil davon angibt, ob das Bootlaufwerk automatisch gelöscht wird, wenn die VM-Instanz gelöscht wird.
    NUM_VCPU Die Anzahl der vCPUs. Die maximale Anzahl der unterstützten vCPUs beträgt 192.
    MEMORY Die Größe des Arbeitsspeichers, z. B. 8G. Die maximale Speichergröße beträgt ein Terabyte (TB).

API

  1. So erstellen Sie eine VM mit einem von Ihnen definierten Maschinentyp:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -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
    EOF
    

    Ersetzen Sie Folgendes:

    VariableDefinition
    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.
    NUM_VCPU Die Anzahl der vCPUs. Die maximale Anzahl der unterstützten vCPUs beträgt 192.
    MEMORY Die 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 CIDR und eine VM mit einer IP-Adresse, die dynamisch aus diesem CIDR zugewiesen wird.

  • Statische IP-Adresse aus einem benutzerdefinierten Subnetz: Sie erstellen ein Subnetz mit einem bestimmten CIDR und eine VM mit einer statischen IP-Adresse aus diesem CIDR.

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 \
       apply -n PROJECT -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:

VariableDefinition
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 \
       apply -n PROJECT -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:

VariableDefinition
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.