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
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_NAME
labels
: 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-level
define la configuración de la división de archivos. Los valores permitidos son los siguientes:file-stripe-level-balanced
file-stripe-level-max
file-stripe-level-min
Consulta Consideraciones sobre el rendimiento para obtener más información.
directory-stripe-level
define el nivel de división de los directorios. Los valores permitidos son los siguientes:directory-stripe-level-balanced
directory-stripe-level-max
directory-stripe-level-min
Consulta Consideraciones sobre el rendimiento para obtener más información.
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 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 activación 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.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
capacity
: Es la capacidad de la instancia de Parallelstore. Debe ser12Ti
,16Ti
o20Ti
.mountOptions
: Hereda del campomountOptions
en StorageClass.csi.volumeHandle
: Es un identificador exclusivo para una instancia de Parallelstore. Debe usar el formato:PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container
csi.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.