Référence du pilote CSI Managed Lustre

Les 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 acceptés dans StorageClass.

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 pour 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 accepte 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. Il ne doit pas comporter plus de 2 048 caractères.

  • perUnitStorageThroughput : spécifie le débit de stockage par unité (Mo/s/TiB) 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 du pilote du 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 en attente du provisionnement d'un volume.

    Le pilote CSI Lustre géré 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 StorageClass.

  • mountOptions (facultatif) : Spécifie les options de montage mount.lustre. Les volumes Managed Lustre héritent de ces options de montage à partir de StorageClass dans le champ pv.spec.mountOptions.

Volume persistant

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

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. Pour connaître les capacités d'instance minimales et maximales acceptées, consultez Niveaux de performances.
  • mountOptions : spécifie les options de montage mount.lustre. Cette valeur est héritée du champ mountOptions de StorageClass.
  • csi.volumeHandle : identifiant exclusif d'une instance Managed Lustre. Vous devez utiliser le format suivant : PROJECT_ID/LOCATION/INSTANCE_NAME.
  • csi.volumeAttributes.ip : adresse IP de l'instance Managed Lustre, utilisée pour le montage.
  • csi.volumeAttributes.filesystem : nom du système de fichiers de l'instance Managed Lustre, qui est un identifiant de huit caractères.