En los siguientes manifiestos, se describen los campos del controlador de CSI admitidos en los recursos de la clase de almacenamiento y el volumen persistente.
Clase de almacenamiento
El siguiente manifiesto incluye todos los campos admitidos en la clase de almacenamiento.
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
Todos los siguientes campos son opcionales:
network: Es la red de VPC en la que se creará la instancia de Parallelstore. Si no se especifica esta propiedad, se usa la red del clúster de GKE.Para crear una instancia de Parallelstore en una red de VPC compartida, se debe proporcionar el nombre completo de la red. Por ejemplo:
projects/PROJECT_ID/global/networks/VPC_NETWORK_NAMElabels: Son los pares clave-valor especificados por el usuario para adjuntar a esta instancia.description: Una descripción de la instancia. Debe tener 2,048 caracteres o menos.reserved-ip-range: Es el nombre de un rango de direcciones IP asignado. Si no se especifica, se consideran todos los rangos.file-stripe-leveldefine la configuración de la división de archivos. Los valores permitidos son los siguientes:file-stripe-level-balancedfile-stripe-level-maxfile-stripe-level-min
Consulta Consideraciones sobre el rendimiento para obtener más información.
directory-stripe-leveldefine el nivel de división de los directorios. Los valores permitidos son los siguientes:directory-stripe-level-balanceddirectory-stripe-level-maxdirectory-stripe-level-min
Consulta Consideraciones sobre el rendimiento para obtener más información.
mountLocality: Habilita el modo de activación local del nodo para el aprovisionamiento dinámico. Los valores admitidos sonnodeopod. El valor predeterminado espod. Si se especificanode, también puedes usar las siguientes opciones:dfuseCPURequest: Es la solicitud de CPU para el proceso de dfuse. El valor predeterminado es250m.dfuseMemoryRequest: Es la solicitud de memoria para el proceso de dfuse. El valor predeterminado es512Mi.dfuseCPULimit: Es el límite de CPU para el proceso de dfuse. El valor predeterminado no está establecido.dfuseMemoryLimit: Es el límite de memoria para el proceso de dfuse. El valor predeterminado es10Gi.
allowedTopologies: Especifica la zona en la que se creará la instancia de Parallelstore. Si no se especifica este campo, la instancia se crea en la misma zona que la implementación del controlador de CSI, con el modo de vinculación de volumenimmediate.volumeBindingMode: Especifica el modo de selección de topología. El modoimmediateusa el valor especificado enallowedTopologies. El modowaitForFirstConsumerasigna la topología a la zona en la que se programa el pod de GKE. Esto puede provocar que los pods se bloqueen mientras esperan que se aprovisione un volumen.mountOptions: Especifica las opciones de activación y los parámetros del kernel de dfuse, incluidosread_ahead_kbymax_ratio. Los volúmenes respaldados por instancias de Parallelstore heredan estos valores en el campo.spec.mountOptionsdel volumen persistente.Se incluyen las siguientes opciones:
disable-caching: Inhabilita todo el almacenamiento en caché. De forma predeterminada, el almacenamiento en caché completo (excepto para la caché de escritura) se habilita cuando se activa una instancia de Parallelstore en GKE.enable-wb-cache: Usa la caché de escritura en lugar de la de escritura a través.thread-count: Cantidad de subprocesos que se usarán. Este valor es la suma de la cantidad de subprocesos de FUSE y la cantidad de colas de eventos.eq-count: Es la cantidad de filas de eventos que se usarán.read_ahead_kb: Es el tamaño de la ventana de lectura anticipada en kilobytes.max_ratio: Permite limitar un dispositivo en particular para que no use más del porcentaje determinado de la caché de escritura.
Para obtener información sobre estas opciones, consulta Consideraciones sobre el rendimiento.
Volumen persistente
El siguiente manifiesto incluye todos los campos compatibles en el volumen persistente.
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: Es la capacidad de la instancia de Parallelstore. Debe ser12Ti,16Tio20Ti.mountOptions: Hereda del campomountOptionsen StorageClass.csi.volumeHandle: Es un identificador exclusivo para una instancia de Parallelstore. Debe usar el formato:PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-containercsi.volumeAttributes.accessPoints: Es una lista de direcciones IP para los nodos del servidor de Parallelstore, separadas por comas.csi.volumeAttributes.network: La red de VPC de la instancia de Parallelstore, que debe alinearse con la red del clúster de GKE. Este campo se usa para verificar que la instancia de Parallelstore proporcionada esté en una red válida antes de que el controlador de CSI la active.csi.volumeAttributes.mountLocality: Habilita el modo de activación local del nodo para el aprovisionamiento dinámico. Los valores admitidos sonnodeopod. El valor predeterminado espod. Si se especificanode, también puedes usar las siguientes opciones:csi.volumeAttributes.dfuseCPURequest: Es la solicitud de CPU para el proceso de dfuse. El valor predeterminado es250m.csi.volumeAttributes.dfuseMemoryRequest: Es la solicitud de memoria para el proceso de dfuse. El valor predeterminado es512Mi.csi.volumeAttributes.dfuseCPULimit: Es el límite de CPU para el proceso de dfuse. El valor predeterminado no está establecido.csi.volumeAttributes.dfuseMemoryLimit: Es el límite de memoria para el proceso de dfuse. El valor predeterminado es10Gi.