NFS CSI 드라이버 작업 - AWS Storage Gateway

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

NFS CSI 드라이버 작업

이 섹션의 절차에 따라 Kubernetes 클러스터의 스토리지에 Amazon S3 File Gateway에서 NFS 파일 공유를 사용하는 데 필요한 CSI 드라이버를 설치, 구성 또는 삭제합니다. 자세한 내용은의 GitHub에서 오픈 소스 NFS CSI 드라이버 설명서를 참조하세요https://github.com/kubernetes-csi/csi-driver-nfs/blob/master/docs/install-csi-driver-master.md.

드라이버 설치

Kubernetes NFS CSI 드라이버를 설치하려면:
  1. Kubernetes 클러스터의 kubectl에 액세스할 수 있는 명령줄 터미널에서 다음 명령을 실행합니다.

    curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/deploy/install-driver.sh | bash -s master --

  2. 이전 명령이 완료될 때까지 기다린 다음 다음 명령을 사용하여 CSI 드라이버 포드가 실행 중인지 확인합니다.

    kubectl -n kube-system get pod -o wide -l app=csi-nfs-controller

    kubectl -n kube-system get pod -o wide -l app=csi-nfs-node

    다음과 같이 출력됩니다

    NAME READY STATUS RESTARTS AGE IP NODE csi-nfs-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0 csi-nfs-controller-56bfddd689-8pgr4 4/4 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 csi-nfs-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 csi-nfs-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0

NFS StorageClass 객체 생성

Kubernetes 클러스터에 대한 NFS StorageClass 객체를 생성하려면:
  1. 다음 예제storageclass.yaml와 유사한 콘텐츠가 포함된 라는 구성 파일을 생성합니다. 표시된 ExampleValues.

    --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: example-nfs-classname namespace: example-namespace provisioner: nfs.csi.k8s.io parameters: server: gateway-dns-name-or-ip-address share: /example-share-name reclaimPolicy: Retain volumeBindingMode: Immediate mountOptions: - hard - nfsvers=4.1
  2. kubectl 및에 액세스할 수 있는 명령줄 터미널에서 다음 명령을 storageclass.yaml실행합니다.

    kubectl apply -f storageclass.yaml

    참고

    이전 단계의 .yaml 구성 텍스트를 대부분의 타사 Kubernetes 관리 및 컨테이너화 플랫폼에 제공하여 StorageClass를 생성할 수도 있습니다.

  3. 생성한 새 StorageClass 객체를 사용하도록 Kubernetes 클러스터의 포드를 구성합니다. 자세한 내용은의 Kubernetes 온라인 설명서를 참조하세요https://kubernetes.io/docs/concepts/storage/.

NFS PersistentVolume 및 PersistentVolumeClaim 객체 생성

새 NFS PersistentVolume 및 PersistentVolumeClaim 객체를 생성하려면
  1. persistentvolume.yaml 및 라는 두 개의 구성 파일을 생성합니다persistentvolumeclaim.yaml.

  2. 의 경우 다음 예와 유사한 콘텐츠를 persistentvolume.yaml추가합니다. 표시된 ExampleValues.

    --- apiVersion: v1 kind: PersistentVolume metadata: name: pv-nfs-examplename spec: capacity: storage: 10Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain mountOptions: - hard - nolock - nfsvers=4.1 csi: driver: nfs.csi.k8s.io readOnly: false volumeHandle: unique-volumeid-example # make sure it's a unique id in the cluster volumeAttributes: server: gateway-dns-name-or-ip-address share: /example-share-name
  3. 의 경우 다음 예와 유사한 콘텐츠를 persistentvolumeclaim.yaml추가합니다. 표시된 ExampleValues.

    --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: examplename-pvc-nfs-static spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi volumeName: pv-nfs-examplename # make sure specfied volumeName matches the name of the PersistentVolume you created storageClassName: ""
  4. kubectl 및 두 .yaml 파일에 모두 액세스할 수 있는 명령줄 터미널에서 다음 명령을 실행합니다.

    kubectl apply -f persistentvolume.yaml

    kubectl apply -f persistentvolumeclaim.yaml

    참고

    이전 단계의 .yaml 구성 텍스트를 대부분의 타사 Kubernetes 관리 및 컨테이너화 플랫폼에 제공하여 PersistentVolume 및 PersistentVolumeClaim 객체를 생성할 수도 있습니다.

  5. 생성한 새 PersistentVolumeClaim 객체를 사용하도록 Kubernetes 클러스터의 포드를 구성합니다. 자세한 내용은의 Kubernetes 온라인 설명서를 참조하세요https://kubernetes.io/docs/concepts/storage/.

드라이버 제거

Kubernetes NFS CSI 드라이버를 제거하려면:
  • Kubernetes 클러스터의 kubectl에 액세스할 수 있는 명령줄 터미널에서 다음 명령을 실행합니다.

    curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/deploy/uninstall-driver.sh | bash -s master --