Auf dieser Seite wird beschrieben, wie Sie virtuelle Maschinen auf Racks verwalten, die mit Google Distributed Cloud verbunden sind und VM Runtime on Google Distributed Cloud ausführen. Sie müssen mit der VM Runtime on GDC vertraut sein, bevor Sie die Schritte auf dieser Seite ausführen. Eine Liste der unterstützten Gastbetriebssysteme finden Sie unter Verifizierte Gastbetriebssysteme für VM Runtime auf GDC.
Informationen dazu, wie virtuelle Maschinen als wesentliche Komponente der verbundenen Plattform von Distributed Cloud dienen, finden Sie unter GKE Enterprise erweitern, um lokale Edge-VMs zu verwalten.
Distributed Cloud Connected Clusters unterstützen Webhooks für virtuelle Maschinen. So kann Distributed Cloud Connected Nutzeranfragen, die an den lokalen Kubernetes API-Server gesendet werden, validieren. Bei abgelehnten Anfragen werden detaillierte Informationen zum Ablehnungsgrund generiert.
VM Runtime on GDC-Unterstützung in Distributed Cloud Connect aktivieren
Standardmäßig ist die Unterstützung für virtuelle Maschinen in VM Runtime on GDC für Distributed Cloud Connected deaktiviert. Führen Sie die Schritte in diesem Abschnitt aus, um die Funktion zu aktivieren. Bei der Anleitung in diesem Abschnitt wird davon ausgegangen, dass Sie einen voll funktionsfähigen Distributed Cloud Connect-Cluster haben.
Ändern Sie die benutzerdefinierte Ressource
VMRuntimemit dem folgenden Inhalt und wenden Sie sie auf Ihren Cluster an:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: # Enable Anthos VM Runtime support enabled: true # vmImageFormat defaults to "raw" if not set vmImageFormat: "raw" # Set node grace period to 55 seconds; haPolicy: defaultRecoveryStrategy: Reschedule nodeHeartbeatInterval: 15s nodeMonitorGracePeriod: 55s
Ändern Sie den Wert des Parameters
vmImageFormatnicht. Distributed Cloud Connected unterstützt keine anderen virtuellen Festplattenformate.Dieser Vorgang dauert in der Regel einige Minuten.
Ändern Sie den Wert des Parameters
vmImageFormatnicht. Distributed Cloud Connected unterstützt keine anderen virtuellen Festplattenformate.Dieser Vorgang dauert in der Regel einige Minuten.
Verwenden Sie den folgenden Befehl, um zu prüfen, ob die benutzerdefinierte Ressource
VMRuntimeauf Ihren Cluster angewendet wurde:kubectl get vmruntime -o yaml
Der Befehl gibt eine Ausgabe ähnlich dem folgenden Beispiel zurück:
- apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime ... spec: enabled: true vmImageFormat: raw status: ... ready: true ...Mit dem folgenden Befehl können Sie prüfen, ob die Unterstützung von VM Runtime on GDC-VMs in Ihrem Cluster aktiviert wurde:
kubectl get pods -n vm-system
Der Befehl gibt eine Ausgabe zurück, die die VM-Laufzeit auf GDC-Subsystem-Pods zeigt, die in Ihrem Cluster ausgeführt werden. Die Ausgabe sieht in etwa so aus:
NAME READY STATUS RESTARTS AGE cdi-apiserver-6c76c6cf7b-n68wn 1/1 Running 0 132m cdi-deployment-f78fd599-vj7tv 1/1 Running 0 132m cdi-operator-65c4df9647-fcb9d 1/1 Running 0 134m cdi-uploadproxy-7765ffb694-6j7bf 1/1 Running 0 132m macvtap-fjfjr 1/1 Running 0 134m virt-api-77dd99dbbb-bs2fb 1/1 Running 0 132m virt-api-77dd99dbbb-pqc27 1/1 Running 0 132m virt-controller-5b44dbbbd7-hc222 1/1 Running 0 132m virt-controller-5b44dbbbd7-p8xkk 1/1 Running 0 132m virt-handler-n76fs 1/1 Running 0 132m virt-operator-86565697d9-fpxqh 2/2 Running 0 134m virt-operator-86565697d9-jnbt7 2/2 Running 0 134m vm-controller-controller-manager-7844d5fb7b-72d8m 2/2 Running 0 134m vmruntime-controller-manager-845649c847-m78r9 2/2 Running 0 175m
virtctl-Verwaltungstool installieren
Sie benötigen das Clienttool virtctl, um virtuelle Maschinen in Ihrem mit Distributed Cloud verbundenen Cluster zu verwalten. So installieren Sie das Tool:
Installieren Sie das
virtctl-CLienttool alskubectl-Plug-in.export VERSION=v0.59.0-anthos1.28-gke.8 gcloud storage cp gs://anthos-baremetal-release/virtctl/${VERSION}/linux-amd64/virtctl /usr/local/bin/virtctl cd /usr/local/bin sudo ln -s virtctl kubectl-virt sudo chmod a+x virtctl cd -
Überprüfen Sie, ob das Plug-in
virtinstalliert ist:kubectl plugin list
Wenn das Plug-in erfolgreich installiert wurde, wird
kubectl-virtin der Ausgabe des Befehls als eines der Plug-ins aufgeführt.
Virtuelle Maschine in Distributed Cloud Connected bereitstellen
In diesem Abschnitt finden Sie Konfigurationsbeispiele, die veranschaulichen, wie Sie eine Linux-VM und eine Windows-VM in einem mit Distributed Cloud verbundenen Cluster mit der Symcloud Storage-Abstraktionsschicht bereitstellen.
Sie können keine virtuelle Maschine in einem mit Distributed Cloud verbundenen Cluster direkt mit dem Befehl kubectl virt erstellen, da Distributed Cloud Connected keinen Dateisystemspeicher für virtuelle Maschinen bietet.
Bevor Sie die Schritte in diesem Abschnitt ausführen, müssen Sie zuerst die Schritte unter Distributed Cloud Connected für Symcloud Storage konfigurieren ausführen. Wenn Sie Symcloud Storage später im Cluster deaktivieren, schlagen virtuelle Maschinen fehl, die für die Verwendung von Symcloud Storage konfiguriert sind.
Linux-VM in Distributed Cloud Connected bereitstellen
Im folgenden Beispiel wird gezeigt, wie Sie eine Linux-VM mit Symcloud Storage bereitstellen, auf der Ubuntu Server 22.04 ausgeführt wird. Die Installationsquelle ist das ISO-Laufwerk-Image von Ubuntu Server 22.04.
Erstellen Sie eine
VirtualMachineDisk-Ressource mit dem folgenden Inhalt für das Installations-Disc-Image von Ubuntu Server und wenden Sie sie dann auf Ihren Cluster an:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: ubuntu-iso-disk spec: size: 20Gi storageClassName: robin diskType: cdrom source: http: url: https://releases.ubuntu.com/jammy/ubuntu-22.04.3-live-server-amd64.iso
Erstellen Sie eine
VirtualMachineDisk-Ressource mit dem folgenden Inhalt für die virtuelle Festplatte der VM und wenden Sie sie dann auf Ihren Cluster an:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-main-disk" spec: size: 200Gi storageClassName: robin
Erstellen Sie eine
VirtualMachineType-Ressource mit dem folgenden Inhalt, der die Konfiguration der virtuellen Maschine angibt, und wenden Sie sie dann auf Ihren Cluster an:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Erstellen Sie eine
VirtualMachine-Ressource mit dem folgenden Inhalt, die die virtuelle Maschine im Cluster instanziiert und startet, und wenden Sie sie dann auf Ihren Cluster an:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: ubu-vm name: ubu-vm # Propagate the virtual machine name to the VMI spec: osType: Linux compute: virtualMachineTypeName: small-2-20 interfaces: - name: eth0 networkName: my-network default: true disks: - virtualMachineDiskName: ubuntu-main-disk boot: true - virtualMachineDiskName: ubuntu-iso-disk
Außerdem müssen Sie die folgenden Funktionen in Ihrem Cluster konfigurieren:
Installieren Sie Ubuntu Server auf der VM:
- Warten Sie, bis der
importer-Pod das Installations-Disc-Image von Ubuntu Server heruntergeladen hat. Prüfen Sie den Status der virtuellen Maschine:
kubectl get gvm VM_NAME
Ersetzen Sie
VM_NAMEdurch den Namen der virtuellen Maschine, in diesem Beispielubu-vm.Melden Sie sich über SSH oder Remote Desktop bei der VM an.
Führen Sie die Installationsschritte für Ubuntu Linux aus.
- Warten Sie, bis der
Bereinigen:
Beenden Sie die virtuelle Maschine:
kubectl virt stop VM_NAME
Ersetzen Sie
VM_NAMEdurch den Namen der virtuellen Maschine, in diesem Beispielubu-vm.Bearbeiten Sie die YAML-Datei der VM, um den Verweis auf das Installations-Disc-Image zu entfernen:
kubectl edit gvm VM_NAME
Ersetzen Sie
VM_NAMEdurch den Namen der virtuellen Maschine, in diesem Beispielubu-vm.Starten Sie die virtuelle Maschine:
kubectl virt start VM_NAME
Ersetzen Sie
VM_NAMEdurch den Namen der virtuellen Maschine, in diesem Beispielubu-vm.Löschen Sie die
VirtualMachineDisk-Ressource für das Installations-Disc-Image:kubectl delete virtualmachinedisk ubuntu-iso-disk
Windows-VM in Distributed Cloud Connected bereitstellen
Das folgende Beispiel veranschaulicht, wie Sie eine Windows-VM mit Symcloud Storage bereitstellen. Die Schritte ähneln dem Bereitstellen einer virtuellen Linux-Maschine. Zusätzlich ist das virtio-Treiber-Laufwerk-Image erforderlich, um Windows zu installieren.
Besorgen Sie sich eine lizenzierte Kopie von Windows und das Image des Installationsmediums.
Erstellen Sie eine
VirtualMachineDisk-Ressource mit dem folgenden Inhalt für das Installations-Disc-Image von Windows und wenden Sie sie dann auf Ihren Cluster an:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-iso-disk namespace: default spec: size: 5Gi storageClassName: robin diskType: cdrom source: http: url: WINDOWS_ISO_URL
Ersetzen Sie
NAT_GATEWAYdurch die vollständige URL zum ISO-Datenträger-Image der Windows-Zielinstallation.Erstellen Sie eine
VirtualMachineDisk-Ressource mit folgendem Inhalt für denvirtio-Treiber und wenden Sie sie dann auf Ihren Cluster an:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-virtio-driver namespace: default spec: size: 1Gi storageClassName: robin diskType: cdrom source: http: url: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
Erstellen Sie eine
VirtualMachineDisk-Ressource mit dem folgenden Inhalt für die virtuelle Festplatte der VM und wenden Sie sie dann auf Ihren Cluster an:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-main-disk namespace: default spec: size: 15Gi storageClassName: robin
Erstellen Sie eine
VirtualMachineType-Ressource mit dem folgenden Inhalt, der die Konfiguration der virtuellen Maschine angibt, und wenden Sie sie dann auf Ihren Cluster an:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Erstellen Sie eine
VirtualMachine-Ressource mit dem folgenden Inhalt, die die virtuelle Maschine im Cluster instanziiert und startet, und wenden Sie sie dann auf Ihren Cluster an:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: win-vm name: win-vm # Propagate the virtual machine name to the VMI spec: osType: Windows compute: virtualMachineTypeName: my-vmt interfaces: - name: eth0 networkName: my-network default: true disks: - virtualMachineDiskName: windows-main-disk boot: true - virtualMachineDiskName: windows-iso-disk - virtualMachineDiskName: win-virtio-driver
Außerdem müssen Sie die folgenden Funktionen in Ihrem Cluster konfigurieren:
Windows auf der VM installieren:
- Warten Sie, bis der
importer-Pod das Windows-Installations-Disc-Image heruntergeladen hat. Prüfen Sie den Status der virtuellen Maschine:
kubectl get gvm VM_NAME
Ersetzen Sie
VM_NAMEdurch den Namen der virtuellen Maschine, in diesem Beispielwin-vm.Schließen Sie die Windows-Installation ab, indem Sie den Schritten unter Verbindung zur Windows-VM herstellen und Betriebssysteminstallation abschließen folgen.
- Warten Sie, bis der
Bereinigen:
Beenden Sie die virtuelle Maschine:
kubectl virt stop VM_NAME
Ersetzen Sie
VM_NAMEdurch den Namen der virtuellen Maschine, in diesem Beispielwin-vm.Führen Sie die Schritte unter ISO-Image und Treiber-CD trennen aus.
Virtuelle Maschinen verwalten, die in Distributed Cloud Connected ausgeführt werden
Eine Anleitung zum Verwalten von virtuellen Maschinen, die auf Distributed Cloud Connected ausgeführt werden, finden Sie in der folgenden Dokumentation zu VM Runtime on GDC:
- Verbindung zu VMs herstellen
- VMs auflisten und ansehen
- Leistungsstatus verwalten
- VM bearbeiten
- VM löschen
- VM-Konsolenlogs ansehen
Wenn Sie virtuelle Maschinen verwalten möchten, die auf Distributed Cloud Connected ausgeführt werden, müssen Sie zuerst die kubectl-Verbindung konfigurieren.
VM Runtime on GDC in Distributed Cloud Connect deaktivieren
Führen Sie die Schritte in diesem Abschnitt aus, um VM Runtime on GDC auf Distributed Cloud Connected zu deaktivieren. Bevor Sie die VM Runtime on GDC in einem Distributed Cloud Connected-Cluster deaktivieren können, müssen Sie alle VMs in Ihrem Distributed Cloud Connected-Cluster beenden und löschen, wie unter VM löschen beschrieben.
Um VM Runtime on GDC on Distributed Cloud Connected zu deaktivieren, ändern Sie die benutzerdefinierte Ressource VMRuntime, indem Sie den Spezifikationsparameter enabled wie folgt auf false festlegen, und wenden Sie sie dann auf Ihren Cluster an:
apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: # Disable Anthos VM Runtime enabled: false # vmImageFormat defaults to "raw" if not set vmImageFormat: "raw"
Nächste Schritte
- Virtuelle Maschinen auf mit Distributed Cloud verbundenen Servern verwalten
- Arbeitslasten in Distributed Cloud Connected bereitstellen
- GPU-Arbeitslasten verwalten
- Zonen verwalten
- Maschinen verwalten
- Cluster verwalten
- Knotenpools verwalten