Referência do driver CSI do Managed Lustre

Os manifestos a seguir descrevem os campos de driver CSI compatíveis nos recursos de classe de armazenamento e volume permanente.

Classe de armazenamento

O manifesto a seguir inclui todos os campos compatíveis na classe de armazenamento.

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

Substitua os seguintes valores:

  • network: opcional. A rede de nuvem privada virtual (VPC) em que a instância do Lustre gerenciado será criada. Se essa propriedade não for especificada, a rede padrão será usada.

    Para criar uma instância do Managed Lustre em uma rede VPC compartilhada, é necessário informar o nome completo da rede. Por exemplo, projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME

  • filesystem: especifica o fsname da instância do Managed Lustre. Esse parâmetro é usado para provisionamento dinâmico. O fsname precisa ser uma string alfanumérica de até oito caracteres, começando com um caractere alfabético. Se você não fornecer um valor, o driver CSI vai gerar um fsname com o formato "lfsNNNNN" (por exemplo, "lfs97603").

  • labels: opcional. O Lustre gerenciado é compatível com rótulos por instância, como um mapa de pares de chave-valor. Com o driver CSI do Managed Lustre, é possível anexar rótulos fornecidos pelo usuário à instância.

  • description: opcional. Uma descrição da instância. Precisa ter 2.048 caracteres ou menos.

  • perUnitStorageThroughput: especifica a capacidade de processamento de armazenamento por unidade (MB/s/TiB) da instância. Os valores aceitos são 125, 250, 500 e 1000. O padrão é 1000.

  • allowTopologies: opcional. As instâncias do Managed Lustre são recursos zonais. Se essa propriedade não for especificada, a instância do Managed Lustre será criada na mesma zona do pod do driver do controlador CSI, e o modo de vinculação de volume será Immediate por padrão.

    Se WaitForFirstConsumer for especificado, a topologia será definida como o local em que o pod está programado. No entanto, essa configuração pode bloquear os pods enquanto eles aguardam o provisionamento de um volume.

    O driver CSI do Lustre gerenciado é compatível com o recurso de topologia para garantir que os volumes permanentes e os pods sejam colocados nas topologias permitidas, com base na topologia fornecida na StorageClass.

  • mountOptions: opcional. Especifica opções de montagem mount.lustre. Os volumes gerenciados do Lustre herdam essas opções de montagem da StorageClass no campo pv.spec.mountOptions.

Volume permanente

O manifesto a seguir inclui todos os campos compatíveis no volume permanente.

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

Substitua os seguintes valores:

  • capacity.storage: a capacidade da instância do Managed Lustre. Consulte Níveis de desempenho para ver as capacidades mínimas e máximas de instâncias compatíveis.
  • mountOptions: especifica opções de montagem mount.lustre. Esse valor é herdado do campo mountOptions na StorageClass.
  • csi.volumeHandle: um identificador exclusivo de uma instância do Managed Lustre. Use o seguinte formato: PROJECT_ID/LOCATION/INSTANCE_NAME.
  • csi.volumeAttributes.ip: o endereço IP da instância gerenciada do Lustre usada para montagem.
  • csi.volumeAttributes.filesystem: o nome do sistema de arquivos da instância gerenciada do Lustre, que é um identificador de oito caracteres.