Referencia del controlador CSI de Managed Lustre

En los siguientes manifiestos, se describen los campos admitidos del controlador de CSI en los recursos de StorageClass y PersistentVolume.

Clase de almacenamiento

El siguiente manifiesto incluye todos los campos admitidos en 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

Reemplaza los siguientes valores:

  • network: es opcional. Es la red de nube privada virtual (VPC) en la que se creará la instancia de Lustre administrada. Si no se especifica esta propiedad, se usa la red predeterminada.

    Para crear una instancia de Managed Lustre en una red de VPC compartida, se debe proporcionar el nombre completo de la red. Por ejemplo, projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME.

  • filesystem: Especifica el fsname para la instancia de Managed Lustre. Este parámetro se usa para el aprovisionamiento dinámico. El fsname debe ser una cadena alfanumérica de hasta ocho caracteres que comience con un carácter alfabético. Si no proporcionas un valor, el controlador de CSI genera un fsname con el formato "lfsNNNNN" (por ejemplo, "lfs97603").

  • labels: es opcional. Managed Lustre admite etiquetas por instancia, como un mapa de pares clave-valor. El controlador CSI de Managed Lustre te permite adjuntar etiquetas proporcionadas por el usuario a la instancia.

  • description: es opcional. Es una descripción de la instancia. Debe tener 2,048 caracteres o menos.

  • perUnitStorageThroughput: Especifica la capacidad de procesamiento de almacenamiento por unidad (MB/s/TiB) para la instancia. Los valores admitidos son 125, 250, 500 y 1000. El valor predeterminado es 1000.

  • allowTopologies: es opcional. Las instancias de Managed Lustre son recursos zonales. Si no se especifica esta propiedad, la instancia de Lustre administrado se crea en la misma zona que el pod del controlador del controlador de CSI, y el modo de vinculación del volumen se establece de forma predeterminada en Immediate.

    Si se especifica WaitForFirstConsumer, la topología se establece en el lugar donde se programa el Pod. Sin embargo, este parámetro de configuración puede hacer que los Pods se bloqueen mientras esperan que se aprovisione un volumen.

    El controlador CSI de Managed Lustre admite la función de topología para garantizar que los volúmenes persistentes y los Pods se coloquen en las topologías permitidas, según la topología proporcionada en StorageClass.

  • mountOptions: es opcional. Especifica las opciones de activación de mount.lustre. Los volúmenes de Managed Lustre heredan estas opciones de activación de StorageClass en el campo pv.spec.mountOptions.

Volumen persistente

El siguiente manifiesto incluye todos los campos admitidos en el volumen persistente.

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

Reemplaza los siguientes valores:

  • capacity.storage: Es la capacidad de la instancia de Managed Lustre. Consulta Niveles de rendimiento para conocer las capacidades de instancias mínimas y máximas admitidas.
  • mountOptions: Especifica las opciones de activación de mount.lustre. Este valor se hereda del campo mountOptions en StorageClass.
  • csi.volumeHandle: Es un identificador exclusivo para una instancia de Lustre administrada. Debe usar el siguiente formato: PROJECT_ID/LOCATION/INSTANCE_NAME.
  • csi.volumeAttributes.ip: Es la dirección IP de la instancia de Lustre administrada, que se usa para el montaje.
  • csi.volumeAttributes.filesystem: Es el nombre del sistema de archivos de la instancia de Lustre administrada, que es un identificador de ocho caracteres.