简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。
自定义卷名和标签
使用Trident,您可以为创建的卷分配有意义的名称和标签。这可以帮助您识别卷并将其轻松映射到各自的 Kubernetes 资源(PVC)。您还可以在后端级别定义模板,以创建自定义卷名称和自定义标签;您创建、导入或克隆的任何卷都将遵循这些模板。
开始之前
支持自定义卷名称和标签:
-
卷创建、导入和克隆操作。
-
对于 ontap-nas-economy 驱动程序,只有 Qtree 卷的名称符合名称模板。
-
对于 ontap-san-economy 驱动程序,只有 LUN 名称符合名称模板。
限制
-
可自定义卷名称仅与ONTAP本地驱动程序兼容。
-
可自定义的卷名称不适用于现有卷。
可自定义卷名称的关键行为
-
如果由于名称模板中的语法无效而导致失败,则后端创建将失败。但是,如果模板应用失败,则卷将按照现有的命名约定命名。
-
当使用后端配置中的名称模板命名卷时,存储前缀不适用。可以直接在模板中添加任何所需的前缀值。
后端配置示例,包含名称模板和标签
可以在根级别和/或池级别定义自定义名称模板。
根级别示例
{
"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驱动程序,如果卷名称超过名称限制,则卷创建过程将失败。