In dieser Kurzanleitung erfahren Sie, wie Sie mit VM Runtime on GDC eine VM in Google Distributed Cloud erstellen. VM Runtime on GDC verwendet KubeVirt, um VMs in Clustern zu orchestrieren, und ermöglicht die Arbeit mit Ihren VM-basierten Anwendungen und Arbeitslasten in einer einheitlichen Entwicklungsumgebung.
Hinweise
Wenn Sie diese Kurzanleitung abschließen möchten, benötigen Sie Zugriff auf einen Google Distributed Cloud-Cluster der Version 1.12 (anthosBareMetalVersion: 1.12) oder höher. Sie können einen beliebigen Clustertyp verwenden, der Arbeitslasten ausführen kann. Bei Bedarf können Sie Google Distributed Cloud on Compute Engine ausprobieren oder die Übersicht zur Clustererstellung aufrufen.
Aktivieren Sie die VM Runtime auf GDC
VM Runtime on GDC wird automatisch in Google Distributed Cloud Version 1.10 oder höher installiert, ist aber standardmäßig deaktiviert. Bevor Sie VM-Ressourcen in Google Distributed Cloud ausführen können, müssen Sie die VM-Laufzeit auf GDC aktivieren.
bmctl
In Google Distributed Cloud Version 1.11 oder höher kann das bmctl-Befehlszeilentool verwendet werden:
- Verwenden Sie das Tool - bmctl, um die Laufzeit zu aktivieren:- bmctl enable vmruntime --kubeconfig KUBECONFIG_PATH- Geben Sie den Pfad zur kubeconfig-Datei für Ihren Cluster an. Google Distributed Cloud generiert die kubeconfig-Datei auf der Administrator-Workstation, wenn Sie einen Cluster erstellen. Der Pfad ist standardmäßig - bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig.- Wenn die VM Runtime on GDC bereits aktiviert ist, gibt der Befehl einen Fehler zurück. 
Benutzerdefinierte Ressource
In Google Distributed Cloud-Version 1.10 oder höher kann eine benutzerdefinierte Ressourcendefinition verwendet werden, um VM Runtime on GDC zu aktivieren. Diese benutzerdefinierte Ressource wird standardmäßig installiert.
- Bearbeiten Sie die benutzerdefinierte - VMRuntime-Ressource:- kubectl edit vmruntime
- Legen Sie - enabled:truein der Spezifikation fest:- apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true # useEmulation defaults to "false" if not set. useEmulation: true # vmImageFormat defaults to "qcow2" if not set. vmImageFormat: qcow2- Im vorherigen Abschnitt - speckönnen die folgenden Werte festgelegt werden:- enabled: Auf „true“ gesetzt, um die VM-Laufzeit auf GDC zu aktivieren
- useEmulation: Wenn Ihr Knoten die Hardwarevirtualisierung nicht unterstützt oder Sie sich nicht sicher sind, legen Sie den Wert auf "true" fest. Die Hardwarevirtualisierung bietet eine bessere Leistung als die Softwareemulation. Das Feld- useEmulationist standardmäßig auf- falsegesetzt, wenn es nicht angegeben ist.
- vmImageFormat: Unterstützt zwei Laufwerk-Image-Format-Werte:- rawund- qcow2. Wenn Sie- vmImageFormatnicht festlegen, verwendet die VM-Laufzeit auf GDC das Laufwerk-Image-Format- raw, um VMs zu erstellen. Das Format- rawbietet möglicherweise eine bessere Leistung gegenüber- qcow2, eine Kopie des Schreibformats, benötigt aber möglicherweise mehr Platz auf dem Laufwerk. Weitere Informationen zu den Image-Formaten für Ihre VM finden Sie in der QEMU-Dokumentation unter Dateiformate für Laufwerk-Images.
 
