Skip to main content
이 제품의 최신 릴리즈를 사용할 수 있습니다.
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

볼륨 이름 및 레이블 사용자 지정

Trident를 사용하면 생성하는 볼륨에 의미 있는 이름과 레이블을 지정할 수 있습니다. 이를 통해 볼륨을 쉽게 식별하고 해당 Kubernetes 리소스(PVC)에 매핑할 수 있습니다. 또한 백엔드 수준에서 사용자 지정 볼륨 이름과 사용자 지정 레이블을 생성하기 위한 템플릿을 정의할 수 있으며, 생성, 가져오기 또는 복제하는 모든 볼륨은 이러한 템플릿을 따릅니다.

시작하기 전에

사용자 지정 가능한 볼륨 이름 및 레이블 지원:

  • 볼륨 생성, 가져오기 및 클론 작업.

  • ontap-nas-economy 드라이버의 경우 Qtree 볼륨의 이름만 이름 템플릿을 준수합니다.

  • ontap-san-economy 드라이버의 경우 LUN 이름만 이름 템플릿을 준수합니다.

제한 사항

  • 사용자 지정 볼륨 이름은 ONTAP 온프레미스 드라이버에서만 호환됩니다.

  • 사용자 지정 레이블은 ontap-san, ontap-nasontap-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 }}""

고려해야 할 사항

  1. 볼륨 가져오기의 경우, 기존 볼륨에 특정 형식의 레이블이 있는 경우에만 레이블이 업데이트됩니다. 예를 들면 다음과 같습니다. {"provisioning":{"Cluster":"ClusterA", "PVC": "pvcname"}}.

  2. 관리형 볼륨 가져오기의 경우 볼륨 이름은 백엔드 정의의 루트 수준에 정의된 이름 템플릿을 따릅니다.

  3. Trident는 스토리지 접두사와 함께 슬라이스 연산자를 사용하는 것을 지원하지 않습니다.

  4. 템플릿을 사용했을 때 고유한 볼륨 이름이 생성되지 않으면 Trident가 임의의 문자를 추가하여 고유한 볼륨 이름을 생성합니다.

  5. NAS 이코노미 볼륨의 사용자 지정 이름이 64자를 초과하면 Trident는 기존 명명 규칙에 따라 볼륨 이름을 지정합니다. 다른 모든 ONTAP 드라이버의 경우 볼륨 이름이 이름 제한을 초과하면 볼륨 생성 프로세스가 실패합니다.