NFS Client Provisioner 설정
클러스터에서 영구 볼륨을 사용하기 위해 일반적으로 스토리지와 PersistentVolume 객체를 직접 구성해야 합니다. Kubernetes Engine에서는 NFS Client Provisioner를 사용하여 카카오클라우 드 File storage를 영구 볼륨으로 사용할 수 있습니다. 클러스터에 NFS Client Provisioner를 설치하면, 간단하게 PersistentVolumeClaim를 생성하여 영구 볼륨을 생성할 수 있습니다.
NFS Client Provisioner를 설정하는 방법은 다음과 같습니다.
Step 1. 사전 작업하기
NFS Client Provisioner를 설정하기 위해서는 다음의 사전 작업이 필요합니다. 본 사전 작업은 클러스터당 한 번만 진행합니다.
kubectl 제어 설정
배포를 진행하기 전, 클러스터에 대한 kubectl 제어를 설정합니다.
kubectl 제어 설정이 되어 있지 않은 경우, kubectl 제어 설정을 참고하여 kubectl을 설정하시기 바랍니다.
File Storage 생성
Kubernetes Engine 클러스터에 대한 File Storage를 생성합니다.
-
카카오클라우드 콘솔 > Beyond Storage Service > File Storage 메뉴로 이동합니다.
-
인스턴스 메뉴에서 [인스턴스 생성] 버튼을 클릭합니다.
- 인스턴스 생성 시 파일 스토리지의 VPC는 NFS를 적용하려는 클러스터의 VPC와 동일하게 설정해야 합니다.
- Kubernetes Engine 클러스터의 노드에서 접근 가능하도록 접근 제어 설정을 설정된 VPC 내 모든 프라이빗 IP에서의 접근을 허용합니다.로 설정하여 생성합니다.
File Storage 인스턴스 만들기
-
파일 스토리지 생성 후, NFS Client Provisioner 설치를 위해 인스턴스 상세 페이지에서 마운트 정보와 VPC 정보를 확인합니다. 위해 인스턴스 상세 페이지에서 마운트 정보와 네트워크 정보를 확인합니다.
콘솔 File storage 상세 페이지
Step 2. NFS Client Provisioner 설정하기
앞서 생성한 파일 스토리지를 PVC(PersistentVolumeClaim)를 통해 동적으로 영구 볼륨으로 사용하기 위해 Client Provisioner를 설치합니다. YAML 파일 또는 Helm을 사용하여 NFS Client Provisioner를 설치합니다.
YAML 파일로 NFS Client Provisioner 배포
-
다음의 명령어를 터미널에 입력하여 NFS Client Provisioner를 설치합니다.
배포 진행 명령어kubectl --kubeconfig=$KUBE_CONFIG apply -f https://raw.githubusercontent.com/kakaoicloud-guide/kubernetes-engine/main/guide-samples/NFSclientprovisioner/nfs-subdir-external-provisioner.yml