In dieser Kurzanleitung erfahren Sie, wie Sie mit der VM-Laufzeit in GDC eine virtuelle Maschine (VM) in Google Distributed Cloud erstellen. Die VM-Laufzeit auf GDC verwendet KubeVirt zur Orchestrierung von VMs in Clustern und ermöglicht Ihnen, mit Ihren VM-basierten Anwendungen und Arbeitslasten in einer einheitlichen Entwicklungsumgebung zu arbeiten.
Hinweise
Für diese Kurzanleitung benötigen Sie Zugriff auf den Google Distributed Cloud-Cluster Version 1.12 (anthosBareMetalVersion: 1.12
) oder höher. Sie können einen beliebigen Clustertyp verwenden, der Arbeitslasten ausführen kann. Probieren Sie bei Bedarf Google Distributed Cloud in Compute Engine aus oder lesen Sie die Übersicht zum Erstellen von Clustern.
VM-Laufzeit auf GDC aktivieren
Die VM-Laufzeit auf GDC wird automatisch in Google Distributed Cloud Version 1.10 oder höher installiert, aber standardmäßig deaktiviert. Bevor Sie VM-Ressourcen in Ihrer Google Distributed Cloud ausführen können, müssen Sie die VM-Laufzeit auf GDC aktivieren.
bmctl
Google Distributed Cloud Version 1.11 oder höher kann das bmctl
-Befehlszeilentool verwenden:
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 Administratorworkstation, wenn Sie einen Cluster erstellen. Der Pfad ist standardmäßig
bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig
.Wenn die VM-Laufzeit auf GDC bereits aktiviert ist, gibt der Befehl einen Fehler zurück.
Benutzerdefinierte Ressource
Google Distributed Cloud Version 1.10 oder höher kann eine benutzerdefinierte Ressourcendefinition verwenden, um die VM-Laufzeit auf GDC zu aktivieren. Diese benutzerdefinierte Ressource wird standardmäßig installiert.
Bearbeiten Sie die benutzerdefinierte
VMRuntime
-Ressource:kubectl edit vmruntime
Legen Sie
enabled:true
in 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
spec
können die folgenden Werte festgelegt werden:enabled
: Legen Sie den Wert auf „true“ fest, 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 FelduseEmulation
ist standardmäßig auffalse
gesetzt, wenn es nicht angegeben ist.vmImageFormat
: Unterstützt zwei Laufwerk-Image-Format-Werte:raw
undqcow2
. Wenn SievmImageFormat
nicht festlegen, verwendet die VM-Laufzeit auf GDC das Laufwerk-Image-Formatraw
zum Erstellen von VMs. Das Formatraw
bietet möglicherweise eine bessere Leistung gegenüberqcow2
, 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 unter Dateiformate für Laufwerk-Images in der QEMU-Dokumentation.
Speichern Sie die benutzerdefinierte Ressource in Ihrem Editor.
Prüfen Sie, ob die benutzerdefinierte Ressource
VMRuntime
aktiviert ist:kubectl describe vmruntime vmruntime
Die Details der benutzerdefinierten Ressource
VMRuntime
enthalten den AbschnittStatus
. VM-Laufzeit auf GDC ist aktiviert und funktioniert, wennVMRuntime.Status.Ready
alstrue
angezeigt wird.
virtctl
-Clienttool installieren
Erstellen und verwalten Sie VMs, indem Sie das virtctl-Clienttool installieren.
Installieren Sie das
virtctl
-CLienttool alskubectl
-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-virt
auf Ihrem lokalen Computer installieren.Überprüfen Sie, ob das Plug-in
virtctl
installiert ist:kubectl plugin list
Wenn
kubectl-virt
in der Antwort aufgeführt ist, wurde das Plug-in erfolgreich installiert.Wenn
kubectl-virt
nicht aufgeführt ist, prüfen Sie die Dateiinstall-virtctl.log
, wie sie in der Ausgabe des vorherigenbmctl install
-Befehls angegeben, z. B.bmctl-workspace/log/install-virtctl-[date]/install-virtctl.log
.
VM erstellen
In dieser Kurzanleitung verwenden Sie die kubectl
-Befehlszeile, um eine VM zu erstellen, die ein öffentliches VM-Image und Standardanmeldedaten verwendet.
Erstellen Sie eine VM in Ihrem Cluster. Das Plug-in
virtctl
wird mit dem Befehlkubectl
verwendet: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 und mit einem alphanumerischen Zeichen beginnen und enden. Sie dürfen höchstens 63 Zeichen enthalten. Weitere Informationen finden Sie unter RFC 1123-Labelnamen in der Kubernetes-Dokumentation.USERNAME
: 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.1
oder höher hat und ob Sie die neueste Version des Clienttoolsvirtctl
haben. Weitere Informationen zu Befehlszeilenfehlern finden Sie im Konsolenlog. Regeln für Nutzernamen und Passwörter finden Sie in der Dokumentation zum Gastbetriebssystem. Wenn etwas nicht wie erwartet funktioniert, prüfen Sie die bekannten Probleme bei der VM-Laufzeit in GDC.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 Console 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 Console:
Ctrl + ]
Bereinigen
So bereinigen Sie die in dieser Kurzanleitung erstellten Ressourcen:
Verwenden Sie
kubectl
zum 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
- Logs der VM-Konsole in Google Distributed Cloud ansehen