Skip to main content
NetApp Solutions
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

NetApp AIPod 구축을 위한 Kubernetes StorageClasses 예

기여자

Trident를 사용하여 Kubernetes 클러스터 내에서 스토리지 리소스를 동적으로 프로비저닝하려면 먼저 하나 이상의 Kubernetes StorageClasses를 생성해야 합니다. 다음 예제는 에서 이 솔루션의 구성 요소를 배포할 때 만들 수 있는 다양한 유형의 StorageClasses를 나타냅니다 "NetApp AIPod". StorageClasses에 대한 자세한 내용과 다른 플랫폼/환경에 대한 StorageClasses에 대한 자세한 내용은 를 참조하십시오 "Trident 문서".

  1. NetApp에서는 섹션 "NetApp AIPod 구축을 위한 Trident 백엔드의 예"1단계에서 만든 FlexGroup 지원 Trident 백엔드에 대해 StorageClass를 생성할 것을 권장합니다. 다음 명령 예에서는 섹션에 생성된 두 예제 백엔드에 해당하는 여러 StorageClasses를 생성하는 방법을 보여 줍니다. 이 백엔드는 "NetApp AIPod 구축을 위한 Trident 백엔드의 예"1단계에서 사용하고, 백엔드는 사용하지 "RDMA 상의 NFS"않는 백엔드와 같은 두 가지 예입니다.

    영구 볼륨은 해당 PersistentVolumeClaim(PVC)이 삭제되어도 삭제되지 않도록 다음 예에서는 "Retain"의 "reclaimPolicy" 값을 사용합니다. '청구 정책' 필드에 대한 자세한 내용은 공식 을 참조하십시오 "Kubernetes 문서".

    참고: 다음 예제 StorageClasses는 최대 전송 크기인 262144를 사용합니다. 이 최대 전송 크기를 사용하려면 그에 따라 ONTAP 시스템에서 최대 전송 크기를 구성해야 합니다. 자세한 내용은 을 "ONTAP 설명서" 참조하십시오.

    참고: RDMA를 통해 NFS를 사용하려면 ONTAP 시스템에서 NFS over RDMA를 구성해야 합니다. 자세한 내용은 을 "ONTAP 설명서" 참조하십시오.

    참고: 다음 예제에서 StorageClass 정의 파일의 StoragePool 필드에 특정 백엔드가 지정되지 않았습니다.

    $ cat << EOF > ./storage-class-aipod-flexgroups-retain.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: aipod-flexgroups-retain
    provisioner: csi.trident.netapp.io
    mountOptions: ["vers=4.1", "nconnect=16", "rsize=262144", "wsize=262144"]
    parameters:
      backendType: "ontap-nas-flexgroup"
      storagePools: "aipod-flexgroups-iface1:.*"
    reclaimPolicy: Retain
    EOF
    $ kubectl create -f ./storage-class-aipod-flexgroups-retain.yaml
    storageclass.storage.k8s.io/aipod-flexgroups-retain created
    $ cat << EOF > ./storage-class-aipod-flexgroups-retain-rdma.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: aipod-flexgroups-retain-rdma
    provisioner: csi.trident.netapp.io
    mountOptions: ["vers=4.1", "proto=rdma", "max_connect=16", "rsize=262144", "wsize=262144"]
    parameters:
      backendType: "ontap-nas-flexgroup"
      storagePools: "aipod-flexgroups-iface1:.*"
    reclaimPolicy: Retain
    EOF
    $ kubectl create -f ./storage-class-aipod-flexgroups-retain-rdma.yaml
    storageclass.storage.k8s.io/aipod-flexgroups-retain-rdma created
    $ kubectl get storageclass
    NAME                             PROVISIONER             AGE
    aipod-flexgroups-retain          csi.trident.netapp.io   0m
    aipod-flexgroups-retain-rdma     csi.trident.netapp.io   0m
  2. 또한 NetApp에서는 "AIPod 구축을 위한 Trident 백엔드의 예"2단계 섹션에서 만든 FlexVol 지원 Trident 백엔드에 해당하는 StorageClass 를 만드는 것이 좋습니다. 다음 명령 예에서는 FlexVol 볼륨에 대한 단일 StorageClass를 생성하는 것을 보여 줍니다.

    참고: 다음 예제에서 StorageClass 정의 파일의 StoragePool 필드에 특정 백엔드가 지정되지 않았습니다. Kubernetes를 사용하여 이 StorageClass를 사용하여 볼륨을 관리하는 경우 Trident는 를 사용하는 사용 가능한 백엔드를 사용합니다 ontap-nas 드라이버.

    $ cat << EOF > ./storage-class-aipod-flexvols-retain.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: aipod-flexvols-retain
    provisioner: netapp.io/trident
    parameters:
      backendType: "ontap-nas"
    reclaimPolicy: Retain
    EOF
    $ kubectl create -f ./storage-class-aipod-flexvols-retain.yaml
    storageclass.storage.k8s.io/aipod-flexvols-retain created
    $ kubectl get storageclass
    NAME                             PROVISIONER             AGE
    aipod-flexgroups-retain          csi.trident.netapp.io   0m
    aipod-flexgroups-retain-rdma     csi.trident.netapp.io   0m
    aipod-flexvols-retain            csi.trident.netapp.io   0m