I manifest seguenti descrivono i campi del driver CSI supportati nelle risorse Storage Class e Persistent Volume.
Classe di archiviazione
Il seguente manifest include tutti i campi supportati nella classe Storage.
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
Tutti i seguenti campi sono facoltativi:
network: la rete VPC in cui creare l'istanza Parallelstore. Se questa proprietà non è specificata, viene utilizzata la rete del cluster GKE.Per creare un'istanza Parallelstore in una rete VPC condivisa, devi fornire il nome completo della rete. Ad esempio:
projects/PROJECT_ID/global/networks/VPC_NETWORK_NAMElabels: coppie chiave-valore specificate dall'utente da associare a questa istanza.description: una descrizione dell'istanza. Deve avere una lunghezza massima di 2048 caratteri.reserved-ip-range: il nome di un intervallo di indirizzi IP allocato. Se non è specificato, vengono presi in considerazione tutti gli intervalli.file-stripe-leveldefinisce le impostazioni di striping dei file. I valori consentiti sono:file-stripe-level-balancedfile-stripe-level-maxfile-stripe-level-min
Per maggiori dettagli, consulta la sezione Considerazioni sul rendimento.
directory-stripe-leveldefinisce il livello di striping per le directory. I valori consentiti sono:directory-stripe-level-balanceddirectory-stripe-level-maxdirectory-stripe-level-min
Per maggiori dettagli, consulta la sezione Considerazioni sul rendimento.
mountLocality: abilita la modalità di montaggio locale del nodo per il provisioning dinamico. I valori supportati sononodeopod. Il valore predefinito èpod. Se è specificatonode, puoi utilizzare anche le seguenti opzioni:dfuseCPURequest: la richiesta di CPU per il processo dfuse. Il valore predefinito è250m.dfuseMemoryRequest: la richiesta di memoria per il processo dfuse. Il valore predefinito è512Mi.dfuseCPULimit: il limite di CPU per il processo dfuse. Il valore predefinito è non impostato.dfuseMemoryLimit: il limite di memoria per il processo dfuse. Il valore predefinito è10Gi.
allowedTopologies: specifica la zona in cui creare l'istanza Parallelstore. Se questo campo non viene specificato, l'istanza viene creata nella stessa zona del deployment del driver CSI, con la modalità di associazione del volumeimmediate.volumeBindingMode: specifica la modalità di selezione della topologia. La modalitàimmediateutilizza il valore specificato inallowedTopologies. La modalitàwaitForFirstConsumerassegna la topologia alla zona in cui è pianificato il pod GKE. Ciò può causare il blocco dei pod in attesa del provisioning di un volume.mountOptions: specifica le opzioni di montaggio e i parametri del kernel di dfuse, inclusiread_ahead_kbemax_ratio. I volumi basati su istanze Parallelstore ereditano questi valori nel campo.spec.mountOptionsdel volume permanente.Le opzioni sono:
disable-caching: disattiva tutta la memorizzazione nella cache. Per impostazione predefinita, la memorizzazione nella cache completa (tranne per la cache di scrittura) è abilitata quando viene montata un'istanza Parallelstore in GKE.enable-wb-cache: utilizza la cache write-back anziché la cache write-through.thread-count: numero di thread da utilizzare. Questo valore è la somma del numero di thread FUSE e del numero di code di eventi.eq-count: numero di code di eventi da utilizzare.read_ahead_kb: dimensione della finestra di lettura anticipata in kilobyte.max_ratio: consente di limitare un determinato dispositivo a utilizzare non più della percentuale indicata della cache di scrittura.
Per informazioni su queste opzioni, consulta Considerazioni sul rendimento.
Volume permanente
Il seguente manifest include tutti i campi supportati in 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 capacità dell'istanza Parallelstore. Deve essere uno dei seguenti valori:12Ti,16Tio20Ti.mountOptions: eredita dal campomountOptionsin StorageClass.csi.volumeHandle: un identificatore esclusivo per un'istanza Parallelstore. Deve essere utilizzato il formato:PROJECT_ID/LOCATION/INSTANCE_NAME/default-pool/default-containercsi.volumeAttributes.accessPoints: un elenco di indirizzi IP per i nodi del server Parallelstore, separati da virgole.csi.volumeAttributes.network: la rete VPC dell'istanza Parallelstore, che deve essere in linea con la rete del cluster GKE. Questo campo viene utilizzato per verificare che l'istanza Parallelstore fornita si trovi in una rete valida prima che il driver CSI la monti.csi.volumeAttributes.mountLocality: abilita la modalità di montaggio locale del nodo per il provisioning dinamico. I valori supportati sononodeopod. Il valore predefinito èpod. Se è specificatonode, puoi utilizzare anche le seguenti opzioni:csi.volumeAttributes.dfuseCPURequest: la richiesta di CPU per il processo dfuse. Il valore predefinito è250m.csi.volumeAttributes.dfuseMemoryRequest: la richiesta di memoria per il processo dfuse. Il valore predefinito è512Mi.csi.volumeAttributes.dfuseCPULimit: il limite di CPU per il processo dfuse. Il valore predefinito è non impostato.csi.volumeAttributes.dfuseMemoryLimit: il limite di memoria per il processo dfuse. Il valore predefinito è10Gi.