Dieses Dokument richtet sich an Anwendungsinhaber und Plattformadministratoren, die GKE on Bare Metal ausführen. In diesem Dokument erfahren Sie, wie Sie Storage-Klassen für VMs erstellen und verwenden, die die VM-Laufzeit in Google Distributed Cloud verwenden. Mit einer StorageClass
können Sie verschiedene Speicherkonfigurationen definieren, um die verschiedenen Anforderungen Ihrer VMs zu erfüllen.
Hinweise
Zum Abschließen dieses Dokuments benötigen Sie Zugriff auf den Cluster von GKE on Bare Metal ab Version 1.12.0 (anthosBareMetalVersion: 1.12.0
). Sie können einen beliebigen Clustertyp verwenden, der Arbeitslasten ausführen kann. Testen Sie bei Bedarf GKE on Bare Metal in Compute Engine oder sehen Sie sich die Übersicht über die Clustererstellung an.
Speicherklassen – Übersicht
Mit einer StorageClass
definieren Sie den Speichertyp, den Sie für VMs bereitstellen. Unterschiedliche Speicherklassen können einer unterschiedlichen Arten von Speicherhardware, Dateisystem oder Leistung zugeordnet werden. Sie können Speicherklassen erstellen und verwenden, um Ihre Computing-Arbeitslasten in der VM-Laufzeit in Google Distributed Cloud zu unterstützen. Weitere Informationen finden Sie unter Speicherklassen.
Ein Standard-StorageClass
kann in der benutzerdefinierten Ressource für die VM-Laufzeit in Google Distributed Cloud definiert werden. Wenn Sie beim Erstellen einer VirtualMachineDisks,
keine bestimmte Klasse definieren, wird die standardmäßige StorageClass
verwendet. Anfänglich ist keine StorageClass
konfiguriert und als Standard festgelegt. Im folgenden Abschnitt erfahren Sie, wie Sie diese Standard-StorageClass festlegen oder aktualisieren.
Standard-StorageClass festlegen oder aktualisieren
Zu Beginn ist für GKE on Bare Metal mit der VM-Laufzeit in Google Distributed Cloud kein Standard-StorageClass
konfiguriert. Wenn Sie ein VirtualMachineDisk
erstellen möchten, ohne eine StorageClass
anzugeben, müssen Sie zuerst eine StorageClass
erstellen und diese dann als Standard festlegen.
Wenn Sie die Standard-StorageClass
, die die VM-Laufzeit in Google Distributed Cloud beim Erstellen einer VirtualMachineDisk
verwendet, anfangs festlegen oder aktualisieren möchten, aktualisieren Sie die benutzerdefinierte Ressource VMRuntime
.
Bearbeiten Sie die benutzerdefinierte
VMRuntime
-Ressource:kubectl edit vmruntime
Fügen Sie den Abschnitt
spec.storage
hinzu, der die zu verwendende Standard-StorageClass
angibt, oder aktualisieren Sie ihn:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true storage: defaultStorageClass: STORAGE_CLASS_NAME ...
Bearbeiten Sie
STORAGE_CLASS_NAME
mit dem Namen der Standard-StorageClass
, die Sie verwenden möchten. Wenn Sie zuerst eineStorageClass
erstellen müssen, finden Sie entsprechende Informationen unterStorageClass
erstellen.Speichern und schließen Sie die benutzerdefinierte
VMRuntime
-Ressource in Ihrem Editor.Die von Ihnen angegebene
StorageClass
wird jetzt verwendet, wenn Sie ein VM-Laufwerk erstellen und keineStorageClass
angeben. Im folgenden Abschnitt erfahren Sie, wie Sie ein Laufwerk erstellen und eine bestimmte StorageClass verwenden.Vorhandene
VirtualMachineDisk
-Ressourcen werden nicht auf die Verwendung der neu angegebenenStorageClass
aktualisiert.
Bestimmte StorageClass verwenden
Wenn Sie beim Erstellen einer VirtualMachineDisk
nicht die Standard-StorageClass
verwenden möchten, geben Sie im Feld storageClassName
eine andere StorageClass
an.
Führen Sie die folgenden Schritte aus, um beim Erstellen einer VirtualMachineDisk
eine bestimmte, bereits definierte StorageClass
zu verwenden:
Erstellen Sie in einem Editor Ihrer Wahl ein
VirtualMachineDisk
-Manifest wiemy-disk.yaml
.nano my-disk.yaml
Kopieren Sie das folgende YAML-Manifest und fügen Sie es ein:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi storageClassName: STORAGE_CLASS_NAME
Ersetzen Sie die folgenden Werte:
DISK_NAME
: der Name des Laufwerks.STORAGE_CLASS_NAME
:StorageClass
, die für das Laufwerk verwendet werden soll. DieseStorageClass
muss bereits vorhanden sein. Wenn Sie zuerst eineStorageClass
erstellen müssen, lesen Sie die Informationen unter StorageClass erstellen.
Speichern und schließen Sie das Laufwerkmanifest in Ihrem Editor.
Erstellen Sie das Laufwerk mit
kubectl
:kubectl apply -f my-disk.yaml
Speicherprofile konfigurieren
Speicherprofile bieten zusätzliche Konfigurationsoptionen, die mit jeder StorageClass
verknüpft sind. Diese Konfigurationsoptionen umfassen den Zugriffsmodus und den Volume-Modus, die für VirtualMachineDisks
verwendet werden sollen, die die StorageClass
verwenden.
Ohne konfiguriertes Speicherprofil ist die Standardeinstellung für Laufwerke der Zugriffsmodus ReadWriteOnce
. Dieser Zugriffsmodus ist für Produktionsarbeitslasten nicht ausreichend, da Features wie die Live-Migration nicht funktionieren. Der Standard-Volume-Modus ohne konfiguriertes Speicherprofil ist Filesystem
.
Die VM-Laufzeit in Google Distributed Cloud generiert automatisch ein Speicherprofil für jede StorageClass
in einem Cluster. Das Speicherprofil hat den gleichen Namen wie die zugehörige StorageClass
. Die folgende Beispielausgabe zeigt, dass der Cluster vier Speicherklassen und zugehörige Profile hat:
$ kubectl get storageprofiles
NAME AGE
anthos-system 11d
node-disk 11d
standard 11d
nfs 11d
Führen Sie folgende Schritte aus, um ein Speicherprofil zu bearbeiten und Zugriffsmodus oder Volume-Modus zu ändern:
Bereiten Sie die benutzerdefinierte
StorageProfile
-Ressource für die Bearbeitung vor:kubectl edit storageprofile STORAGE_PROFILE_NAME
Ersetzen Sie
STORAGE_PROFILE_NAME
durch dasStorageProfile
, das Sie bearbeiten möchten.Fügen Sie der Liste
spec.claimPropertySets
desStorageProfile
einen einzelnen Eintrag hinzu:apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: nfs spec: claimPropertySets: - accessModes: - ACCESS_MODE volumeMode: VOLUME_MODE
accessMode
undvolumeMode
verwenden die zugrunde liegenden Kubernetes-Komponenten. Die festgelegten Werte hängen vom verwendeten Speichertreiber ab. Ersetzen Sie die folgenden Werte für den verwendeten Speicher:ACCESS_MODE
: der Zugriffsmodus, den Sie verwenden möchten. Wenn dies von der verbundenenStorageClass
unterstützt wird, ist der bevorzugte ZugriffsmodusReadWriteMany
.- Folgende Werte sind zulässig:
ReadWriteOnce
,ReadOnlyMany
,ReadWriteMany
undReadWriteOncePod
. Wenn nicht angegeben, wirdReadWriteOnce
basierend auf den Standardeinstellungen für die VM-Laufzeit in Google Distributed Cloud verwendet. Weitere Informationen finden Sie unter Zugriffsmodi.
- Folgende Werte sind zulässig:
VOLUME_MODE
: der zu verwendende Volume-Modus.- Folgende Werte sind zulässig:
Filesystem
undBlock
. Wenn nicht angegeben, wirdFilesystem
basierend auf den Kubernetes-Standardeinstellungen verwendet. Weitere Informationen finden Sie unter Volume-Modi.
- Folgende Werte sind zulässig:
Speichern und schließen Sie die benutzerdefinierte
StorageProfile
-Ressource in Ihrem Editor.Die von Ihnen definierten Speicherprofileinstellungen werden nun verwendet, wenn Sie virtuelle Laufwerke erstellen. Vorhandene
VirtualMachineDisk
-Ressourcen werden nicht auf die definierten Speicherprofileinstellungen aktualisiert.
Nächste Schritte
- Laufwerke in GKE on Bare Metal erstellen und verwalten
Anmeldedaten erstellen und verwenden, um Images aus Cloud Storage zu importieren.