Astra Data Store 백엔드를 구성합니다
기여자
제공된 샘플 구성을 사용하여 Astra Trident 설치를 위한 ADS(Astra Data Store) 백엔드를 구성하는 방법을 알아보십시오.
를 구성하고 사용합니다 "Astra 데이터 저장소" 백엔드, 다음이 필요합니다.
-
지원되는 ADS 스토리지 시스템입니다. 을 참조하십시오 "Astra Data Store 미리 보기 문서" 를 참조하십시오.
-
ADS를 호스팅하는 Kubernetes 클러스터의 자격 증명. ADS를 호스팅하는 Kubernetes 클러스터에는 이 Astra Trident 백엔드에서 만들고 관리할 볼륨, 스냅샷 및 엑스포트 정책 리소스 전용 네임스페이스가 있어야 합니다. 다음을 지원하는 ADS를 호스팅하는 Kubernetes 클러스터에는 "kubecononfig"를 사용할 수 있어야 합니다.
-
Astrads-system 네임스페이스의 모든 오브젝트를 읽습니다
-
이 Astra Trident 백엔드의 사용을 위해 생성된 네임스페이스에서 오브젝트 읽기/쓰기
-
모든 클러스터 네임스페이스 나열
-
백엔드 구성 옵션
백엔드 구성 옵션은 다음 표를 참조하십시오.
매개 변수 | 설명 | 기본값 |
---|---|---|
'내전' |
항상 1 |
|
'torageDriverName’입니다 |
스토리지 드라이버의 이름입니다 |
"Astrads - NAS" |
백엔드이름 |
사용자 지정 이름 또는 스토리지 백엔드 |
ADS 클러스터 이름 |
"클러스터" |
AstraDSCluster 리소스의 이름입니다 |
|
'네임스페이스' |
Astra Trident가 모든 ADS 사용자 지정 리소스를 생성하는 네임스페이스입니다 |
|
쿠베코무화과다 |
ADS Kubernetes 클러스터(Base64 컴팩트 JSON)용 자격 증명 |
nfsMountOptions를 선택합니다 |
NFS 마운트 옵션에 대한 세밀한 제어 |
"서버 = 4.1" |
자동 내보내기 정책 |
자동 엑스포트 정책 생성 및 업데이트 활성화 [부울] |
거짓 |
자동 내보내기 |
'autoExportPolicy’가 설정된 경우 Kubernetes 노드 IP를 필터링하기 위한 CIDR 목록입니다 |
["0.0.0.0/0","::/0"] |
LimitVolumeSize |
요청된 볼륨 크기가 이 값보다 큰 경우 용량 할당에 실패합니다 |
""(기본적으로 적용되지 않음) |
debugTraceFlags를 선택합니다 |
문제 해결 시 사용할 디버그 플래그입니다. 예: {"api":false, "method":true} |
null입니다 |
'라벨' |
|
문제 해결 및 자세한 로그 덤프가 필요한 경우가 아니면 debugTraceFlags를 사용하지 마십시오. |
|
YAML에서 kubecononfig 값을 컴팩트 JSON 형식으로 변환한 다음 백엔드 구성에 포함시키기 전에 Base64 형식으로 변환해야 합니다. |
각 백엔드는 ADS를 호스팅하는 Kubernetes 클러스터의 단일 네임스페이스로 볼륨을 프로비저닝합니다. 다른 네임스페이스에서 볼륨을 만들려면 추가 백엔드를 정의할 수 있습니다. ADS 볼륨은 호스팅 클러스터, 기타 Kubernetes 클러스터 또는 NFS 공유를 마운트할 수 있는 다른 모든 네임스페이스에 연결할 수 있습니다.
구성 파일의 특수 섹션에서 이러한 옵션을 사용하여 각 볼륨의 기본 프로비저닝을 제어할 수 있습니다.
아래의 구성 예를 참조하십시오.
매개 변수 | 설명 | 기본값 |
---|---|---|
엑포트정책 |
사용할 엑스포트 정책 |
"기본값" |
유니크권한 |
새 볼륨의 모드는 8진이어야 하며 "0"으로 시작해야 합니다. |
"0777" |
안산예비역 |
스냅숏용으로 예약된 볼륨의 백분율입니다 |
"5" |
나프산디렉토리 |
'.snapshot' 디렉토리의 가시성을 제어합니다 |
"거짓" |
"qosPolicy" |
생성된 볼륨에 할당할 QoS 정책 |
"" |
|
ADS 백엔드에서 생성된 모든 볼륨에 대해 Astra Trident는 스토리지 풀에 있는 모든 레이블을 프로비저닝할 때 스토리지 볼륨으로 복사합니다. 스토리지 관리자는 스토리지 풀별로 레이블을 정의하고 스토리지 풀별로 생성된 모든 볼륨을 그룹화할 수 있습니다. 이를 통해 백엔드 구성 파일에 제공되는 사용자 지정 가능한 레이블 세트를 기반으로 볼륨을 쉽게 구별할 수 있습니다. |
예 1: 최소 백엔드 구성
이는 절대적인 최소 백엔드 구성입니다.
{ "version": 1, "storageDriverName": "astrads-nas", "cluster": "astrads-sti-c6220-09-10-11-12", "namespace": "test", "kubeconfig": "eyJjdXJyZW50LWNvbnRleHQiOiJmZWRlcmFsLWNvbnRleHQiLCJhcGlWZXJzaW9uIjoidjEiLCJjbHVzdGVycyI6W3siY2x1c3RlciI6eyJhcGktdmVyc2lvbiI6InYxIiwic2VydmVyIjoiaHR0cDovL2Nvdy5vcmc6ODA4MCJ9LCJuYW1lIjoiY293LWNsdXN0ZXIifSx7ImNsdXN0ZXIiOnsiY2VydGlmaWNhdGUtYXV0aG9yaXR5IjoicGF0aC90by9teS9jYWZpbGUiLCJzZXJ2ZXIiOiJodHRwczovL2hvcnNlLm9yZzo0NDQzIn0sIm5hbWUiOiJob3JzZS1jbHVzdGVyIn0seyJjbHVzdGVyIjp7Imluc2VjdXJlLXNraXAtdGxzLXZlcmlmeSI6dHJ1ZSwic2VydmVyIjoiaHR0cHM6Ly9waWcub3JnOjQ0MyJ9LCJuYW1lIjoicGlnLWNsdXN0ZXIifV0sImNvbnRleHRzIjpbeyJjb250ZXh0Ijp7ImNsdXN0ZXIiOiJob3JzZS1jbHVzdGVyIiwibmFtZXNwYWNlIjoiY2hpc2VsLW5zIiwidXNlciI6ImdyZWVuLXVzZXIifSwibmFtZSI6ImZlZGVyYWwtY29udGV4dCJ9LHsiY29udGV4dCI6eyJjbHVzdGVyIjoicGlnLWNsdXN0ZXIiLCJuYW1lc3BhY2UiOiJzYXctbnMiLCJ1c2VyIjoiYmxhY2stdXNlciJ9LCJuYW1lIjoicXVlZW4tYW5uZS1jb250ZXh0In1dLCJraW5kIjoiQ29uZmlnIiwicHJlZmVyZW5jZXMiOnsiY29sb3JzIjp0cnVlfSwidXNlcnMiOlt7Im5hbWUiOiJibHVlLXVzZXIiLCJ1c2VyIjp7InRva2VuIjoiYmx1ZS10b2tlbiJ9fSx7Im5hbWUiOiJncmVlbi11c2VyIiwidXNlciI6eyJjbGllbnQtY2VydGlmaWNhdGUiOiJwYXRoL3RvL215L2NsaWVudC9jZXJ0IiwiY2xpZW50LWtleSI6InBhdGgvdG8vbXkvY2xpZW50L2tleSJ9fV19" }
예 2: 단일 서비스 수준 구성
이 예에서는 Astra Trident에서 생성한 모든 스토리지에 동일한 측면을 적용하는 백엔드 파일을 보여 줍니다.
{ "version": 1, "storageDriverName": "astrads-nas", "cluster": "astrads-sti-c6220-09-10-11-12", "namespace": "test", "kubeconfig": "eyJjdXJyZW50LWNvbnRleHQiOiJmZWRlcmFsLWNvbnRleHQiLCJhcGlWZXJzaW9uIjoidjEiLCJjbHVzdGVycyI6W3siY2x1c3RlciI6eyJhcGktdmVyc2lvbiI6InYxIiwic2VydmVyIjoiaHR0cDovL2Nvdy5vcmc6ODA4MCJ9LCJuYW1lIjoiY293LWNsdXN0ZXIifSx7ImNsdXN0ZXIiOnsiY2VydGlmaWNhdGUtYXV0aG9yaXR5IjoicGF0aC90by9teS9jYWZpbGUiLCJzZXJ2ZXIiOiJodHRwczovL2hvcnNlLm9yZzo0NDQzIn0sIm5hbWUiOiJob3JzZS1jbHVzdGVyIn0seyJjbHVzdGVyIjp7Imluc2VjdXJlLXNraXAtdGxzLXZlcmlmeSI6dHJ1ZSwic2VydmVyIjoiaHR0cHM6Ly9waWcub3JnOjQ0MyJ9LCJuYW1lIjoicGlnLWNsdXN0ZXIifV0sImNvbnRleHRzIjpbeyJjb250ZXh0Ijp7ImNsdXN0ZXIiOiJob3JzZS1jbHVzdGVyIiwibmFtZXNwYWNlIjoiY2hpc2VsLW5zIiwidXNlciI6ImdyZWVuLXVzZXIifSwibmFtZSI6ImZlZGVyYWwtY29udGV4dCJ9LHsiY29udGV4dCI6eyJjbHVzdGVyIjoicGlnLWNsdXN0ZXIiLCJuYW1lc3BhY2UiOiJzYXctbnMiLCJ1c2VyIjoiYmxhY2stdXNlciJ9LCJuYW1lIjoicXVlZW4tYW5uZS1jb250ZXh0In1dLCJraW5kIjoiQ29uZmlnIiwicHJlZmVyZW5jZXMiOnsiY29sb3JzIjp0cnVlfSwidXNlcnMiOlt7Im5hbWUiOiJibHVlLXVzZXIiLCJ1c2VyIjp7InRva2VuIjoiYmx1ZS10b2tlbiJ9fSx7Im5hbWUiOiJncmVlbi11c2VyIiwidXNlciI6eyJjbGllbnQtY2VydGlmaWNhdGUiOiJwYXRoL3RvL215L2NsaWVudC9jZXJ0IiwiY2xpZW50LWtleSI6InBhdGgvdG8vbXkvY2xpZW50L2tleSJ9fV19", "defaults": { "exportPolicy": "myexportpolicy1", "qosPolicy": "bronze", "snapshotReserve": "10" }, "labels": {"cloud": "on-prem", "creator": "ads-cluster-1", "performance": "bronze"} }
예 3: 가상 스토리지 풀 구성
이 예에서는 가상 스토리지 풀과 이를 다시 참조하는 StorageClasses와 함께 구성된 백엔드 정의 파일을 보여 줍니다.
{ "version": 1, "storageDriverName": "astrads-nas", "cluster": "astrads-sti-c6220-09-10-11-12", "namespace": "test", "kubeconfig": "eyJjdXJyZW50LWNvbnRleHQiOiJmZWRlcmFsLWNvbnRleHQiLCJhcGlWZXJzaW9uIjoidjEiLCJjbHVzdGVycyI6W3siY2x1c3RlciI6eyJhcGktdmVyc2lvbiI6InYxIiwic2VydmVyIjoiaHR0cDovL2Nvdy5vcmc6ODA4MCJ9LCJuYW1lIjoiY293LWNsdXN0ZXIifSx7ImNsdXN0ZXIiOnsiY2VydGlmaWNhdGUtYXV0aG9yaXR5IjoicGF0aC90by9teS9jYWZpbGUiLCJzZXJ2ZXIiOiJodHRwczovL2hvcnNlLm9yZzo0NDQzIn0sIm5hbWUiOiJob3JzZS1jbHVzdGVyIn0seyJjbHVzdGVyIjp7Imluc2VjdXJlLXNraXAtdGxzLXZlcmlmeSI6dHJ1ZSwic2VydmVyIjoiaHR0cHM6Ly9waWcub3JnOjQ0MyJ9LCJuYW1lIjoicGlnLWNsdXN0ZXIifV0sImNvbnRleHRzIjpbeyJjb250ZXh0Ijp7ImNsdXN0ZXIiOiJob3JzZS1jbHVzdGVyIiwibmFtZXNwYWNlIjoiY2hpc2VsLW5zIiwidXNlciI6ImdyZWVuLXVzZXIifSwibmFtZSI6ImZlZGVyYWwtY29udGV4dCJ9LHsiY29udGV4dCI6eyJjbHVzdGVyIjoicGlnLWNsdXN0ZXIiLCJuYW1lc3BhY2UiOiJzYXctbnMiLCJ1c2VyIjoiYmxhY2stdXNlciJ9LCJuYW1lIjoicXVlZW4tYW5uZS1jb250ZXh0In1dLCJraW5kIjoiQ29uZmlnIiwicHJlZmVyZW5jZXMiOnsiY29sb3JzIjp0cnVlfSwidXNlcnMiOlt7Im5hbWUiOiJibHVlLXVzZXIiLCJ1c2VyIjp7InRva2VuIjoiYmx1ZS10b2tlbiJ9fSx7Im5hbWUiOiJncmVlbi11c2VyIiwidXNlciI6eyJjbGllbnQtY2VydGlmaWNhdGUiOiJwYXRoL3RvL215L2NsaWVudC9jZXJ0IiwiY2xpZW50LWtleSI6InBhdGgvdG8vbXkvY2xpZW50L2tleSJ9fV19", "autoExportPolicy": true, "autoExportCIDRs": ["10.211.55.0/24"], "labels": {"cloud": "on-prem", "creator": "ads-cluster-1"}, "defaults": {"snapshotReserve": "5"}, "storage": [ { "labels": {"performance": "gold", "cost": "3"}, "defaults": { "qosPolicy": "gold", "snapshotReserve": "10" } }, { "labels": {"performance": "silver", "cost": "2"}, "defaults": {"qosPolicy": "silver"} }, { "labels": {"performance": "bronze", "cost": "1"}, "defaults": {"qosPolicy": "bronze"} } ] }
다음 StorageClass 정의는 위의 스토리지 풀을 참조합니다. "parameters.selector` 필드를 사용하여 각 StorageClass에 볼륨을 호스팅하는 데 사용되는 가상 풀을 지정할 수 있습니다. 선택한 가상 풀에 볼륨이 정의되어 있습니다.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ads provisioner: csi.trident.netapp.io parameters: backendType: astrads-nas allowVolumeExpansion: true --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ads-gold provisioner: csi.trident.netapp.io parameters: backendType: astrads-nas selector: performance=gold allowVolumeExpansion: true --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ads-silver provisioner: csi.trident.netapp.io parameters: backendType: astrads-nas selector: performance=silver allowVolumeExpansion: true --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ads-bronze provisioner: csi.trident.netapp.io parameters: backendType: astrads-nas selector: performance=bronze allowVolumeExpansion: true
다음 단계
백엔드 구성 파일을 생성한 후 다음 명령을 실행합니다.
tridentctl create backend -f <backend-file>
백엔드 생성에 실패하면 백엔드 구성에 문제가 있는 것입니다. 다음 명령을 실행하여 로그를 보고 원인을 확인할 수 있습니다.
tridentctl logs
구성 파일의 문제를 확인하고 수정한 후 create 명령을 다시 실행할 수 있습니다.