In diesem Dokument erfahren Sie, wie Sie die Anthos-VM-Laufzeit aktivieren oder deaktivieren, indem Sie entweder die benutzerdefinierte Ressource VMRuntime
aktualisieren oder Befehle vom Typ bmctl
ausführen.
Hinweis
Zum Aktivieren oder Deaktivieren der Anthos-VM-Laufzeit benötigen Sie Zugriff auf die folgenden Ressourcen und Tools:
- Zugriff auf Anthos-Cluster auf Bare Metal Version 1.12.0 (
anthosBareMetalVersion: 1.12.0
) oder höher. Sie können einen beliebigen Clustertyp verwenden, der Arbeitslasten ausführen kann. Bei Bedarf können Sie Anthos-Cluster auf Bare Metal in Compute Engine ausprobieren oder die Übersicht über die Clustererstellung aufrufen. bmctl
-Befehlszeilentool Weitere Informationen finden Sie unterbmctl
-Tool herunterladen und installieren.
Anthos-VM-Laufzeit aktivieren
Anthos-VM-Laufzeit wird automatisch in Anthos-Clustern auf Bare-Metal-Version 1.10 oder höher installiert, aber ist standardmäßig deaktiviert. Bevor Sie VM-Ressourcen in Ihren Anthos-Clustern auf Bare-Metal ausführen können, müssen Sie die Anthos-VM-Laufzeit aktivieren.
bmctl
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. Anthos-Cluster auf Bare-Metal 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 Anthos-VM-Laufzeit bereits aktiviert ist, gibt der Befehl einen Fehler zurück.
Zusätzliche Einstellungen, z. B. für die Emulation oder das Image-format, können durch Bearbeiten der benutzerdefinierten Ressource VMRuntime
konfiguriert werden.
Benutzerdefinierte Ressource
Zum Aktivieren der Laufzeit aktualisieren Sie die benutzerdefinierte Ressource VMRuntime
: 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
: Auf "true" gesetzt, um die Anthos VM-Laufzeit zu aktivierenuseEmulation
: 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 Anthos VM-Laufzeit das Laufwerk-Image-Formatraw
, um VMs zu erstellen. 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 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
VMRuntime
aktiviert ist:kubectl describe vmruntime vmruntime
Die Details der benutzerdefinierten Ressource
VMRuntime
enthalten den AbschnittStatus
. Die Anthos VM-Laufzeit ist aktiviert und funktioniert, wenn fürVMRuntime.Status.Ready
der Werttrue
angezeigt wird.
Anthos-VM-Laufzeit deaktivieren
Wenn Sie Anthos-VM-Laufzeit nicht mehr verwenden müssen, können Sie diese Funktion deaktivieren.
bmctl
Verwenden Sie das Tool
bmctl
, um die Laufzeit zu aktivieren:bmctl disable vmruntime --kubeconfig KUBECONFIG_PATH \ --force=true
Geben Sie den Pfad zur kubeconfig-Datei für Ihren Cluster und die Werte für die folgenden Konfigurationsoptionen an:
--force
: Gesetzt auftrue
, um zu bestätigen, dass Sie vorhandene VM-Ressourcen löschen möchten. Der Standardwert istfalse
.
Benutzerdefinierte Ressource
Zum Deaktivieren der Laufzeit aktualisieren Sie die benutzerdefinierte Ressource VMRuntime
:
Bearbeiten Sie die benutzerdefinierte
VMRuntime
-Ressource:kubectl edit vmruntime
Legen Sie
enabled:false
in der Spezifikation fest:apiVersion: vm.cluster.gke.io/v1` kind: VMRuntime metadata: name: vmruntime spec: enabled: false useEmulation: true vmImageFormat: qcow2
Speichern Sie die aktualisierte benutzerdefinierte Ressourcenspezifikation in Ihrem Editor.
Wenn Sie prüfen möchten, ob die benutzerdefinierte Ressource
VMRuntime
deaktiviert ist, rufen Sie die Pods auf, die im Namespacevm-system
ausgeführt werden:kubectl get pods --namespace vm-system
Die Anthos-VM-Laufzeit wurde deaktiviert, wenn nur die Pods, die zur Bereitstellung
vmruntime-controller-manager
gehören, im Namespace ausgeführt werden.
Informationen zum Verhalten laufender VMs
Die Annotation baremetal.cluster.gke.io/vmrumtime-force-disable
kann für die Anthos VM-Laufzeitressource verwendet werden, um das Verhalten zu definieren, wenn die Laufzeit deaktiviert wird, während VMs im Cluster ausgeführt werden.
Das folgende Beispiel zeigt, dass der Wert dieser Annotation standardmäßig auf false
gesetzt ist:
// VM runtime yaml file
apiVersion: vm.cluster.gke.io/v1
kind: VMRuntime
metadata:
annotations:
baremetal.cluster.gke.io/vmrumtime-force-disable: "false"
name: vmruntime
[...]
Wenn diese Annotation auf false
gesetzt ist, versucht die Anthos-VM-Laufzeit, laufende VMs zu schützen. Löschen Sie alle ausgeführten VMs, bevor die Anthos-VM-Laufzeit deaktiviert wird, oder geben Sie den Parameter --force=true
mit dem Befehl bmctl disable vmruntime
an, wie im vorherigen Abschnitt gezeigt.
In der folgenden Tabelle wird erläutert, was mit aktiven VMs geschieht, wenn diese Annotation auf true
oder false
gesetzt ist und wenn Sie den Parameter --force=true
angeben oder nicht:
Cluster Status | --force parameter | vmrumtime-force-disable Annotation | Verhalten |
---|---|---|---|
Keine VMs | – | – | Anthos-VM-Laufzeit deaktivieren. |
Vorhandene VMs | Ja | Wahr | Alle laufenden VMs und die zugehörigen Ressourcen löschen. Anthos-VM-Laufzeit deaktivieren. |
Ja | Falsch | Alle laufenden VMs und die zugehörigen Ressourcen löschen. Anthos-VM-Laufzeit deaktivieren. | |
Nein | Ja | Aufforderung zum Löschen laufender VMs und zugehöriger Ressourcen. Wenn alle laufenden VMs gelöscht wurden, deaktivieren Sie die Anthos-VM-Laufzeit. | |
Nein | Falsch | Keine vorhandenen laufenden VMs löschen. Anthos-VM-Laufzeit nicht deaktivieren. Der bmctl -Befehl gibt einen Fehler zurück. |