Référence du pilote CSI Managed Lustre

Les fichiers manifestes suivants décrivent les champs de pilote CSI compatibles dans les ressources StorageClass et Persistent Volume.

Classe de stockage

Le fichier manifeste suivant inclut tous les champs compatibles dans la classe de stockage.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: lustre-csi-example-storage-class
provisioner: lustre.csi.storage.gke.io
parameters:
  network: VPC_NETWORK # optional
  filesystem: LUSTRE_FILESYSTEM_NAME # optional
  labels: KEY_1=VALUE_1,KEY_2=VALUE_2,...,KEY_N=VALUE_N # optional
  description: DESCRIPTION # optional
  perUnitStorageThroughput: 125 | 250 | 500 | 1000  # required
volumeBindingMode: WaitForFirstConsumer | Immediate # default is Immediate
allowedTopologies:
- matchLabelExpressions:
  - key: topology.gke.io/zone
    values:
    - ZONE_1
    - ZONE_2
mountOptions:
  - LUSTRE_MOUNT_OPTIONS

Remplacez les valeurs suivantes :

  • network (facultatif) : réseau de cloud privé virtuel (VPC) dans lequel créer l'instance Managed Lustre. Si cette propriété n'est pas spécifiée, le réseau par défaut est utilisé.

    Pour créer une instance Managed Lustre dans un réseau VPC partagé, vous devez fournir le nom complet du réseau. Par exemple, projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME.

  • filesystem: spécifie le fsname de l'instance Managed Lustre. Ce paramètre est utilisé pour le provisionnement dynamique. Le fsname doit être une chaîne alphanumérique de huit caractères maximum, commençant par un caractère alphabétique. Si vous ne fournissez pas de valeur, le pilote CSI génère un fsname au format "lfsNNNNN" (par exemple, "lfs97603").

  • labels (facultatif) : Managed Lustre est compatible avec les libellés par instance, sous forme de mappage de paires clé/valeur. Le pilote CSI Managed Lustre vous permet d'associer des libellés fournis par l'utilisateur à l'instance.

  • description (facultatif) : description de l'instance. Doit comporter 2 048 caractères ou moins.

  • perUnitStorageThroughput: spécifie le débit de stockage par unité (Mo/s/Tio) pour l'instance. Les valeurs acceptées sont 125, 250, 500 et 1000. La valeur par défaut est 1000.

  • allowTopologies (facultatif) : les instances Managed Lustre sont des ressources zonales. Si cette propriété n'est pas spécifiée, l'instance Managed Lustre est créée dans la même zone que le pod de pilote de contrôleur CSI, et le mode de liaison de volume est défini par défaut sur Immediate.

    Si WaitForFirstConsumer est spécifié, la topologie est définie sur l'emplacement où le pod est planifié. Toutefois, ce paramètre peut entraîner le blocage des pods pendant qu'ils attendent qu'un volume soit provisionné.

    Le pilote CSI Managed Lustre est compatible avec la fonctionnalité de topologie pour s'assurer que les volumes persistants et les pods sont placés dans les topologies autorisées, en fonction de la topologie fournie dans la StorageClass.

  • mountOptions (facultatif) : spécifie les options d'installation mount.lustre. Les volumes Managed Lustre héritent de ces options d'installation de la StorageClass dans le champ pv.spec.mountOptions.

Volume persistant

Le fichier manifeste suivant inclut tous les champs compatibles dans le volume persistant.

apiVersion: v1
kind: PersistentVolume
metadata:
 name: preprov-pv
 annotations:
   pv.kubernetes.io/provisioned-by: lustre.csi.storage.gke.io
spec:
 mountOptions:
   - LUSTRE_MOUNT_OPTIONS
   ...
 storageClassName: ""
 capacity:
   storage: CAPACITY
 accessModes:
   - ReadWriteMany
 persistentVolumeReclaimPolicy: Retain
 volumeMode: Filesystem
 csi:
   driver: lustre.csi.storage.gke.io
   volumeHandle: EXISTING_LUSTRE_INSTANCE_NAME
   volumeAttributes:
     ip: EXISTING_LUSTRE_IP_ADDRESS
     filesystem: EXISTING_LUSTRE_FSNAME

Remplacez les valeurs suivantes :

  • capacity.storage : capacité de l'instance Managed Lustre. Reportez-vous à la section Niveaux de performances pour connaître les capacités minimales et maximales d'instance compatibles.
  • mountOptions : spécifie les options d'installation mount.lustre. Cette valeur est héritée du champ mountOptions dans la StorageClass.
  • csi.volumeHandle: identifiant exclusif pour une instance Managed Lustre. Doit utiliser le format suivant : PROJECT_ID/LOCATION/INSTANCE_NAME.
  • csi.volumeAttributes.ip: adresse IP de l'instance Managed Lustre, utilisée pour l'installation.
  • csi.volumeAttributes.filesystem: nom du système de fichiers de l'instance Managed Lustre, qui est un identifiant de huit caractères.