Ce document est destiné aux propriétaires d'applications et aux administrateurs de plate-forme qui exécutent Google Distributed Cloud. Ce document explique comment créer et utiliser des classes de stockage pour les VM qui utilisent l'environnement d'exécution des VM sur GDC. Un StorageClass vous permet de définir différentes configurations de stockage à fournir pour les différents besoins de vos VM.
Avant de commencer
Pour suivre ce document, vous devez avoir accès aux clusters Google Distributed Cloud version 1.12.0 (anthosBareMetalVersion: 1.12.0) ou ultérieure. Vous pouvez utiliser n'importe quel type de cluster capable d'exécuter des charges de travail. Si nécessaire, essayez Google Distributed Cloud sur Compute Engine ou consultez la présentation de la création de clusters.
Présentation des classes de stockage
Vous utilisez un StorageClass pour définir le type de stockage que vous mettez à la disposition des VM. Différentes classes de stockage peuvent correspondre à différents types de matériel de stockage, systèmes de fichiers ou niveaux de performances. Vous pouvez créer et utiliser des classes de stockage pour prendre en charge vos charges de travail de calcul dans l'environnement d'exécution de VM sur GDC. Pour plus d'informations, consultez le document Classes de stockage.
Une valeur StorageClass par défaut peut être définie dans la ressource personnalisée pour l'environnement d'exécution de la VM sur GDC. Si vous ne définissez pas de classe spécifique lorsque vous créez une VirtualMachineDisks,, cette StorageClass par défaut est utilisée. Aucun fichier StorageClass initial n'est configuré et défini par défaut. Dans la section suivante, vous allez apprendre à définir ou mettre à jour cette StorageClass par défaut.
Définir ou mettre à jour la StorageClass par défaut
Au départ, Google Distributed Cloud avec l'environnement d'exécution de VM sur GDC n'a pas de StorageClass par défaut configuré. Pour créer un VirtualMachineDisk sans spécifier de StorageClass, vous devez d'abord créer un StorageClass puis le définir comme valeur par défaut.
Si vous souhaitez définir ou mettre à jour le StorageClass par défaut utilisé par l'environnement d'exécution des VM sur GDC lorsque vous créez un VirtualMachineDisk, mettez à jour la ressource personnalisée VMRuntime.
Modifiez la ressource personnalisée
VMRuntime:kubectl edit vmruntimeAjoutez ou mettez à jour la section
spec.storagequi spécifie la valeurStorageClasspar défaut à utiliser :apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true storage: defaultStorageClass: STORAGE_CLASS_NAME ...Modifiez
STORAGE_CLASS_NAMEavec le nom de la valeur par défautStorageClassque vous souhaitez utiliser. Si vous devez d'abord créer unStorageClass, consultez la page Créer unStorageClass.Enregistrez et fermez la ressource personnalisée
VMRuntimedans votre éditeur.Le
StorageClassque vous avez spécifié est désormais utilisé lorsque vous créez un disque de machine virtuelle sans spécifier deStorageClass. La section suivante explique comment créer un disque et utiliser une ressource StorageClass spécifique.Les ressources
VirtualMachineDiskexistantes ne sont pas mises à jour pour utiliser le fichierStorageClassnouvellement spécifié.
Utiliser une ressource StorageClass spécifique
Si vous ne souhaitez pas utiliser la valeur StorageClass par défaut lorsque vous créez une VirtualMachineDisk, utilisez le champ storageClassName pour spécifier une autre StorageClass.
Pour utiliser une StorageClass spécifique et déjà définie lorsque vous créez un VirtualMachineDisk, procédez comme suit :
Créez un fichier manifeste
VirtualMachineDisk, tel quemy-disk.yaml, dans l'éditeur de votre choix :nano my-disk.yamlCopiez et collez le fichier manifeste YAML suivant :
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi storageClassName: STORAGE_CLASS_NAMERemplacez les valeurs suivantes :
DISK_NAME: nom de votre disque.STORAGE_CLASS_NAME:StorageClassà utiliser pour votre disque.StorageClassdoit déjà exister. Si vous devez d'abord créer uneStorageClass, consultez la page Créer une ressource StorageClass.
Enregistrez et fermez le fichier manifeste de disque dans votre éditeur.
Créez le disque en utilisant
kubectl:kubectl apply -f my-disk.yaml
Configurer des profils de stockage
Les profils de stockage fournissent des options de configuration supplémentaires associées à chaque StorageClass. Ces options de configuration incluent le mode d'accès et le mode de volume à utiliser pour les VirtualMachineDisks qui utilisent la StorageClass.
Sans profil de stockage configuré, les disques utilisent par défaut le mode d'accès ReadWriteOnce. Ce mode d'accès n'est pas suffisant pour les charges de travail de production, car des fonctionnalités telles que la migration à chaud ne fonctionnent pas. Le mode de volume par défaut sans profil de stockage configuré est Filesystem.
L'environnement d'exécution de VM sur GDC génère automatiquement un profil de stockage pour chaque StorageClass d'un cluster. Le profil de stockage porte le même nom que l'identifiant StorageClass associé. L'exemple de résultat suivant montre que le cluster comporte quatre classes de stockage ainsi que des profils associés :
$ kubectl get storageprofiles
NAME AGE
anthos-system 11d
node-disk 11d
standard 11d
nfs 11d
Pour modifier un profil de stockage et changer le mode d'accès ou le volume, procédez comme suit :
Modifiez la ressource personnalisée
StorageProfileque vous souhaitez éditer :kubectl edit storageprofile STORAGE_PROFILE_NAMERemplacez
STORAGE_PROFILE_NAMEpar leStorageProfileque vous souhaitez modifier.Ajoutez une seule entrée à la liste
spec.claimPropertySetsdu fichierStorageProfile:apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: nfs spec: claimPropertySets: - accessModes: - ACCESS_MODE volumeMode: VOLUME_MODELes fichiers
accessModeetvolumeModeutilisent les composants Kubernetes sous-jacents. Les valeurs que vous définissez dépendent du pilote de stockage que vous utilisez. Remplacez les valeurs suivantes en fonction du stockage que vous utilisez :ACCESS_MODE: mode d'accès que vous souhaitez utiliser. Si compatible avec laStorageClassassociée, le mode d'accès préféré estReadWriteMany.- Les valeurs acceptables incluent
ReadWriteOnce,ReadOnlyMany,ReadWriteMany, etReadWriteOncePod. Si aucune valeur n'est spécifiée,ReadWriteOnceest utilisé en se basant sur les valeurs par défaut de l'environnement d'exécution des VM sur GDC. Pour plus d'informations, consultez la section Modes d'accès.
- Les valeurs acceptables incluent
VOLUME_MODE: mode de volume que vous souhaitez utiliser.- Les valeurs acceptables incluent
FilesystemetBlock. Si aucune valeur n'est spécifiée,Filesystemest utilisé en fonction des valeurs par défaut de Kubernetes. Pour plus d'informations, consultez la section Modes de volume.
- Les valeurs acceptables incluent
Enregistrez et fermez la ressource personnalisée
StorageProfiledans votre éditeur.Les paramètres de profil de stockage que vous avez définis sont utilisés lorsque vous créez des disques virtuels. Les ressources
VirtualMachineDiskexistantes ne sont pas mises à jour pour utiliser les paramètres de profil de stockage définis.
Étape suivante
- Créez et gérez des disques dans Google Distributed Cloud.
Créer et utiliser des identifiants pour importer des images à partir de Cloud Storage