볼륨 이름 및 레이블 사용자 지정
Trident를 사용하면 생성하는 볼륨에 의미 있는 이름과 레이블을 지정할 수 있습니다. 이를 통해 볼륨을 쉽게 식별하고 해당 Kubernetes 리소스(PVC)에 매핑할 수 있습니다. 또한 백엔드 수준에서 사용자 지정 볼륨 이름과 사용자 지정 레이블을 생성하기 위한 템플릿을 정의할 수 있으며, 생성, 가져오기 또는 복제하는 모든 볼륨은 이러한 템플릿을 따릅니다.
시작하기 전에
사용자 지정 가능한 볼륨 이름 및 레이블 지원:
-
볼륨 생성, 가져오기 및 클론 작업.
-
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 드라이버의 경우 볼륨 이름이 이름 제한을 초과하면 볼륨 생성 프로세스가 실패합니다.