In diesem Dokument wird gezeigt, wie Sie eine VM-Speicherrichtlinie für einen GKE on VMware-Cluster konfigurieren.
Überblick
In vSphere lässt sich der Speicher mithilfe der speicherrichtlinienbasierten Verwaltung (SPBM) an die Anwendungsanforderungen virtueller Maschinen anpassen. Es bietet ein Speicherrichtlinien-Framework, das als zentrales, einheitliches Steuerfeld für eine breite Palette von Datendiensten und Speicherlösungen dient.
In einem Anthos-Cluster auf VMware können Sie Speicherrichtlinien als Alternative zu Datenspeichern angeben. Sie definieren Speicherrichtlinien basierend auf Ihren Anwendungsanforderungen. Anschließend werden Datenspeicher automatisch von vSphere ausgewählt und verwaltet. Dies kann den Aufwand und Wartungsaufwand reduzieren, der mit dem Speicher verbunden ist.
Übernahme
Sie können eine Speicherrichtlinie für einen Administratorcluster, einen Nutzercluster, einen Knotenpool in einem Nutzercluster oder eine Reihe von Knoten der Steuerungsebene in einem Nutzercluster angeben.
Wenn Sie eine Speicherrichtlinie für einen Nutzercluster angeben, wird die Richtlinie von den Knotenpools im Nutzercluster übernommen. Wenn Sie eine Speicherrichtlinie für einen einzelnen Knotenpool angeben, wird diese Richtlinie anstelle der Speicherrichtlinie auf Clusterebene verwendet. Wenn Sie einen Datenspeicher für einen einzelnen Knotenpool angeben, wird ebenfalls dieser Datenspeicher anstelle der Speicherrichtlinie auf Clusterebene verwendet.
In einem Nutzercluster mit aktivierter Controlplane V2 wird die Speicherrichtlinie auf Clusterebene von den Knoten der Steuerungsebene übernommen. Wenn Sie eine Speicherrichtlinie oder einen Datenspeicher für die Knoten der Steuerungsebene angeben, wird diese Speicherrichtlinie oder dieser Datenspeicher anstelle der Speicherrichtlinie auf Clusterebene verwendet.
Speicherrichtlinien auf Datenspeicher anwenden
Sie können eine Speicherrichtlinie auf einen einzelnen Datenspeicher oder auf mehrere Datenspeicher anwenden. Wenn Sie eine Speicherrichtlinie auf mehrere Datenspeicher anwenden, können die Speicherressourcen für einen Administratorcluster, einen Nutzercluster oder einen Knotenpool auf die Datenspeicher verteilt werden.
Beispiel: Speicherrichtlinie und Nutzercluster erstellen
In diesem Abschnitt finden Sie ein Beispiel für das Erstellen einer Speicherrichtlinie und eines Nutzerclusters. Dieses Beispiel veranschaulicht die Idee, dass eine Speicherrichtlinie auf zwei Datenspeicher angewendet werden kann.
Tags auf Datenspeicher anwenden
Zum Ausführen der Schritte in diesem Beispiel muss Ihre vSphere-Umgebung mindestens zwei Datenspeicher haben.
Der vSphere-Cluster, der die Knoten für Ihren Nutzercluster hostet, muss Zugriff auf die Datenspeicher haben, die Sie für diese Übung verwenden möchten. Es gibt eine Preflight-Prüfung, die dies prüft.
Das vCenter-Konto, das Sie zum Anwenden von Tags verwenden, muss die folgenden vSphere-Tagging-Berechtigungen auf dem vCenter-Server-Root-Konto haben:
- vSphere Tagging.Create vSphere Tag
- vSphere-Tagging. Erstellen Sie vSphere-Tag-Kategorie.
- vSphere-Tagging.Assign oder Unassign vSphere Tag
Weisen Sie im vSphere-Client jedem Datenspeicher, den Sie für diese Übung verwenden möchten, das gleiche Tag zu. Eine Anleitung dazu finden Sie unter Datenspeichern Tags zuweisen.
Weitere Informationen finden Sie unter vSphere-Tags und -Attribute.
Speicherrichtlinie erstellen
Erstellen Sie im vSphere-Client eine VM-Speicherrichtlinie für die Tag-basierte Platzierung. Geben Sie in der Speicherrichtlinie das Tag an, das Sie auf die ausgewählten Datenspeicher angewendet haben. Eine Anleitung dazu finden Sie unter VM-Speicherrichtlinie für Tag-basierte Platzierung erstellen.
Weitere Informationen finden Sie unter VM-Speicherrichtlinie.
Wenn Sie einen vSAN-Datenspeicher verwenden, finden Sie weitere Informationen unter vSAN-Speicherrichtlinie.
Nutzercluster erstellen
In dieser Übung erstellen Sie einen Nutzercluster mit einer Steuerungsebene mit Hochverfügbarkeit, sodass drei Knoten der Steuerungsebene vorhanden sind. Zusätzlich zu den Knoten der Steuerungsebene gibt es sechs Worker-Knoten, drei in einem Knotenpool und drei in einem zweiten Knotenpool. Alle Knoten verwenden statische IP-Adressen.
Folgen Sie zuerst der Anleitung unter Nutzercluster erstellen (ControlPlane V2).
Beim Ausfüllen der Konfigurationsdatei für den Nutzercluster:
Legen Sie den Wert von
vCenter.storagePolicyName
auf den Namen einer vorhandenen Speicherrichtlinie fest. Legen Sie keinen Wert fürvCenter.datastore
fest.Geben Sie zwei Knotenpools an. Geben Sie für den ersten Knotenpool keinen Datenspeicher und keine Speicherrichtlinie an. Legen Sie für den zweiten Knotenpool den Wert von
vsphere.datastore
auf den Namen eines vorhandenen Datenspeichers fest.
Beispiel für eine Clusterkonfigurationsdatei
Hier ist ein Beispiel für eine IP-Blockdatei und einen Teil einer Nutzercluster-Konfigurationsdatei.
user-ipblock.yaml
blocks: - netmask: 255.255.255.0 gateway: 172.16.21.1 ips: - ip: 172.16.21.2 - ip: 172.16.21.3 - ip: 172.16.21.4 - ip: 172.16.21.5 - ip: 172.16.21.6 - ip: 172.16.21.7 - ip: 172.16.21.8
user-cluster-yaml
apiVersion: v1 kind: UserCluster ... vCenter: storagePolicyName: "my-storage-policy" network: hostConfig: dnsServers: - "203.0.113.2" - "198.51.100.2" ntpServers: - "216.239.35.4" ipMode: type: "static" ipBlockFilePath: "user-ipblock.yaml" controlPlaneIPBlock: netmask: "255.255.255.0" gateway: "172.16.21.1" ips: - ip: "172.16.21.9" hostname: "cp-vm-1" - ip: "172.16.21.10" hostname: "cp-vm-2" - ip: "172.16.21.11" hostname: "cp-vm-3" loadBalancer: vips: controlPlaneVIP: "172.16.21.40" ingressVIP: "172.16.21.30" kind: MetalLB metalLB: addressPools: - name: "address-pool-1" addresses: - "172.16.21.30-172.16.21.39" ... enableControlplaneV2: true masterNode: cpus: 4 memoryMB: 8192 replicas: 3 nodePools: - name: "worker-pool-1" enableLoadBalancer: true - name: "worker-pool-2" vSphere: datastore: "my-np2-datastore" ...
Dies sind die wichtigen Punkte aus dem vorherigen Beispiel:
Die statischen IP-Adressen für die Worker-Knoten werden in einer IP-Blockdatei angegeben. Die IP-Blockdatei hat sieben Adressen, obwohl nur sechs Worker-Knoten vorhanden sind. Die zusätzliche IP-Adresse wird während des Clusterupgrades, der Aktualisierung und der automatischen Reparatur benötigt.
Die statischen IP-Adressen für die drei Knoten der Steuerungsebene werden im Abschnitt
network.controlPlaneIPBlock
der Konfigurationsdatei des Nutzerclusters angegeben. Es ist keine zusätzliche IP-Adresse in diesem Block erforderlich.Das Feld
masterNode.replicas
ist auf3
gesetzt, sodass drei Knoten der Steuerungsebene vorhanden sind. UntermasterNode
ist fürvsphere.datastore
odervsphere.storagePolicyName
nichts angegeben. Daher verwenden die Knoten der Steuerungsebene die invCenter.storagePolicyName
angegebene Speicherrichtlinie.Die Konfigurationsdatei des Nutzerclusters enthält einen Wert für
vCenter.storagePolicy
, aber keinen Wert fürvCenter.datastore
. Die angegebene Speicherrichtlinie wird von Knoten in jedem Pool verwendet, der keine eigene Speicherrichtlinie oder keinen eigenen Datenspeicher angibt.Unter
node-pool-1
ist fürvsphere.datastore
odervsphere.storagePolicyName
nichts angegeben. Daher verwenden die Knoten innode-pool-1
die invCenter.storagePolicyName
angegebene Speicherrichtlinie.Unter
node-pool-2
istvsphere.datastore
der Wertmy-np2-datastore
. Daher nutzen die Knoten innode-pool-2
diesen einen Datenspeicher und keine Speicherrichtlinie.
Fahren Sie mit der Erstellung des Nutzerclusters fort, wie unter Nutzercluster erstellen (Controlplane V2) beschrieben.
Nutzercluster in einem vom Administratorcluster getrennten Rechenzentrum erstellen
Ein Nutzercluster kann sich in einem vom Administratorcluster getrennten Rechenzentrum befinden. Die beiden Rechenzentren können dieselbe Instanz von vCenter Server oder unterschiedliche Instanzen von vCenter Server verwenden.
In diesem Abschnitt wird anhand eines Beispiels beschrieben, wie Sie einen Nutzercluster erstellen, der eine separate Instanz von vCenter Server aus dem Administratorcluster verwendet. Da die Nutzer- und Administratorcluster separate Instanzen von vCenter Server verwenden, befinden sie sich ebenfalls in separaten Rechenzentren.
Folgen Sie zuerst der Anleitung unter Nutzercluster erstellen (ControlPlane V2).
Beim Ausfüllen der Konfigurationsdatei für den Nutzercluster:
Legen Sie den Wert von
vCenter.storagePolicyName
auf den Namen einer vorhandenen Speicherrichtlinie fest. Legen Sie keinen Wert fürvCenter.datastore
fest.Geben Sie unter
vCenter
Werte füraddress
,datacenter
,cluster
undresourcePool
an.Geben Sie einen Wert für
network.vCenter.networkName
an.Geben Sie zwei Knotenpools an. Geben Sie für den ersten Knotenpool keinen Datenspeicher und keine Speicherrichtlinie an. Legen Sie für den zweiten Knotenpool den Wert von
vsphere.datastore
auf den Namen eines vorhandenen Datenspeichers fest.
Beispiel für eine Clusterkonfigurationsdatei
Hier ist ein Beispiel für eine IP-Blockdatei und einen Teil einer Nutzercluster-Konfigurationsdatei.
user-ipblock.yaml
blocks: - netmask: 255.255.255.0 gateway: 172.16.21.1 ips: - ip: 172.16.21.2 - ip: 172.16.21.3 - ip: 172.16.21.4 - ip: 172.16.21.5 - ip: 172.16.21.6 - ip: 172.16.21.7 - ip: 172.16.21.8
user-cluster-yaml
apiVersion: v1 kind: UserCluster ... vCenter: address: "my-vcenter-server-2.my-domain.example" datacenter: "my-uc-data-center" cluster: "my-uc-vsphere-cluster" resourcePool: "my-uc-resource-pool" storagePolicyName: "my-storage-policy" network: vCenter: networkName: "my-uc-network" hostConfig: dnsServers: - "203.0.113.2" - "198.51.100.2" ntpServers: - "216.239.35.4" ipMode: type: "static" ipBlockFilePath: "user-ipblock.yaml" controlPlaneIPBlock: netmask: "255.255.255.0" gateway: "172.16.21.1" ips: - ip: "172.16.21.9" hostname: "cp-vm-1" - ip: "172.16.21.10" hostname: "cp-vm-2" - ip: "172.16.21.11" hostname: "cp-vm-3" loadBalancer: vips: controlPlaneVIP: "172.16.21.40" ingressVIP: "172.16.21.30" kind: MetalLB metalLB: addressPools: - name: "address-pool-1" addresses: - "172.16.21.30-172.16.21.39" ... enableControlplaneV2: true masterNode: cpus: 4 memoryMB: 8192 replicas: 3 nodePools: - name: "worker-pool-1" enableLoadBalancer: true - name: "worker-pool-2" vSphere: datastore: "my-np2-datastore" ...
Dies sind die wichtigen Punkte aus dem vorherigen Beispiel:
Die Konfigurationsdatei des Nutzerclusters enthält einen Wert für
vCenter.storagePolicy
, aber keinen Wert fürvCenter.datastore
. Die angegebene Speicherrichtlinie wird von Knoten in jedem Knotenpool verwendet, der keine eigene Speicherrichtlinie oder keinen eigenen Datenspeicher angibt.Unter
vCenter
sind Werte füraddress
,datacenter
,cluster
undresourcePool
angegeben. Daher verwendet der Nutzercluster einen anderen vCenter-Server, ein anderes Rechenzentrum, einen anderen vSphere-Cluster und einen anderen Ressourcenpool aus dem Administratorcluster.Für
network.vCenter.networkName
ist ein Wert angegeben.Das Feld
masterNode.replicas
ist auf3
gesetzt, sodass drei Knoten der Steuerungsebene vorhanden sind. UntermasterNode
ist fürvsphere.datastore
odervsphere.storagePolicyName
nichts angegeben. Daher verwenden die Knoten der Steuerungsebene die invCenter.storagePolicyName
angegebene Speicherrichtlinie.Unter
node-pool-1
ist fürvsphere.datastore
odervsphere.storagePolicyName
nichts angegeben. Daher verwenden die Knoten innode-pool-1
die invCenter.storagePolicyName
angegebene Speicherrichtlinie.Unter
node-pool-2
istvsphere.datastore
der Wertmy-np2-datastore
. Daher nutzen die Knoten innode-pool-2
diesen einen Datenspeicher und keine Speicherrichtlinie.
Fahren Sie mit der Erstellung des Nutzerclusters fort, wie unter Nutzercluster erstellen (Controlplane V2) beschrieben.