NetApp ONTAP iSCSI 구성
iSCSI를 통해 영구 볼륨의 NetApp ONTAP 스토리지 시스템을 VMware Tanzu Kubernetes 클러스터와 통합하여 각 노드에 로그인하고 iSCSI 볼륨을 마운트하는 iSCSI 유틸리티 또는 패키지를 구성하여 노드를 준비합니다. 이렇게 하려면 여기에 설명된 절차를 따르십시오 "링크".
NetApp은 VMware Tanzu Kubernetes 클러스터의 NAT 구현 시 이 절차를 권장하지 않습니다. |
TKGI는 변경 불가능한 구성 이미지를 실행하는 Tanzu Kubernetes 클러스터의 노드로 Bosh VM을 사용하며, Bosh VM에서 iSCSI 패키지를 수동으로 변경하는 경우 재부팅 후에도 지속되지 않습니다. 따라서 TKGI에서 구축 및 운영하는 Tanzu Kubernetes 클러스터의 영구 스토리지에는 NFS 볼륨을 사용하는 것이 좋습니다. |
클러스터 노드가 iSCSI 볼륨에 대해 준비된 후에는 스토리지 시스템과의 통신을 지원하는 백엔드를 생성해야 합니다. 이 솔루션에 기본 백엔드를 구성했지만, 보다 맞춤화된 옵션을 원하는 경우 설명서를 참조하십시오 "여기".
ONTAP에서 SVM을 생성합니다
ONTAP에서 SVM을 생성하려면 다음 단계를 완료하십시오.
-
ONTAP System Manager에 로그인하고 스토리지 > 스토리지 VM으로 이동한 다음 추가를 클릭합니다.
-
SVM의 이름을 입력하고 iSCSI 프로토콜을 설정한 다음 데이터 LIF에 대한 세부 정보를 제공합니다.
-
SVM 관리 계정의 세부 정보를 입력한 다음 저장을 클릭합니다.
-
SVM에 애그리게이트를 할당하려면 스토리지 > 스토리지 VM으로 이동하고, 새로 생성한 SVM 옆의 줄임표를 클릭한 다음 편집 을 클릭합니다. Limit Volume Creation to Preferred Local Tiers 확인란을 선택하고 필요한 애그리게이트를 이 체크박스에 연결합니다.
백엔드 및 StorageClasses를 생성합니다
-
NFS를 지원하는 NetApp ONTAP 시스템의 경우 backendName, managementLIF, datLIF, svm, 사용자 이름을 사용하여 jumphost에 백엔드 구성 파일을 생성합니다. 암호 및 기타 세부 정보
{ "version": 1, "storageDriverName": "ontap-san", "backendName": "ontap-san+10.61.181.231", "managementLIF": "172.21.224.201", "dataLIF": "10.61.181.231", "svm": "trident_svm_iscsi", "username": "admin", "password": "password" }
-
다음 명령을 실행하여 Trident 백엔드를 생성합니다.
[netapp-user@rhel7 trident-installer]$ ./tridentctl -n trident create backend -f backend-ontap-san.json +------------------------+----------------+--------------------------------------+--------+---------+ | NAME | STORAGE DRIVER | UUID | STATE | VOLUMES | +------------------------+----------------+--------------------------------------+--------+---------+ | ontap-san+10.61.181.231 | ontap-san | 6788533c-7fea-4a35-b797-fb9bb3322b91 | online | 0 | +------------------------+----------------+--------------------------------------+--------+---------+
-
백엔드를 생성한 후 다음 번에 스토리지 클래스를 생성해야 합니다. 다음 샘플 저장소 클래스 정의에서는 필수 및 기본 필드를 강조 표시합니다. 매개 변수 'backendType'은 새로 생성된 Trident 백엔드의 스토리지 드라이버를 반영해야 합니다. 또한 이름 필드 값을 기록해 둡니다. 이 값은 나중에 참조해야 합니다.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ontap-iscsi provisioner: csi.trident.netapp.io parameters: backendType: "ontap-san"
이 파일에 정의된 fschType이라는 선택적 필드가 있습니다. iSCSI 백엔드에서 이 값을 특정 Linux 파일 시스템 유형(XFS, ext4 등)으로 설정하거나 삭제하여 Tanzu Kubernetes 클러스터가 사용할 파일 시스템을 결정할 수 있도록 할 수 있습니다. -
kubeck 명령을 실행하여 스토리지 클래스를 생성합니다.
[netapp-user@rhel7 trident-installer]$ kubectl create -f storage-class-iscsi.yaml storageclass.storage.k8s.io/ontap-iscsi created
-
스토리지 클래스를 생성한 후 첫 번째 영구 볼륨 클레임(PVC)을 생성해야 합니다. 다음은 샘플 PVC 정의입니다. 'torageClassName' 필드가 방금 만든 스토리지 클래스의 이름과 일치하는지 확인합니다. 프로비저닝 워크로드에 따라 필요에 따라 PVC 정의를 추가로 사용자 지정할 수 있습니다.
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: basic spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: ontap-iscsi
-
kubbeck 명령을 실행하여 PVC를 생성한다. 생성 중인 백업 볼륨의 크기에 따라 생성 시간이 다소 걸릴 수 있으므로 완료 시 프로세스를 확인할 수 있습니다.
[netapp-user@rhel7 trident-installer]$ kubectl create -f pvc-basic.yaml persistentvolumeclaim/basic created [netapp-user@rhel7 trident-installer]$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE basic Bound pvc-7ceac1ba-0189-43c7-8f98-094719f7956c 1Gi RWO ontap-iscsi 3s