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

NetApp AIPod 구축을 위한 Kubernetes StorageClasses 예

기여자

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

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

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

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

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

    참고: 다음 예제에서 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. 또한 섹션에서 생성한 FlexVol 지원 Trident 백엔드에 해당하는 StorageClass를 생성하는 것이 좋습니다 "AIPod 구축을 위한 Astra Trident 백엔드의 예", 2단계. 다음 명령 예에서는 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