Personalizzare i nomi e le etichette dei volumi
Con Trident, è possibile assegnare nomi e etichette significativi ai volumi creati. Questo ti aiuta a identificare e mappare facilmente i volumi alle rispettive risorse Kubernetes (PVC). È inoltre possibile definire modelli di backend per la creazione di nomi di volumi personalizzati ed etichette personalizzate; i volumi creati, importati o clonati aderiranno ai modelli.
Prima di iniziare
Nomi di volumi ed etichette personalizzabili supportano:
-
Operazioni di creazione, importazione e cloning del volume.
-
Nel caso del driver ontap-nas-Economy, solo il nome del volume Qtree soddisfa il modello del nome.
-
Nel caso del driver ontap-san-Economy, solo il nome LUN è conforme al modello del nome.
Limitazioni
-
I nomi dei volumi personalizzabili sono compatibili solo con i driver ONTAP on-premise.
-
I nomi dei volumi personalizzabili non si applicano ai volumi esistenti.
Comportamenti chiave dei nomi di volume personalizzabili
-
Se si verifica un errore a causa di una sintassi non valida in un modello di nome, la creazione del backend non riesce. Tuttavia, se l'applicazione modello non riesce, il volume verrà denominato in base alla convenzione di denominazione esistente.
-
Il prefisso di archiviazione non è applicabile quando un volume viene nominato utilizzando un modello di nome dalla configurazione backend. Qualsiasi valore di prefisso desiderato può essere aggiunto direttamente al modello.
Esempi di configurazione backend con modello di nome ed etichette
I modelli con nomi personalizzati possono essere definiti a livello di root e/o pool.
{ "version": 1, "storageDriverName": "ontap-nas", "backendName": "ontap-nfs-backend", "managementLIF": "<ip address>", "svm": "svm0", "username": "<admin>", "password": "<password>", "defaults": { "nameTemplate": "{{.volume.Name}}_{{.labels.cluster}}_{{.volume.Namespace}}_{{.volume.RequestName}}" }, "labels": {"cluster": "ClusterA", "PVC": "{{.volume.Namespace}}_{{.volume.RequestName}}"} }
{ "version": 1, "storageDriverName": "ontap-nas", "backendName": "ontap-nfs-backend", "managementLIF": "<ip address>", "svm": "svm0", "username": "<admin>", "password": "<password>", "useREST": true, "storage": [ { "labels":{"labelname":"label1", "name": "{{ .volume.Name }}"}, "defaults": { "nameTemplate": "pool01_{{ .volume.Name }}_{{ .labels.cluster }}_{{ .volume.Namespace }}_{{ .volume.RequestName }}" } }, { "labels":{"cluster":"label2", "name": "{{ .volume.Name }}"}, "defaults": { "nameTemplate": "pool02_{{ .volume.Name }}_{{ .labels.cluster }}_{{ .volume.Namespace }}_{{ .volume.RequestName }}" } } ] }
Esempi di modelli di nome
Esempio 1:
"nameTemplate": "{{ .config.StoragePrefix }}_{{ .volume.Name }}_{{ .config.BackendName }}"
Esempio 2:
"nameTemplate": "pool_{{ .config.StoragePrefix }}_{{ .volume.Name }}_{{ slice .volume.RequestName 1 5 }}""
Punti da considerare
-
Nel caso di importazioni di volumi, le etichette vengono aggiornate solo se il volume esistente presenta etichette in un formato specifico. Ad esempio:
{"provisioning":{"Cluster":"ClusterA", "PVC": "pvcname"}}
. -
Nel caso di importazioni di volumi gestiti, il nome del volume segue il modello di nome definito al livello principale nella definizione di backend.
-
Trident non supporta l'uso di un operatore di sezione con il prefisso di memorizzazione.
-
Se i modelli non generano nomi di volume univoci, Trident aggiungerà alcuni caratteri casuali per creare nomi di volume univoci.
-
Se il nome personalizzato per un volume economico NAS supera i 64 caratteri di lunghezza, Trident denominerà i volumi in base alla convenzione di denominazione esistente. Per tutti gli altri driver ONTAP, se il nome del volume supera il limite del nome, il processo di creazione del volume non riesce.