自訂磁碟區名稱和標籤
使用 Trident ,您可以為建立的磁碟區指派有意義的名稱和標籤。這有助於您識別磁碟區並將其輕鬆對應到相應的 Kubernetes 資源( PVC )。您也可以在後端定義模板,用於建立自訂磁碟區名稱和自訂標籤;您建立、匯入或複製的任何磁碟區都會遵循這些模板。
開始之前
支援自訂磁碟區名稱和標籤:
-
Volume 建立、匯入和複製作業。
-
對於
ontap-nas-economy驅動程式而言,只有 Qtree 磁碟區的名稱符合名稱範本。 -
對於
ontap-san-economy驅動程式而言,只有 LUN 名稱符合名稱範本。
限制
-
自訂磁碟區名稱僅與 ONTAP 內部部署驅動程式相容。
-
僅
ontap-san、ontap-nas和ontap-nas-flexgroup驅動程式支援自訂標籤。 -
自訂磁碟區名稱不適用於現有磁碟區。
可自訂磁碟區名稱的關鍵行為
-
如果由於名稱範本中的語法無效而導致故障,則後端建立將失敗。但是,如果範本應用程式失敗,則磁碟區將根據現有的命名慣例命名。
-
當使用後端組態中的名稱範本命名磁碟區時,儲存前置字元不適用。任何所需的前置字元值都可以直接新增至範本。
後端組態範例、名稱範本和標籤
可以在根層級和 / 或池層級定義自訂名稱範本。
{
"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 }}""
需要考慮的要點
-
對於磁碟區匯入,僅當現有磁碟區的標籤採用特定格式時,才會更新標籤。例如:
{"provisioning":{"Cluster":"ClusterA", "PVC": "pvcname"}}。 -
對於託管磁碟區匯入,磁碟區名稱遵循後端定義中根層級定義的名稱範本。
-
Trident 不支援將切片運算子與儲存前置字元一起使用。
-
如果範本無法產生唯一的磁碟區名稱,Trident 將附加一些隨機字元以建立唯一的磁碟區名稱。
-
如果 NAS 經濟型磁碟區的自訂名稱長度超過 64 個字元,Trident 將依照現有的命名規則命名磁碟區。對於所有其他 ONTAP 驅動程式,如果磁碟區名稱超過名稱限制,則磁碟區建立程序將會失敗。