Dieses Dokument richtet sich an Anwendungsinhaber, die Anthos-Cluster auf Bare Metal ausführen. In diesem Dokument erfahren Sie, wie Sie Laufwerkressourcen für virtuelle Maschinen (VMs) erstellen und verwalten, die die Anthos-VM-Laufzeit verwenden.
Hinweis
Um dieses Dokument abzuschließen, benötigen Sie Zugriff auf die folgenden Ressourcen:
- Zugriff auf Anthos-Cluster on 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. - Das
virtctl
-Clienttool, das als Plug-in fürkubectl
installiert wurde. Installieren Sie bei Bedarf das virtctl-Clienttool.
VM mit einem angehängten Laufwerk erstellen
Sie können beim Erstellen einer VM ein vorhandenes Start- oder Datenlaufwerk hinzufügen, ein Laufwerk aus einem Image erstellen (einschließlich des Bootlaufwerks) oder ein leeres Laufwerk erstellen.
Leeres Laufwerk
In diesem Szenario erstellen Sie ein leeres Laufwerk und hängen es an die VM an. In diesem Szenario können Sie ein Datenlaufwerk zum Speichern von Anwendungsdaten erstellen.
Erstellen Sie ein Manifest, das eine
VirtualMachineDisk
undVirtualMachine
definiert, z. B. my-vm.yaml, in dem Editor Ihrer Wahl:nano my-vm.yaml
Kopieren Sie die folgende YAML-Definition und fügen Sie sie ein:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi --- apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: interfaces: - name: eth0 networkName: pod-network default: true disks: - boot: true virtualMachineDiskName: VM_NAME-boot-dv - virtualMachineDiskName: DISK_NAME
In diesem Beispiel wird ein leeres Laufwerk
10Gi
(10 Gibibyte) mit dem NamenDISK_NAME
erstellt. Im Abschnittspec.disks
der VM müssen Sie auch ein Bootlaufwerk anhängen, z. B. von einem Image, wie im nächsten Abschnitt gezeigt.Speichern und schließen Sie die Manifestdatei in Ihrem Editor.
Erstellen Sie die VM und das Laufwerk mit
kubectl
:kubectl apply -f my-vm.yaml
Image
In diesem Szenario erstellen Sie ein Laufwerk aus einem Image und hängen es an die VM an. In diesem Szenario können Sie ein Bootlaufwerk erstellen, z. B. aus einem Image. Sie können auch Datenlaufwerke aus einem Image erstellen und anhängen.
Erstellen Sie ein Manifest, das eine
VirtualMachineDisk
undVirtualMachine
definiert, z. B. my-vm.yaml, in dem Editor Ihrer Wahl:nano my-vm.yaml
Kopieren Sie die folgende YAML-Definition und fügen Sie sie ein:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: VM_NAME-boot-dv spec: size: 20Gi source: http: url: https://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-amd64.img --- apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: interfaces: - name: eth0 networkName: pod-network default: true disks: - boot: true virtualMachineDiskName: VM_NAME-boot-dv
In diesem Beispiel wird ein
20Gi
-Laufwerk (20 Gibibyte) mit dem NamenVM_NAME-boot-dv
mithilfe eines öffentlichen Ubuntu-Images erstellt. Im Abschnittspec.disks
der VM wird das Laufwerk aufboot: true
gesetzt.Speichern und schließen Sie das Manifest in Ihrem Editor.
Erstellen Sie die VM und das Laufwerk mit
kubectl
:kubectl apply -f my-vm.yaml
Vorhandenes Laufwerk
In diesem Szenario erstellen Sie ein leeres Laufwerk und hängen es an die VM an. In diesem Szenario können Sie ein Datenlaufwerk zum Speichern von Anwendungsdaten erstellen.
Erstellen Sie in einem Editor Ihrer Wahl ein
VirtualMachine
-Manifest wie my-vm.yaml:nano my-vm.yaml
Kopieren Sie die folgende YAML-Definition und fügen Sie sie ein:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: interfaces: - name: eth0 networkName: pod-network default: true disks: - boot: true virtualMachineDiskName: VM_NAME-boot-dv - virtualMachineDiskName: EXISTING_DISK_NAME
In diesem Beispiel wird ein vorhandenes Laufwerk mit dem Namen
EXISTING_DISK_NAME
angehängt.Im Abschnitt
spec.disks
der VM müssen Sie auch ein Bootlaufwerk anhängen, z. B. von einem Image, wie im vorherigen Abschnitt gezeigt.Speichern und schließen Sie das VM-Manifest in Ihrem Editor.
Erstellen Sie die VM mit
kubectl
:kubectl apply -f my-vm.yaml
Laufwerke erstellen und an vorhandene VM anhängen
Wenn Sie bereits eine VM haben, können Sie Laufwerke erstellen und anhängen, um die Anwendungslebenszyklen zu unterstützen. Die VM muss deaktiviert sein, bevor Sie ein Laufwerk anhängen.
Leeres Laufwerk
In diesem Szenario erstellen Sie ein leeres Laufwerk und hängen es an die VM an. In diesem Szenario können Sie ein Datenlaufwerk zum Speichern von Anwendungsdaten erstellen.
Verwenden Sie
kubectl
, um die VM bei Bedarf zu beenden:kubectl virt stop vm VM_NAME
Ersetzen Sie
VM_NAME
durch den Namen der VM, die Sie stoppen möchten.Bearbeiten Sie Ihre vorhandene VM-Ressource, z. B.
my-vm
:kubectl edit gvm VM_NAME
Aktualisieren Sie das YAML-Manifest
VirtualMachine
, um oben einen AbschnittVirtualMachineDisk
hinzuzufügen, und hängen Sie dann das Laufwerk am Ende des Abschnittsspec.disks
der VM an:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi --- apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: interfaces: - name: eth0 networkName: pod-network default: true disks: - boot: true virtualMachineDiskName: VM_NAME-boot-dv - virtualMachineDiskName: DISK_NAME
In diesem Beispiel wird ein leeres Laufwerk
10Gi
(10 Gibibyte) mit dem NamenDISK_NAME
erstellt.Speichern und schließen Sie das aktualisierte VM-Manifest in Ihrem Editor.
Starten Sie die VM mit
kubectl
:kubectl virt start vm VM_NAME
Ersetzen Sie
VM_NAME
durch den Namen der VM, die Sie starten möchten.
Image
In diesem Szenario erstellen Sie ein Laufwerk aus einem Quell-Image und hängen es an die VM an.
Verwenden Sie
kubectl
, um die VM bei Bedarf zu beenden:kubectl virt stop vm VM_NAME
Ersetzen Sie
VM_NAME
durch den Namen der VM, die Sie stoppen möchten.Bearbeiten Sie Ihre vorhandene VM-Ressource, z. B.
my-vm
:kubectl edit gvm VM_NAME
Aktualisieren Sie das
VirtualMachine
-Manifest, um oben einen AbschnittVirtualMachineDisk
hinzuzufügen. Hängen Sie dann das Laufwerk am Ende des Abschnittsspec.disks
der VM an:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi source: http: url: http://example.com/my-disk-img.qcow2 --- apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: interfaces: - name: eth0 networkName: pod-network default: true disks: - boot: true virtualMachineDiskName: VM_NAME-boot-dv - virtualMachineDiskName: DISK_NAME
In diesem Beispiel wird aus der HTTP-Quelle
http://example.com/my-disk-img.qcow2
das Laufwerk10Gi
(10 Gibibyte) mit dem NamenDISK_NAME
erstellt.Speichern und schließen Sie das aktualisierte VM-Manifest in Ihrem Editor.
Starten Sie die VM mit
kubectl
:kubectl virt start vm VM_NAME
Ersetzen Sie
VM_NAME
durch den Namen der VM, die Sie starten möchten.
Laufwerk erstellen
In diesem Szenario erstellen Sie die Laufwerkressourcen getrennt von den VM-Ressourcen. In diesem Szenario können Sie Laufwerke im Voraus erstellen und dann nach Bedarf an VMs anhängen.
Leeres Laufwerk
Führen Sie die folgenden Schritte aus, um ein leeres Laufwerk zu erstellen.
Erstellen Sie in einem Editor Ihrer Wahl ein
VirtualMachineDisk
-Manifest wie z. B. my-disk.yaml:nano my-disk.yaml
Kopieren Sie die folgende YAML-Definition und fügen Sie sie ein:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi
In diesem Beispiel wird ein leeres Laufwerk
10Gi
(10 Gibibyte) mit dem NamenDISK_NAME
erstellt.Speichern und schließen Sie das Laufwerkmanifest in Ihrem Editor.
Erstellen Sie das Laufwerk mit
kubectl
:kubectl apply -f my-disk.yaml
Image
Führen Sie die folgenden Schritte aus, um ein Laufwerk aus einem Image zu erstellen.
Erstellen Sie in einem Editor Ihrer Wahl ein
VirtualMachineDisk
-Manifest wie z. B. my-disk.yaml:nano my-disk.yaml
Kopieren Sie die folgende YAML-Definition und fügen Sie sie ein:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 20Gi source: http: url: https://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-amd64.img
In diesem Beispiel wird ein
20Gi
-Laufwerk (20 Gibibyte) mit dem NamenDISK_NAME
mit einem öffentlichen Ubuntu-Image erstellt.Speichern und schließen Sie das Laufwerkmanifest in Ihrem Editor.
Erstellen Sie das Laufwerk mit
kubectl
:kubectl apply -f my-disk.yaml
Nächste Schritte
- Anmeldedaten erstellen und verwenden, um Images aus Cloud Storage zu importieren.
- Speicherklassen in Anthos-Cluster auf Bare-Metal erstellen und verwenden
- Wenn Sie keine VMs oder deren virtuellen Laufwerkressourcen mehr benötigen, löschen Sie eine VM in Anthos-Clustern auf Bare-Metal.