볼륨 이름 및 레이블 사용자 정의
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 Economy 볼륨의 사용자 지정 이름이 64자를 초과하는 경우 Trident 기존 명명 규칙에 따라 볼륨 이름을 지정합니다. 다른 모든 ONTAP 드라이버의 경우 볼륨 이름이 이름 제한을 초과하면 볼륨 생성 프로세스가 실패합니다.