En los siguientes manifiestos se describen los campos de controladores CSI admitidos en los recursos 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: 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 campos siguientes son opcionales:
network
: la red de VPC en la que se creará la instancia de Parallelstore. Si no se especifica esta propiedad, se usará la red del clúster de GKE.Para crear una instancia de Parallelstore en una red de VPC compartida, debe proporcionar el nombre completo de la red. Por ejemplo:
projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME
labels
: pares clave-valor especificados por el usuario que se adjuntarán a esta instancia.description
: descripción de la instancia. Debe tener 2048 caracteres como máximo.reserved-ip-range
: el nombre de un intervalo de direcciones IP asignado. Si no se especifica, se tendrán en cuenta todos los intervalos.file-stripe-level
define la configuración de la segmentación de archivos. Los valores permitidos son:file-stripe-level-balanced
file-stripe-level-max
file-stripe-level-min
Consulta los aspectos relacionados con el rendimiento para obtener más información.
directory-stripe-level
define el nivel de franjas de los directorios. Los valores permitidos son:directory-stripe-level-balanced
directory-stripe-level-max
directory-stripe-level-min
Consulta los aspectos relacionados con el rendimiento para obtener más información.
mountLocality
: habilita el modo de montaje local de nodos para el aprovisionamiento dinámico. Los valores posibles sonnode
ypod
. El valor predeterminado espod
. Si se especificanode
, también puedes usar las siguientes opciones:dfuseCPURequest
: la solicitud de CPU del proceso dfuse. El valor predeterminado es250m
.dfuseMemoryRequest
: la solicitud de memoria del proceso dfuse. El valor predeterminado es512Mi
.dfuseCPULimit
: límite de CPU del proceso dfuse. El valor predeterminado no está definido.dfuseMemoryLimit
: límite de memoria del proceso dfuse. El valor predeterminado es10Gi
.
allowedTopologies
: especifica la zona en la que se va a 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 CSI, con el modo de enlace de volumenimmediate
.volumeBindingMode
: especifica el modo de selección de topología. El modoimmediate
usa el valor especificado enallowedTopologies
. El modowaitForFirstConsumer
asigna 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 montaje y los parámetros del kernel de dfuse, incluidosread_ahead_kb
ymax_ratio
. Los volúmenes respaldados por instancias de Parallelstore heredan estos valores en el campo.spec.mountOptions
del volumen persistente.Las opciones son las siguientes:
disable-caching
: inhabilita todo el almacenamiento en caché. De forma predeterminada, el almacenamiento en caché completo (excepto el almacenamiento en caché de escritura diferida) está habilitado al montar una instancia de Parallelstore en GKE.enable-wb-cache
: usa la caché de escritura diferida en lugar de la de escritura directa.thread-count
: número de hilos que se van a usar. Este valor es la suma del número de hilos FUSE y del número de colas de eventos.eq-count
: número de colas de eventos que se van a usar.read_ahead_kb
: tamaño de la ventana de lectura anticipada en kilobytes.max_ratio
: permite limitar el uso de un dispositivo concreto a un porcentaje determinado de la caché de escritura diferida.
Para obtener información sobre estas opciones, consulta Consideraciones sobre el rendimiento.
Volumen persistente
El siguiente manifiesto incluye todos los campos admitidos en PersistentVolume.
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
: la capacidad de la instancia de Parallelstore. Debe ser uno de los siguientes valores:12Ti
,16Ti
o20Ti
.mountOptions
: hereda del campomountOptions
de StorageClass.csi.volumeHandle
: identificador exclusivo de una instancia de Parallelstore. Debe usar el siguiente formato:PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container
csi.volumeAttributes.accessPoints
: lista de direcciones IP de los nodos del servidor Parallelstore separadas por comas.csi.volumeAttributes.network
: la red VPC de la instancia de Parallel Store, que debe coincidir 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 CSI la monte.csi.volumeAttributes.mountLocality
: habilita el modo de montaje local de nodos para el aprovisionamiento dinámico. Los valores posibles sonnode
ypod
. El valor predeterminado espod
. Si se especificanode
, también puedes usar las siguientes opciones:csi.volumeAttributes.dfuseCPURequest
: la solicitud de CPU del proceso dfuse. El valor predeterminado es250m
.csi.volumeAttributes.dfuseMemoryRequest
: la solicitud de memoria del proceso dfuse. El valor predeterminado es512Mi
.csi.volumeAttributes.dfuseCPULimit
: límite de CPU del proceso dfuse. El valor predeterminado no está definido.csi.volumeAttributes.dfuseMemoryLimit
: límite de memoria del proceso dfuse. El valor predeterminado es10Gi
.