Os manifestos a seguir descrevem os campos do driver CSI aceitos nos recursos de classe de armazenamento e volume persistente.
Classe de armazenamento
O manifesto a seguir inclui todos os campos com suporte na classe de armazenamento.
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 os campos a seguir são opcionais:
network
: a rede VPC em que a instância do Parallelstore será criada. Se essa propriedade não for especificada, a rede do cluster do GKE será usada.Para criar uma instância do Parallelstore em uma rede VPC compartilhada, é necessário informar o nome completo da rede. Por exemplo:
projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME
labels
: pares de chave-valor especificados pelo usuário para anexar a essa instância.description
: uma descrição da instância. Precisa ter 2.048 caracteres ou menos.reserved-ip-range
: o nome de um intervalo de endereços IP alocado. Se não for especificado, todos os intervalos serão considerados.file-stripe-level
define as configurações de remoção de arquivos. Os valores permitidos são:file-stripe-level-balanced
file-stripe-level-max
file-stripe-level-min
Consulte Considerações sobre desempenho para mais detalhes.
directory-stripe-level
define o nível de remoção para diretórios. Os valores permitidos são:directory-stripe-level-balanced
directory-stripe-level-max
directory-stripe-level-min
Consulte Considerações sobre desempenho para mais detalhes.
allowedTopologies
: especifica a zona em que a instância do Parallelstore será criada. Se esse campo não for especificado, a instância será criada na mesma zona que a implantação do driver CSI, com o modo de vinculação de volumeimmediate
.volumeBindingMode
: especifica o modo de seleção de topologia. O modoimmediate
usa o valor especificado emallowedTopologies
. O modowaitForFirstConsumer
atribui a topologia à zona em que o pod do GKE está programado. Isso pode fazer com que os pods sejam bloqueados enquanto aguardam o provisionamento de um volume.mountOptions
: especifica opções de montagem dfuse e parâmetros do kernel, incluindoread_ahead_kb
emax_ratio
. Os volumes com suporte de instâncias do Parallelstore herdam esses valores no campo.spec.mountOptions
do volume persistente.As opções são:
disable-caching
: desativa todo o armazenamento em cache. Por padrão, o armazenamento em cache completo (exceto para o cache de write-back) é ativado ao montar uma instância do Parallelstore no GKE.enable-wb-cache
: use o cache de gravação de retorno em vez do cache de gravação.thread-count
: número de linhas de execução a serem usadas. Esse valor é a soma do número de linhas de execução do FUSE e do número de filas de eventos.eq-count
: número de filas de eventos a serem usadas.read_ahead_kb
: tamanho da janela de leitura antecipada em kilobytes.max_ratio
: permite limitar um dispositivo específico para que ele não use mais do que a porcentagem especificada do cache de recuperação.
Para saber mais sobre essas opções, consulte Considerações sobre desempenho.
Volume permanente
O manifesto a seguir inclui todos os campos com suporte no volume 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
: a capacidade da instância do Parallelstore. Precisa ser um dos seguintes formatos:12Ti
,16Ti
ou20Ti
.mountOptions
: herda do campomountOptions
no StorageClass.csi.volumeHandle
: um identificador exclusivo de uma instância do Parallelstore. Precisa usar o formato:PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-container
csi.volumeAttributes.accessPoints
: uma lista de endereços IP para nós de servidor do Parallelstore, separados por vírgulas.csi.volumeAttributes.network
: a rede VPC da instância do Parallelstore, que precisa estar alinhada à rede do cluster do GKE. Esse campo é usado para verificar se a instância do Parallelstore fornecida está em uma rede válida antes que o driver CSI a monte.