본문으로 건너뛰기
SKS (Smileserv Kubernetes System) iwinv 공유 스토리지 활용 가이드 ver. 2025.07.10

iwinv 공유 스토리지를 연동하여 pvc 생성

iwinv 에서 제공 중인 공유스토리지 서비스를 SKS에 연동하여 공유스토리지에 PVC를 생성할 수 있습니다.

1. iwinv 공유 스토리지 준비

1) 공유 스토리지 서비스를 신청합니다.

2) 공유 스토리지 접근 허용 IP에 SKS 워커노드들의 IP를 추가합니다.

3) 공유 정보를 확인, 따로 기록 해둡니다.

공유정보

스토리지클래스를 만들 때 공유정보 페이지의 마운트 부분에 있는 정보가 필요합니다.

2. nfs 스토리지 클래스 생성

1) nfs csi driver 설치

(1) github 에서 k8s nfs csi driver를 다운로드합니다.

 git clone https://github.com/kubernetes-csi/csi-driver-nfs

cmd

(2) csi-driver-nfs/deploy로 이동, 다운로드 받은 파일들을 확인합니다.

cd csi-driver-nfs/deploy
ls -l

cmd

(3) install-driver.sh 를 실행합니다.

install-driver.sh를 실행하면 가장 최신버전의 드라이버로 자동 설치됩니다.

cmd

  • 특정 버전의 드라이버가 필요한 경우 install-driver.sh 뒤에 버전을 붙여서 실행합니다.
  • 2번째 인수 값으로 snapshot을 추가하면 Volume Snapshot 기능이 같이 설치됩니다.
    ex) ./install-driver.sh master snapshot

(4) 설치된 리소스를 확인 할 수 있습니다.

csi-driver 관련 리소스는 kube-system 네임스페이스에 설치됩니다.

kubectl get all -A | grep nfs 

cmd

2) 스토리지 클래스(StorageClass) 배포

(1) StorageClass manifest 작성

공유스토리지 정보에서 확인한 공유정보를 기반으로 nfs 스토리지 클래스를 정의합니다.

share_sc.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: share-nfs1 # 사용할 스토리지클래스 이름을 설정 합니다.
mountOptions:
- nfsvers=4.1
parameters:
server: share-volumes-v2.na.iwinv.net
share: /공유스토리지계정ID # 위에서 메모한 공유정보에 맞게 수정합니다.
provisioner: nfs.csi.k8s.io
reclaimPolicy: Delete
volumeBindingMode: Immediate

(2) 생성한 yaml 파일로 StorageClass 를 배포하고 확인합니다.

kubectl apply -f share_sc.yaml

kubectl get sc

cmd

3) PVC 배포

(1) PVC manifest 작성

배포한 StorageClass를 적용하여 pvc manifest를 작성합니다.

test-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-test-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
storageClassName: share-nfs1
storageClassName : 위에서 생성한 스토리지 클래스 이름으로 입력 합니다.

(2) pvc를 배포하고 확인합니다.

 kubectl apply -f test-pvc.yaml

kubectl get pvc

cmd