Ce document explique comment configurer une politique de stockage des VM pour un cluster Google Distributed Cloud.
Présentation
Dans vSphere, la gestion basée sur les règles de stockage (SPBM) permet d'aligner le stockage sur les exigences des applications des machines virtuelles. Il fournit un framework de règles de stockage qui sert de panneau de contrôle unifié pour un large éventail de services de données et de solutions de stockage.
Dans Google Distributed Cloud, vous pouvez spécifier des règles de stockage au lieu de datastores. Vous définissez des règles de stockage en fonction des exigences de votre application, puis vSphere sélectionne et gère automatiquement les datastores. Cela peut réduire les coûts et la maintenance associés au stockage.
Héritage
Vous pouvez spécifier une stratégie de stockage pour un cluster d'utilisateur, un pool de nœuds dans un cluster d'utilisateur ou un ensemble de nœuds du plan de contrôle dans un cluster d'utilisateur. Vous pouvez également spécifier une stratégie de stockage pour un cluster d'administrateur, à condition que le cluster d'administrateur dispose d'un plan de contrôle à haute disponibilité et ne comporte aucun pool de nœuds Windows.
Si vous spécifiez une stratégie de stockage pour un cluster d'utilisateur, elle est héritée par les pools de nœuds du cluster d'utilisateur. Si vous spécifiez une stratégie de stockage pour un pool de nœuds individuel, cette stratégie est utilisée à la place de la stratégie de stockage au niveau du cluster. De même, si vous spécifiez un datastore pour un pool de nœuds individuel, ce datastore est utilisé à la place de la stratégie de stockage au niveau du cluster.
Dans un cluster d'utilisateur pour lequel Controlplane V2 est activé, la stratégie de stockage au niveau du cluster est héritée par les nœuds du plan de contrôle. Si vous spécifiez une règle de stockage ou un datastore pour les nœuds du plan de contrôle, cette règle de stockage ou ce datastore est utilisé à la place de la règle de stockage au niveau du cluster.
Appliquer des règles de stockage aux datastores
Vous pouvez appliquer une stratégie de stockage à un seul datastore ou à plusieurs datastores. Si vous appliquez une stratégie de stockage à plusieurs datastores, les ressources de stockage d'un cluster d'administration, d'un cluster d'utilisateur ou d'un pool de nœuds peuvent être réparties entre les datastores.
Exemple: Créer une règle de stockage et un cluster d'utilisateur
Cette section présente un exemple de création d'une règle de stockage et d'un cluster d'utilisateurs. Cet exemple illustre l'idée qu'une stratégie de stockage peut s'appliquer à deux datastores.
Appliquer des tags à des datastores
Pour suivre les étapes de cet exemple, votre environnement vSphere doit comporter au moins deux datastores.
Le cluster vSphere qui hébergera les nœuds de votre cluster d'utilisateur doit avoir accès aux datastores que vous prévoyez d'utiliser pour cet exercice. Une vérification préliminaire le vérifie.
Le compte vCenter que vous utilisez pour appliquer des tags doit disposer des droits d'ajout de tags vSphere suivants sur le serveur vCenter racine:
- vSphere Tagging.Create vSphere Tag
- vSphere Tagging.Create vSphere Tag Category
- "vSphere Tagging.Assign" ou "Unassign vSphere Tag"
Dans le client vSphere, attribuez la même balise à chacun des datastores que vous avez choisis d'utiliser pour cet exercice. Pour obtenir des instructions, consultez la section Attribuer des tags aux datastores.
Pour en savoir plus, consultez la section Tags et attributs vSphere.
Créer une stratégie de stockage
Dans le client vSphere, créez une stratégie de stockage de VM pour l'emplacement basé sur les tags. Dans la stratégie de stockage, spécifiez le tag que vous avez appliqué aux datastores de votre choix. Pour obtenir des instructions, consultez la section Créer une règle de stockage de VM pour l'emplacement basé sur les balises.
Pour en savoir plus, consultez la section Règle de stockage des VM.
Si vous utilisez un datastore vSAN, consultez la section Règle de stockage vSAN.
Créer un cluster d'utilisateur
Dans cet exercice, vous allez créer un cluster utilisateur avec un plan de contrôle à haute disponibilité. Il comporte donc trois nœuds de plan de contrôle. En plus des nœuds de plan de contrôle, il existe six nœuds de calcul, trois dans un pool de nœuds et trois dans un deuxième pool de nœuds. Tous les nœuds utilisent des adresses IP statiques.
Commencez par suivre les instructions de la section Créer un cluster d'utilisateur.
Lorsque vous remplissez le fichier de configuration de votre cluster d'utilisateur :
Définissez la valeur de
vCenter.storagePolicyName
sur le nom d'une stratégie de stockage existante. Ne définissez pas de valeur pourvCenter.datastore
.Spécifiez deux pools de nœuds. Pour le premier pool de nœuds, ne spécifiez pas de datastore ni de stratégie de stockage. Pour le deuxième pool de nœuds, définissez la valeur de
vsphere.datastore
sur le nom d'un datastore existant.
Exemple de fichier de configuration de cluster
Voici un exemple de fichier de bloc d'adresses IP et de partie d'un fichier de configuration de cluster d'utilisateur.
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" ...
Voici les points importants à comprendre dans l'exemple précédent :
Les adresses IP statiques des nœuds de calcul sont spécifiées dans un fichier de bloc d'adresses IP. Le fichier de blocs d'adresses IP comporte sept adresses, même s'il n'y a que six nœuds de calcul. L'adresse IP supplémentaire est nécessaire lors de la mise à niveau, de la mise à jour et de la réparation automatique du cluster.
Les adresses IP statiques des trois nœuds de plan de contrôle sont spécifiées dans la section
network.controlPlaneIPBlock
du fichier de configuration du cluster d'utilisateur. Aucune adresse IP supplémentaire n'est nécessaire dans ce bloc.Le champ
masterNode.replicas
est défini sur3
. Il y aura donc trois nœuds de plan de contrôle. SousmasterNode
, rien n'est spécifié pourvsphere.datastore
ouvsphere.storagePolicyName
. Ainsi, les nœuds du plan de contrôle utiliseront la stratégie de stockage spécifiée dansvCenter.storagePolicyName
.Le fichier de configuration du cluster d'utilisateur inclut une valeur pour
vCenter.storagePolicy
, mais pas pourvCenter.datastore
. La stratégie de stockage spécifiée sera utilisée par les nœuds de tout pool qui ne spécifie pas sa propre stratégie de stockage ni son propre datastore.Sous
node-pool-1
, rien n'est spécifié pourvsphere.datastore
ouvsphere.storagePolicyName
. Ainsi, les nœuds denode-pool-1
utiliseront la stratégie de stockage spécifiée dansvCenter.storagePolicyName
.Sous
node-pool-2
, la valeur devsphere.datastore
estmy-np2-datastore
. Par conséquent, les nœuds denode-pool-2
utilisent ce datastore unique et n'utilisent pas de stratégie de stockage.
Poursuivez la création de votre cluster d'utilisateur comme décrit dans la section Créer un cluster d'utilisateur.
Créer un cluster d'utilisateur dans un centre de données distinct de celui de votre cluster d'administrateur
Un cluster d'utilisateur peut se trouver dans un centre de données distinct de celui du cluster d'administrateur. Les deux centres de données peuvent utiliser la même instance de vCenter Server ou des instances différentes de vCenter Server.
Cette section présente un exemple de création d'un cluster d'utilisateur qui utilise une instance de vCenter Server distincte de celle du cluster d'administrateur. Étant donné que les clusters utilisateur et administrateur utilisent des instances distinctes de vCenter Server, ils se trouvent également dans des centres de données distincts.
Commencez par suivre les instructions de la section Créer un cluster d'utilisateur.
Lorsque vous remplissez le fichier de configuration de votre cluster d'utilisateur :
Définissez la valeur de
vCenter.storagePolicyName
sur le nom d'une stratégie de stockage existante. Ne définissez pas de valeur pourvCenter.datastore
.Sous
vCenter
, spécifiez des valeurs pouraddress
,datacenter
,cluster
etresourcePool
.Spécifiez une valeur pour
network.vCenter.networkName
.Spécifiez deux pools de nœuds. Pour le premier pool de nœuds, ne spécifiez pas de datastore ni de stratégie de stockage. Pour le deuxième pool de nœuds, définissez la valeur de
vsphere.datastore
sur le nom d'un datastore existant.
Exemple de fichier de configuration de cluster
Voici un exemple de fichier de bloc d'adresses IP et de partie d'un fichier de configuration de cluster d'utilisateur.
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" ...
Voici les points importants à comprendre dans l'exemple précédent :
Le fichier de configuration du cluster d'utilisateur inclut une valeur pour
vCenter.storagePolicy
, mais pas pourvCenter.datastore
. La stratégie de stockage spécifiée sera utilisée par les nœuds de tout pool de nœuds qui ne spécifie pas sa propre stratégie de stockage ni son propre datastore.Sous
vCenter
, des valeurs sont spécifiées pouraddress
,datacenter
,cluster
etresourcePool
. Le cluster d'utilisateur utilisera donc un vCenter Server, un centre de données, un cluster vSphere et un pool de ressources différents de ceux du cluster d'administrateur.Une valeur est spécifiée pour
network.vCenter.networkName
.Le champ
masterNode.replicas
est défini sur3
. Il y aura donc trois nœuds de plan de contrôle. SousmasterNode
, rien n'est spécifié pourvsphere.datastore
ouvsphere.storagePolicyName
. Ainsi, les nœuds du plan de contrôle utiliseront la stratégie de stockage spécifiée dansvCenter.storagePolicyName
.Sous
node-pool-1
, rien n'est spécifié pourvsphere.datastore
ouvsphere.storagePolicyName
. Ainsi, les nœuds denode-pool-1
utiliseront la stratégie de stockage spécifiée dansvCenter.storagePolicyName
.Sous
node-pool-2
, la valeur devsphere.datastore
estmy-np2-datastore
. Par conséquent, les nœuds denode-pool-2
utilisent ce datastore unique et n'utilisent pas de stratégie de stockage.
Poursuivez la création de votre cluster d'utilisateur comme décrit dans la section Créer un cluster d'utilisateur.