스토리지 백엔드 구성
ONTAP SAN 및 NAS 드라이버 통합
스토리지 백엔드를 만들려면 JSON 또는 YAML 형식으로 구성 파일을 만들어야 합니다. 이 파일에는 원하는 저장 유형(NAS 또는 SAN), 파일 시스템, 데이터를 가져올 SVM, 그리고 이를 통해 인증하는 방법을 지정해야 합니다. 다음 예제에서는 NAS 기반 스토리지를 정의하고 AWS 비밀번호를 사용하여 사용하려는 SVM에 자격 증명을 저장하는 방법을 보여줍니다.
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-tbc-ontap-nas
namespace: trident
spec:
version: 1
storageDriverName: ontap-nas
backendName: tbc-ontap-nas
svm: svm-name
aws:
fsxFilesystemID: fs-xxxxxxxxxx
credentials:
name: "arn:aws:secretsmanager:us-west-2:xxxxxxxx:secret:secret-name"
type: awsarn
{
"apiVersion": "trident.netapp.io/v1",
"kind": "TridentBackendConfig",
"metadata": {
"name": "backend-tbc-ontap-nas"
"namespace": "trident"
},
"spec": {
"version": 1,
"storageDriverName": "ontap-nas",
"backendName": "tbc-ontap-nas",
"svm": "svm-name",
"aws": {
"fsxFilesystemID": "fs-xxxxxxxxxx"
},
"managementLIF": null,
"credentials": {
"name": "arn:aws:secretsmanager:us-west-2:xxxxxxxx:secret:secret-name",
"type": "awsarn"
}
}
}
다음 명령을 실행하여 Trident 백엔드 구성(TBC)을 만들고 검증합니다.
-
yaml 파일에서 트라이던트 백엔드 구성(TBC)을 만들고 다음 명령을 실행합니다.
kubectl create -f backendconfig.yaml -n tridenttridentbackendconfig.trident.netapp.io/backend-tbc-ontap-nas created
-
트라이던트 백엔드 구성(TBC)이 성공적으로 생성되었는지 확인합니다.
Kubectl get tbc -n tridentNAME BACKEND NAME BACKEND UUID PHASE STATUS backend-tbc-ontap-nas tbc-ontap-nas 933e0071-66ce-4324-b9ff-f96d916ac5e9 Bound Success
FSx for ONTAP 드라이버 세부 정보
다음 드라이버를 사용하여 Trident Amazon FSx for NetApp ONTAP 과 통합할 수 있습니다.
-
ontap-san: 프로비저닝된 각 PV는 자체 Amazon FSx for NetApp ONTAP 볼륨 내의 LUN입니다. 블록 저장에 권장됩니다. -
ontap-nas: 프로비저닝된 각 PV는 Amazon FSx for NetApp ONTAP 입니다. NFS 및 SMB에 권장됩니다. -
ontap-san-economy: 프로비저닝된 각 PV는 Amazon FSx for NetApp ONTAP 볼륨당 구성 가능한 LUN 수가 있는 LUN입니다. -
ontap-nas-economy: 프로비저닝된 각 PV는 qtree이며, Amazon FSx for NetApp ONTAP 볼륨당 구성 가능한 qtree 수가 있습니다. -
ontap-nas-flexgroup: 프로비저닝된 각 PV는 Amazon FSx for NetApp ONTAP FlexGroup 볼륨을 위한 전체 Amazon FSx입니다.
운전자 세부 정보는 다음을 참조하세요."NAS 드라이버" 그리고"SAN 드라이버" .
구성 파일이 생성되면 다음 명령을 실행하여 EKS 내에서 해당 파일을 생성합니다.
kubectl create -f configuration_file
상태를 확인하려면 다음 명령을 실행하세요.
kubectl get tbc -n trident
NAME BACKEND NAME BACKEND UUID PHASE STATUS backend-fsx-ontap-nas backend-fsx-ontap-nas 7a551921-997c-4c37-a1d1-f2f4c87fa629 Bound Success
백엔드 고급 구성 및 예제
백엔드 구성 옵션은 다음 표를 참조하세요.
| 매개변수 | 설명 | 예 |
|---|---|---|
|
항상 1 |
|
|
저장 드라이버의 이름 |
|
|
사용자 정의 이름 또는 스토리지 백엔드 |
드라이버 이름 + "_" + dataLIF |
|
클러스터 또는 SVM 관리 LIF의 IP 주소, 정규화된 도메인 이름(FQDN)을 지정할 수 있습니다. IPv6 플래그를 사용하여 Trident 설치한 경우 IPv6 주소를 사용하도록 설정할 수 있습니다. IPv6 주소는 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]와 같이 대괄호로 정의해야 합니다. 당신이 제공하는 경우 |
"10.0.0.1", "[2001:1234:abcd::fefe]" |
|
프로토콜 LIF의 IP 주소. * ONTAP NAS 드라이버*: NetApp dataLIF를 지정하는 것을 권장합니다. 제공되지 않으면 Trident SVM에서 dataLIF를 가져옵니다. NFS 마운트 작업에 사용할 정규화된 도메인 이름(FQDN)을 지정하면 라운드 로빈 DNS를 만들어 여러 dataLIF에 걸쳐 부하를 분산할 수 있습니다. 초기 설정 후 변경이 가능합니다. 참조하다 . * ONTAP SAN 드라이버*: iSCSI에 대해서는 지정하지 마세요. Trident ONTAP Selective LUN Map을 사용하여 다중 경로 세션을 설정하는 데 필요한 iSCI LIF를 검색합니다. dataLIF가 명시적으로 정의된 경우 경고가 생성됩니다. IPv6 플래그를 사용하여 Trident 설치한 경우 IPv6 주소를 사용하도록 설정할 수 있습니다. IPv6 주소는 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]와 같이 대괄호로 정의해야 합니다. |
|
|
자동 내보내기 정책 생성 및 업데이트 활성화[부울] 를 사용하여 |
|
|
Kubernetes 노드 IP를 필터링할 CIDR 목록 |
"["0.0.0.0/0", "::/0"]" |
|
볼륨에 적용할 임의의 JSON 형식 레이블 세트 |
"" |
|
클라이언트 인증서의 Base64로 인코딩된 값입니다. 인증서 기반 인증에 사용됨 |
"" |
|
클라이언트 개인 키의 Base64 인코딩된 값입니다. 인증서 기반 인증에 사용됨 |
"" |
|
신뢰할 수 있는 CA 인증서의 Base64로 인코딩된 값입니다. 선택 과목. 인증서 기반 인증에 사용됩니다. |
"" |
|
클러스터 또는 SVM에 연결할 사용자 이름입니다. 자격 증명 기반 인증에 사용됩니다. 예를 들어, vsadmin. |
|
|
클러스터 또는 SVM에 연결하기 위한 비밀번호입니다. 자격 증명 기반 인증에 사용됩니다. |
|
|
사용할 스토리지 가상 머신 |
SVM managementLIF가 지정된 경우 파생됩니다. |
|
SVM에서 새로운 볼륨을 프로비저닝할 때 사용되는 접두사입니다. 생성 후에는 수정할 수 없습니다. 이 매개변수를 업데이트하려면 새로운 백엔드를 만들어야 합니다. |
|
|
* Amazon FSx for NetApp ONTAP 에 대해서는 지정하지 마세요.* 제공된 |
사용하지 마세요. |
|
요청된 볼륨 크기가 이 값보다 크면 프로비저닝에 실패합니다. 또한 qtree 및 LUN에 대해 관리하는 볼륨의 최대 크기를 제한합니다. |
"" (기본적으로 적용되지 않음) |
|
Flexvol 볼륨당 최대 LUN은 [50, 200] 범위 내에 있어야 합니다. SAN만 해당. |
“100” |
|
문제 해결 시 사용할 디버그 플래그입니다. 예를 들어, {"api":false, "method":true} 사용하지 마십시오. |
널 |
|
쉼표로 구분된 NFS 마운트 옵션 목록입니다. Kubernetes 지속형 볼륨의 마운트 옵션은 일반적으로 스토리지 클래스에 지정되지만, 스토리지 클래스에 마운트 옵션이 지정되지 않은 경우 Trident 는 스토리지 백엔드의 구성 파일에 지정된 마운트 옵션을 사용합니다. 스토리지 클래스나 구성 파일에 마운트 옵션이 지정되지 않은 경우 Trident 연관된 영구 볼륨에 마운트 옵션을 설정하지 않습니다. |
"" |
|
NFS 또는 SMB 볼륨 생성을 구성합니다. 옵션은 다음과 같습니다 |
|
|
FlexVol volume 당 최대 Qtree는 [50, 300] 범위 내에 있어야 합니다. |
|
|
다음 중 하나를 지정할 수 있습니다. Microsoft Management Console이나 ONTAP CLI를 사용하여 만든 SMB 공유의 이름 또는 Trident SMB 공유를 만들 수 있도록 하는 이름입니다. 이 매개변수는 Amazon FSx for ONTAP 백엔드에 필요합니다. |
|
|
ONTAP REST API를 사용하기 위한 부울 매개변수입니다. 설정 시 |
|
|
AWS FSx for ONTAP 의 구성 파일에서 다음을 지정할 수 있습니다. |
|
|
AWS Secrets Manager에 저장할 FSx SVM 자격 증명을 지정합니다. - |
볼륨 프로비저닝을 위한 백엔드 구성 옵션
다음 옵션을 사용하여 기본 프로비저닝을 제어할 수 있습니다. defaults 구성 섹션. 예를 들어, 아래의 구성 예를 참조하세요.
| 매개변수 | 설명 | 기본 |
|---|---|---|
|
LUN에 대한 공간 할당 |
|
|
공간 예약 모드; "없음"(씬) 또는 "볼륨"(두꺼움) |
|
|
사용할 스냅샷 정책 |
|
|
생성된 볼륨에 할당할 QoS 정책 그룹입니다. 스토리지 풀 또는 백엔드별로 qosPolicy 또는 adaptiveQosPolicy 중 하나를 선택합니다. Trident 에서 QoS 정책 그룹을 사용하려면 ONTAP 9.8 이상이 필요합니다. 공유되지 않는 QoS 정책 그룹을 사용해야 하며, 정책 그룹이 각 구성 요소에 개별적으로 적용되도록 해야 합니다. 공유 QoS 정책 그룹은 모든 작업 부하의 총 처리량에 대한 상한을 적용합니다. |
"" |
|
생성된 볼륨에 할당할 적응형 QoS 정책 그룹입니다. 스토리지 풀 또는 백엔드별로 qosPolicy 또는 adaptiveQosPolicy 중 하나를 선택합니다. ontap-nas-economy에서 지원되지 않습니다. |
"" |
|
스냅샷에 예약된 볼륨의 백분율 "0" |
만약에 |
|
생성 시 부모로부터 복제본을 분할합니다. |
|
|
새 볼륨에서 NetApp 볼륨 암호화(NVE)를 활성화합니다. 기본값은 다음과 같습니다. |
|
|
LUKS 암호화를 활성화합니다. 참조하다"Linux Unified Key Setup(LUKS) 사용" . SAN만 해당. |
"" |
|
사용할 계층화 정책 |
|
|
새로운 볼륨에 대한 모드입니다. SMB 볼륨의 경우 비워 두세요. |
"" |
|
새로운 볼륨에 대한 보안 스타일입니다. NFS 지원 |
NFS 기본값은 |
SMB 볼륨 프로비저닝 준비
다음을 사용하여 SMB 볼륨을 프로비저닝할 수 있습니다. ontap-nas 운전사. 완료하기 전에ONTAP SAN 및 NAS 드라이버 통합 다음 단계를 완료하세요.
SMB 볼륨을 프로비저닝하기 전에 다음을 수행하십시오. ontap-nas 운전자는 다음 사항을 갖춰야 합니다.
-
Linux 컨트롤러 노드와 Windows Server 2019를 실행하는 하나 이상의 Windows 워커 노드가 있는 Kubernetes 클러스터입니다. Trident Windows 노드에서 실행되는 Pod에 마운트된 SMB 볼륨만 지원합니다.
-
Active Directory 자격 증명을 포함하는 Trident 비밀이 하나 이상 있어야 합니다. 비밀을 생성하려면
smbcreds:kubectl create secret generic smbcreds --from-literal username=user --from-literal password='password' -
Windows 서비스로 구성된 CSI 프록시. 구성하려면
csi-proxy, 참조하다"GitHub: CSI 프록시" 또는"GitHub: Windows용 CSI 프록시" Windows에서 실행되는 Kubernetes 노드의 경우.
-
SMB 주식을 생성합니다. 다음 두 가지 방법 중 하나를 사용하여 SMB 관리자 공유를 생성할 수 있습니다."Microsoft 관리 콘솔" 공유 폴더 스냅인 또는 ONTAP CLI 사용. ONTAP CLI를 사용하여 SMB 공유를 생성하려면:
-
필요한 경우 공유에 대한 디렉토리 경로 구조를 만듭니다.
그만큼
vserver cifs share create이 명령은 공유 생성 중에 -path 옵션에 지정된 경로를 확인합니다. 지정된 경로가 존재하지 않으면 명령이 실패합니다. -
지정된 SVM과 연관된 SMB 공유를 만듭니다.
vserver cifs share create -vserver vserver_name -share-name share_name -path path [-share-properties share_properties,...] [other_attributes] [-comment text] -
공유가 생성되었는지 확인하세요.
vserver cifs share show -share-name share_name참조하다"SMB 공유 만들기" 자세한 내용은 다음을 참조하세요.
-
-
백엔드를 생성할 때 SMB 볼륨을 지정하려면 다음을 구성해야 합니다. 모든 FSx for ONTAP 백엔드 구성 옵션에 대해서는 다음을 참조하세요."FSx for ONTAP 구성 옵션 및 예제" .
매개변수 설명 예 smbShare다음 중 하나를 지정할 수 있습니다. Microsoft Management Console이나 ONTAP CLI를 사용하여 만든 SMB 공유의 이름 또는 Trident SMB 공유를 만들 수 있도록 하는 이름입니다. 이 매개변수는 Amazon FSx for ONTAP 백엔드에 필요합니다.
smb-sharenasType설정해야 합니다
smb. null인 경우 기본값은 다음과 같습니다.nfs.smbsecurityStyle새로운 볼륨에 대한 보안 스타일입니다. 설정해야 합니다
ntfs또는mixedSMB 볼륨의 경우.ntfs`또는 `mixedSMB 볼륨의 경우unixPermissions새로운 볼륨에 대한 모드입니다. SMB 볼륨의 경우 비워두어야 합니다.
""