自訂磁碟區名稱和標籤
有了 Trident 、您就可以為您建立的磁碟區指派有意義的名稱和標籤。這有助於您識別並輕鬆地將磁碟區對應至各自的 Kubernetes 資源( PVCS )。您也可以在後端層級定義範本、以建立自訂磁碟區名稱和自訂標籤;您建立、匯入或複製的任何磁碟區都會遵守這些範本。
開始之前
可自訂的 Volume 名稱和標籤支援:
-
Volume 建立、匯入及複製作業。
-
在 ONTAP NAS 經濟驅動程式的情況下、只有 Qtree Volume 的名稱符合名稱範本。
-
在 ONTAP SAN 經濟型驅動程式的情況下、只有 LUN 名稱符合名稱範本。
限制
-
可自訂的磁碟區名稱僅與 ONTAP 內部部署驅動程式相容。
-
可自訂的 Volume 名稱不適用於現有的 Volume 。
可自訂 Volume 名稱的主要行為
-
如果名稱範本中的語法無效而導致失敗、則後端建立會失敗。但是、如果範本應用程式失敗、則會根據現有的命名慣例來命名磁碟區。
-
如果使用後端組態的名稱範本命名磁碟區、則不適用儲存前置詞。任何所需的前置字元值都可以直接新增至範本。
名稱範本和標籤的後端組態範例
自訂名稱範本可在根和 / 或集區層級定義。
{ "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 }}" } } ] }
名稱範本範例
-
範例 1* :
"nameTemplate": "{{ .config.StoragePrefix }}_{{ .volume.Name }}_{{ .config.BackendName }}"
-
範例 2 * :
"nameTemplate": "pool_{{ .config.StoragePrefix }}_{{ .volume.Name }}_{{ slice .volume.RequestName 1 5 }}""
需要考量的重點
-
在 Volume 匯入的情況下、只有現有的 Volume 具有特定格式的標籤時、標籤才會更新。例如
{"provisioning":{"Cluster":"ClusterA", "PVC": "pvcname"}}
:。 -
在託管 Volume 匯入的情況下、 Volume 名稱會遵循在後端定義的根層級所定義的名稱範本。
-
Trident 不支援使用含有儲存前置碼的 Slice 運算子。
-
如果範本未產生唯一的磁碟區名稱、 Trident 會附加幾個隨機字元、以建立唯一的磁碟區名稱。
-
如果 NAS 經濟 Volume 的自訂名稱長度超過 64 個字元、 Trident 會根據現有的命名慣例來命名磁碟區。對於所有其他 ONTAP 驅動程式、如果磁碟區名稱超過名稱限制、磁碟區建立程序就會失敗。