Les fichiers manifestes suivants décrivent les champs de pilote CSI compatibles dans les ressources StorageClass et PersistentVolume.
Classe de stockage
Le fichier manifeste suivant inclut tous les champs compatibles de la classe Storage.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: parallelstore-csi-sc
provisioner: parallelstore.csi.storage.gke.io
parameters:
network: VPC_NETWORK_NAME # optional
labels: KEY: VALUE # optional
description: DESCRIPTION # optional
reserved-ip-range: IP_RANGE_NAME # optional
file-stripe-level: FILE_STRIPE_LEVEL # optional
directory-stripe-level: DIRECTORY_STRIPE_LEVEL # optional
mountLocality: MOUNT_LOCALITY # optional
dfuseCPURequest: DFUSE_CPU_REQUEST # optional
dfuseMemoryRequest: DFUSE_MEMORY_REQUEST # optional
dfuseCPULimit: DFUSE_CPU_LIMIT # optional
dfuseMemoryLimit: DFUSE_MEMORY_LIMIT # optional
volumeBindingMode: VOLUME_BINDING_MODE # default is "immediate"; or "waitForFirstConsumer"
allowedTopologies: # optional
- matchLabelExpressions:
- key: topology.gke.io/zone
values:
- ZONE
mountOptions:
- DFUSE_MOUNT_OPTIONS # disable-caching, enable-wb-cache, thread-count, eq-count
Tous les champs suivants sont facultatifs:
network
: réseau VPC dans lequel créer l'instance Parallelstore. Si cette propriété n'est pas spécifiée, le réseau du cluster GKE est utilisé.Pour créer une instance Parallelstore dans un réseau VPC partagé, vous devez indiquer le nom complet du réseau. Par exemple :
projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME
labels
: paires clé-valeur spécifiées par l'utilisateur à associer à cette instance.description
: description de l'instance. Doit comporter 2 048 caractères maximum.reserved-ip-range
: nom d'une plage d'adresses IP allouée. Si ce paramètre n'est pas spécifié, toutes les plages sont prises en compte.file-stripe-level
définit les paramètres de bandes de fichiers. Les valeurs autorisées sont les suivantes :file-stripe-level-balanced
file-stripe-level-max
file-stripe-level-min
Pour en savoir plus, consultez la section Considérations sur les performances.
directory-stripe-level
définit le niveau de bandes pour les répertoires. Les valeurs autorisées sont les suivantes :directory-stripe-level-balanced
directory-stripe-level-max
directory-stripe-level-min
Pour en savoir plus, consultez la section Considérations sur les performances.
mountLocality
: active le mode d'installation local du nœud pour le provisionnement dynamique. Les valeurs acceptées sontnode
oupod
. La valeur par défaut estpod
. Sinode
est spécifié, vous pouvez également utiliser les options suivantes:dfuseCPURequest
: requête de processeur pour le processus dfuse. La valeur par défaut est250m
.dfuseMemoryRequest
: requête de mémoire pour le processus dfuse. La valeur par défaut est512Mi
.dfuseCPULimit
: limite de ressources processeur pour le processus dfuse. La valeur par défaut n'est pas définie.dfuseMemoryLimit
: limite de mémoire pour le processus dfuse. La valeur par défaut est10Gi
.
allowedTopologies
: spécifie la zone dans laquelle créer l'instance Parallelstore. Si ce champ n'est pas spécifié, l'instance est créée dans la même zone que le déploiement du pilote CSI, avec le mode de liaison de volumeimmediate
.volumeBindingMode
: spécifie le mode de sélection de la topologie. Le modeimmediate
utilise la valeur spécifiée dansallowedTopologies
. Le modewaitForFirstConsumer
attribue la topologie à la zone dans laquelle le pod GKE est planifié. Cela peut entraîner le blocage des pods en attendant la provisionnement d'un volume.mountOptions
: spécifie les options de montage dfuse et les paramètres du kernel, y comprisread_ahead_kb
etmax_ratio
. Les volumes basés sur des instances Parallelstore héritent de ces valeurs dans le champ.spec.mountOptions
du volume persistant.Les options sont les suivantes :
disable-caching
: désactive toute mise en cache. Par défaut, la mise en cache complète (à l'exception du cache en écriture) est activée lors du montage d'une instance Parallelstore dans GKE.enable-wb-cache
: utilisez le cache en écriture plutôt que le cache en écriture directe.thread-count
: nombre de threads à utiliser. Cette valeur correspond à la somme du nombre de threads FUSE et du nombre de files d'attente d'événements.eq-count
: nombre de files d'attente d'événements à utiliser.read_ahead_kb
: taille de la fenêtre de prélecture en kilo-octets.max_ratio
: permet de limiter l'utilisation d'un appareil particulier à un pourcentage donné du cache de réécriture.
Pour en savoir plus sur ces options, consultez la section Considérations sur les performances.
Volume persistant
Le fichier manifeste suivant inclut tous les champs compatibles du volume persistant.
apiVersion: v1
kind: PersistentVolume
metadata:
name: parallelstore-pv
annotations:
pv.kubernetes.io/provisioned-by: parallelstore.csi.storage.gke.io
spec:
storageClassName: parallelstore-csi-sc
capacity:
storage: INSTANCE_SIZE # 12Ti
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain # or "Delete"
volumeMode: Filesystem
mountOptions:
- DFUSE_MOUNT_OPTIONS # disable-caching, enable-wb-cache, thread-count, eq-count, read_ahead_kb, max_ratio
csi:
driver: parallelstore.csi.storage.gke.io
volumeHandle: PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container
volumeAttributes:
accessPoints: ACCESS_POINTS # comma-separated list of IP addresses
network: VPC_NETWORK # optional
mountLocality: MOUNT_LOCALITY # optional
dfuseCPURequest: DFUSE_CPU_REQUEST # optional
dfuseMemoryRequest: DFUSE_MEMORY_REQUEST # optional
dfuseCPULimit: DFUSE_CPU_LIMIT # optional
dfuseMemoryLimit: DFUSE_MEMORY_LIMIT # optional
capacity
: capacité de l'instance Parallelstore. Doit être l'un des suivants :12Ti
,16Ti
ou20Ti
.mountOptions
: hérite du champmountOptions
dans StorageClass.csi.volumeHandle
: identifiant exclusif d'une instance Parallelstore. Doit utiliser le format suivant :PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container
csi.volumeAttributes.accessPoints
: liste des adresses IP des nœuds de serveur Parallelstore, séparées par des virgules.csi.volumeAttributes.network
: réseau VPC de l'instance Parallelstore, qui doit correspondre au réseau du cluster GKE. Ce champ permet de vérifier que l'instance Parallelstore fournie se trouve dans un réseau valide avant que le pilote CSI ne l'installe.csi.volumeAttributes.mountLocality
: active le mode d'installation local du nœud pour le provisionnement dynamique. Les valeurs acceptées sontnode
oupod
. La valeur par défaut estpod
. Sinode
est spécifié, vous pouvez également utiliser les options suivantes:csi.volumeAttributes.dfuseCPURequest
: requête de processeur pour le processus dfuse. La valeur par défaut est250m
.csi.volumeAttributes.dfuseMemoryRequest
: requête de mémoire pour le processus dfuse. La valeur par défaut est512Mi
.csi.volumeAttributes.dfuseCPULimit
: limite de ressources processeur pour le processus dfuse. La valeur par défaut n'est pas définie.csi.volumeAttributes.dfuseMemoryLimit
: limite de mémoire pour le processus dfuse. La valeur par défaut est10Gi
.