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_NAMElabels: 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-leveldéfinit les paramètres de bandes de fichiers. Les valeurs autorisées sont les suivantes :file-stripe-level-balancedfile-stripe-level-maxfile-stripe-level-min
Pour en savoir plus, consultez la section Considérations sur les performances.
directory-stripe-leveldéfinit le niveau de bandes pour les répertoires. Les valeurs autorisées sont les suivantes :directory-stripe-level-balanceddirectory-stripe-level-maxdirectory-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 sontnodeoupod. La valeur par défaut estpod. Sinodeest 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 modeimmediateutilise la valeur spécifiée dansallowedTopologies. Le modewaitForFirstConsumerattribue 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_kbetmax_ratio. Les volumes basés sur des instances Parallelstore héritent de ces valeurs dans le champ.spec.mountOptionsdu 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,16Tiou20Ti.mountOptions: hérite du champmountOptionsdans StorageClass.csi.volumeHandle: identifiant exclusif d'une instance Parallelstore. Doit utiliser le format suivant :PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-containercsi.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 sontnodeoupod. La valeur par défaut estpod. Sinodeest 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.