Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

自定义卷名称和标签

贡献者

使用Trident、您可以为创建的卷分配有意义的名称和标签。这有助于您识别卷并轻松地将其映射到其各自的Kubnetes资源(PVC)。您还可以在后端级别定义用于创建自定义卷名称和自定义标签的模板;您创建、导入或克隆的任何卷都将遵循这些模板。

开始之前

可自定义的卷名称和标签支持:

  1. 卷创建、导入和克隆操作。

  2. 如果使用的是ONTA-NAS经济型驱动程序、则只有qtree卷的名称符合此名称模板。

  3. 如果使用的是ONONTAP SAN经济版驱动程序、则只有LUN名称符合此名称模板。

限制

  1. 可自定义的卷名称仅与ONTAP内部部署驱动程序兼容。

  2. 可自定义的卷名称不适用于现有卷。

可自定义卷名称的关键行为

  1. 如果因名称模板中的语法无效而导致失败、则后端创建将失败。但是、如果模板应用程序失败、则会根据现有命名约定对卷进行命名。

  2. 如果使用后端配置中的名称模板来命名卷、则存储前缀不适用。任何所需的前缀值都可以直接添加到模板中。

具有名称模板和标签的后端配置示例

可以在根和/或池级别定义自定义名称模板。

根级别示例
{
"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 }}""

需要考虑的要点

  1. 对于卷导入、只有当现有卷具有特定格式的标签时、才会更新标签。例如: {"provisioning":{"Cluster":"ClusterA", "PVC": "pvcname"}}

  2. 对于受管卷导入、卷名称遵循后端定义中根级别定义的名称模板。

  3. Trident不支持使用带有存储前缀的分区操作符。

  4. 如果这些模板不会生成唯一的卷名称、则Trident将附加一些随机字符来创建唯一的卷名称。

  5. 如果NAS经济型卷的自定义名称长度超过64个字符、则Trident将根据现有命名约定为卷命名。对于所有其他ONTAP驱动程序、如果卷名称超过名称限制、则卷创建过程将失败。