- Speichern Sie die benutzerdefinierte Ressource in Ihrem Editor. 
- Prüfen Sie, ob die benutzerdefinierte Ressource - VMRuntimeaktiviert ist:- kubectl describe vmruntime vmruntime- Die Details der benutzerdefinierten Ressource - VMRuntimeenthalten den Abschnitt- Status. Die VM Runtime on GDC ist aktiviert und funktioniert, wenn für- VMRuntime.Status.Readyder Wert- trueangezeigt wird.
virtctl-Clienttool installieren
Erstellen und verwalten Sie VMs, indem Sie das virtctl-Clienttool installieren.
- Installieren Sie das - virtctl-CLienttool als- kubectl-Plug-in.- export GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_SERVICE_ACCOUNT_KEY/bm-gcr.json" sudo -E bmctl install virtctl- Mit den Anmeldedaten können Sie das - virtctl-Clienttool authentifizieren und herunterladen und dann unter- /usr/bin/kubectl-virtauf Ihrem lokalen Computer installieren.
- Überprüfen Sie, ob das Plug-in - virtctlinstalliert ist:- kubectl plugin list- Wenn - kubectl-virtin der Antwort aufgeführt ist, wurde das Plug-in erfolgreich installiert.- Wenn - kubectl-virtnicht aufgeführt ist, prüfen Sie die Datei- install-virtctl.log, wie sie in der Ausgabe des vorherigen- bmctl install-Befehls angegeben, z. B.- bmctl-workspace/log/install-virtctl-[date]/install-virtctl.log.
VM erstellen
In dieser Kurzanleitung verwenden Sie die kubectl-CLI, um eine VM zu erstellen, die ein öffentliches VM-Image und Standardanmeldedaten verwendet.
- Erstellen Sie eine VM in Ihrem Cluster. Das Plug-in - virtctlwird mit dem Befehl- kubectlverwendet:- kubectl virt create vm VM_NAME \ --image ubuntu20.04 \ --configure-initial-password USERNAME:PASSWORD- Dieser Befehl erstellt eine Ubuntu 20.04-VM und Standardeinstellungen von 2 CPU, 4Gi Arbeitsspeicher und ein 20Gi Bootlaufwerk im ReadWriteOnce-Modus und unter Verwendung der Speicherklasse local-shared. Ersetzen Sie die folgenden Werte: - VM_NAME: der Name Ihrer VM. VM-Namen dürfen nur kleingeschriebene alphanumerische Zeichen oder „-“ enthalten, müssen mit einem alphanumerischen Zeichen beginnen und enden und dürfen maximal 63 Zeichen lang sein. Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter RFC 1123-Labelnamen.
- USERNAME: Der Nutzername für das Konto, das auf der VM erstellt werden soll.
- PASSWORD: das Passwort für das Nutzerkonto.
 - Wenn ein Fehler zu Befehlszeilenparametern zurückgegeben wird, prüfen Sie, ob Ihr Cluster die Version - 1.11.1oder höher hat und ob Sie die neueste Version des Clienttools- virtctlhaben. Weitere Informationen zu CLI-Fehlern finden Sie im Konsolenlog. Informationen zu Regeln für Nutzernamen und Passwörter finden Sie in der Dokumentation des Gastbetriebssystems. Wenn etwas nicht wie erwartet funktioniert, sehen Sie unter Bekannte Probleme mit der VM-Laufzeit in GDC nach.
- Es kann einige Minuten dauern, bis die VM erstellt ist. Prüfen Sie den Status der VM mit dem Befehl - kubectl:- kubectl get gvm- Das folgende Ausgabebeispiel zeigt die VM im Status - Running:- NAME STATUS AGE IP vm-sample1 Running 64s 192.168.2.124
Mit VM verbinden.
Wenn Ihre VM ausgeführt wird, stellen Sie eine Verbindung zur Konsole der VM her.
- Verwenden Sie - kubectl, um über die Konsole auf eine VM zuzugreifen:- kubectl virt console VM_NAME
- Geben Sie bei entsprechender Aufforderung die Nutzeranmeldedaten ein, die Sie zum Erstellen der VM verwendet haben. 
- Nachdem Sie erfolgreich eine Verbindung zur Konsole der VM hergestellt haben, beenden Sie die VM-Sitzung und die Konsole: - Ctrl + ]
Bereinigen
So bereinigen Sie die in dieser Kurzanleitung erstellten Ressourcen:
- Verwenden Sie - kubectlzum Löschen der VM und des zugehörigen DataVolumes:- kubectl virt delete vm VM_NAME --all
Nächste Schritte
- Leistungsstatus einer VM in Google Distributed Cloud verwalten
- VM in Google Distributed Cloud bearbeiten.
- VM-Konsolenlogs in Google Distributed Cloud ansehen