Angepasstes Bootlaufwerk erstellen

In diesem Dokument wird beschrieben, wie Sie benutzerdefinierte Bootlaufwerke für VMs in Google Distributed Cloud (GDC) mit Air Gap erstellen.

Wenn Sie eine VM-Instanz erstellen, erstellt Distributed Cloud automatisch einen nichtflüchtigen Bootspeicher mit Standardkonfigurationen. Sie müssen auch ein Bootlaufwerk für die VM erstellen. Sie können entweder ein öffentliches oder ein benutzerdefiniertes Image verwenden.

Wenn Sie zusätzliche Datenspeicherlaufwerke für Ihre Instanzen benötigen, fügen Sie Ihrer VM einen nichtflüchtigen Speicher hinzu.

Dieses Dokument richtet sich an Entwickler in Plattformadministrator- oder Anwendungsoperatorgruppen, die benutzerdefinierte Bootlaufwerke für VMs erstellen. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.

Hinweis

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:

  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.

IAM-Rollen anfordern

Wenden Sie sich an den IAM-Administrator Ihres Projekts, um die folgenden Rollen für Ihr Projekt anzufordern:

  • Virtual Machine Project Admin (project-vm-admin): Erstellen, Ändern, Auflisten und Löschen von Standard- und Hochleistungs-VMs im Projekt-Namespace.

  • Projektbetrachter(project-viewer): Alle Ressourcen im Projektnamespace ansehen.

Alle VM-Rollen müssen an den Namespace des Projekts gebunden sein, in dem sich die VM befindet. Folgen Sie der Anleitung, um Ihren Zugriff zu bestätigen.

Bootlaufwerk erstellen

Mit den auf dieser Seite beschriebenen Verfahren können Sie Bootlaufwerke erstellen, die Sie später zum Erstellen von VMs verwenden können.

Bootlaufwerk aus einem Image erstellen

Sie können einen eigenständigen nichtflüchtigen Speicher mit Startfunktion auch außerhalb des Instanzerstellungsvorgangs erstellen und ihn später einer Instanz hinzufügen. In diesem Abschnitt wird gezeigt, wie Sie ein Bootlaufwerk aus einem von GDC bereitgestellten Betriebssystem-Image oder einem benutzerdefinierten Betriebssystem-Image erstellen.

Bootlaufwerk aus einem von GDC bereitgestellten Image erstellen

Bevor Sie ein Bootlaufwerk mit einem von GDC bereitgestellten Image erstellen, sollten Sie die Liste der verfügbaren Images prüfen. Erstellen Sie dann ein Bootlaufwerk mit dem bereitgestellten Image.

gdcloud

  1. Alle verfügbaren Images und ihre Mindestlaufwerksgröße auflisten:

    gdcloud compute images list
    

    Dieser Befehl umfasst sowohl von Distributed Cloud bereitgestellte als auch benutzerdefinierte Images. Wählen Sie einen der beiden im Namespace vm-system aus.

  2. Wählen Sie ein von Distributed Cloud bereitgestelltes Image aus, um das VM-Laufwerk zu erstellen:

    gdcloud compute disks create BOOT_DISK_NAME \
      --project=PROJECT \
      --size=DISK_SIZE \
      --image=IMAGE_NAME \
      --image-project=vm-system
    

    Ersetzen Sie die Variablen durch die folgenden Definitionen:

    VariableDefinition
    BOOT_DISK_NAME Der Name des Bootlaufwerks.
    PROJECT Das GDC-Projekt, in dem das Bootlaufwerk erstellt werden soll.
    DISK_SIZE Die Größe des Startlaufwerks muss mindestens minimumDiskSize des Images betragen.
    IMAGE_NAME Der Name des Bildes.

kubectl

  1. Alle von GDC bereitgestellten Images auflisten:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog
    
  2. Ruft die minimumDiskSize eines bestimmten von GDC bereitgestellten Bildes ab. Die Größe des erstellten benutzerdefinierten Bootlaufwerks muss mindestens minimumDiskSize betragen:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Erstellen Sie ein VirtualMachineDisk-Objekt:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: vm-system
      size: DISK_SIZE
    EOF
    

    Ersetzen Sie die Variablen durch die folgenden Definitionen:

    VariableDefinition
    MANAGEMENT_API_SERVER Die kubeconfig-Datei des Management-API-Servers.
    IMAGE_NAME Der Name des Bildes.
    PROJECT Das GDC-Projekt, in dem das Bootlaufwerk erstellt werden soll.
    BOOT_DISK_NAME Der Name des Bootlaufwerks.
    DISK_SIZE Die Größe des Startlaufwerks muss mindestens minimumDiskSize des Images betragen.

Bootlaufwerk 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 erstellen, falls Sie noch keines haben.

Richten Sie die erforderlichen IAM-Rollen ein, um auf benutzerdefinierte Images in Ihrem Projekt zuzugreifen, falls Sie dies noch nicht getan haben. Fahren Sie dann mit dieser Anleitung fort.

gdcloud

  1. Alle benutzerdefinierten Images und ihre Mindestlaufwerkgröße auflisten:

    gdcloud compute images list \
      --project=PROJECT \
    
  2. Wählen Sie ein benutzerdefiniertes Image aus, um das VM-Laufwerk zu erstellen:

    gdcloud compute disks create BOOT_DISK_NAME \
      --project=PROJECT \
      --size=DISK_SIZE \
      --image=IMAGE_NAME \
      --image-project=PROJECT
    

    Ersetzen Sie die Variablen durch die folgenden Definitionen:

    VariableDefinition
    BOOT_DISK_NAME Der Name des Bootlaufwerks.
    PROJECT Das GDC-Projekt, in dem das Bootlaufwerk erstellt werden soll.
    DISK_SIZE Die Größe des Startlaufwerks muss mindestens minimumDiskSize des Images betragen.
    IMAGE_NAME Der Name des Bildes.

API

  1. Alle benutzerdefinierten Bilder auflisten:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachineimages.virtualmachine.gdc.goog
    
  2. minimumDiskSize eines bestimmten benutzerdefinierten Bildes abrufen Die Größe des erstellten benutzerdefinierten Bootlaufwerks muss mindestens minimumDiskSize betragen:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Erstellen Sie ein VirtualMachineDisk-Objekt:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: PROJECT
      size: DISK_SIZE
    EOF
    

    Ersetzen Sie die Variablen anhand der folgenden Definitionen:

    VariableDefinition
    MANAGEMENT_API_SERVER Die kubeconfig-Datei des Management-API-Servers.
    IMAGE_NAME Der Name des Bildes, das mit dem Befehl list all custom images ausgewählt wurde.
    PROJECT Das GDC-Projekt, in dem das Bootlaufwerk erstellt werden soll.
    BOOT_DISK_NAME Der Name des Bootlaufwerks.
    DISK_SIZE Die Größe des Startlaufwerks muss mindestens minimumDiskSize des Images betragen.

Nächste Schritte