SKS (Smileserv Kubernetes System) Blockstorage 배포 메뉴얼 ver. 2025.01.21
Blockstorage 배포
블록스토리지 생성
쿠버네티스 포드는 과부하, 업데이트 재배포 등으로 포드가 삭제, 재생성 될 경우 새로 만들어지며 기존 데이터가 사라지게 됩니다.
데이터의 영구 저장이 필요한 경우 PersistentVolumeClaim 을 사용하여 포드에 연결, 데이터를 저장하는데 사용 할 수 있습니다.
*주의
본과정을 그대로 진행시 블록스토리지가 생성되어 요금이 청구 되므로 확인 후 테스트 진행 부탁 드립니다.
정보
- storageClass 에 정의된 기본 파일시스템은 xfs 입니다. 다른 파일시스템으로 변경이 필요한 경우 기술지원 요청을 통해 변경 가능합니다.
- PVC 생성에 필요한 yaml 파일을 작성 합니다.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: manual-volume
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: block
- kubectl apply 로 pvc 를 생성 합니다.
kubectl apply -f test_pvc.yaml
- 생성된 정보를 확인 합니다.
kubectl get pv
kubectl get pvc
- 볼륨이 생성 되면 자동으로 체크, iwinv 계정에 블록 스토리지 서비스가 생성되며 요금이 발생합니다.
회원 아이디에 등록된 이메일로 안내 메일이 발송 됩니다.
블록스토리지 포드에 연결 배포하기
본 메뉴얼에 안내 되어있는 정보를 이용하여 생성된 PVC 를 포드에 연결, 배포하는 방법 입니다.
- deployment 생성을 위한 yaml 파일을 작성합니다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: manual-deployment
spec:
replicas: 1
selector:
matchLabels:
app: manual-nginx
template:
metadata:
labels:
app: manual-nginx
spec:
containers:
- name: manual-container
image: nginx
ports:
- containerPort: 80
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: manual-disk
volumes:
- name: manual-disk
persistentVolumeClaim:
claimName: manual-volume
✅ claimName 은 생성한 pvc 의 이름 과 같아야 합니다.
- 작성한 yaml 파일로 Deployment 를 생성 합니다.
- 생성된 Deployment 상태를 조회 할 수 있습니다.
kubectl get deployment
- Deployment 에서 자동으로 생성한 pod 상태를 확인 할 수 있습니다.
kubectl get pod
- kubectl exec 명령어로 포드 내부에 접속 할 수 있습니다.
kubectl exec -it 포드명 -- /bin/bash
- 포드에 블록스토리지가 정상 마운트 되어있는 것을 확인 할 수 있습니다.
- 테스트를 위해 간단한 index 파일을 생성, 포드 내부로 복사 합니다.
kubectl cp [file] [Pod_name]:/[복사경로]
- 연결된 로드밸런서 ip 로 접속 하여 업로드한 인덱스 페이지를 확인 할 수 있습니다.
블록스토리지 용량 추가
사용중인 블록 스토리지 용량을 늘릴 수 있습니다.
-
용량 증가만 가능하며 축소는 불가능합니다.
-
포드에 연결 되어 있어야 용량 업그레이드가 정상적으로 완료 가능 합니다.
경고
*주의) 본과정을 그대로 진행시 블록스토리지 용량이 변경되어 추가된 요금이 청구 되므로 확인 후 테스트 진행 부탁 드립니다.
- 현재 사용중인 스토리지 확인
kubectl get pvc
- 블록스토리지를 생성할 때 사용한 yaml 파일을 열어 용량을 수정 합니다.
vi test_pvc.yaml
- 수정한 yaml 파일을 적용 합니다.
정보
*스토리지 용량은 추가 만 가능하며 감소는 불가능 합니다.
kubectl apply -f test_pvc.yaml
- 잠시 후 스토리지 상태를 조회 하면 용량이 변경 된 것을 확인 할 수 있습니다.
kubectl get pvc
스토리지를 생성 했을 때와 같이 서비스 변경 안내 메일이 발송 됩니다.
팁
블록디스크가 정상적으로 확장 되지 않는 경우 pvc 정보 를 조회 하여 관련 정보를 확인 할 수 있습니다.
kubectl describe pvc MY_PVC_NAME
-
일부 오래된 파일시스템 과 같이 디스크 리마운트가 필요한 경우 포드 재시작이 필요 할 수 있습니다.
-
포드에 연결되지 않은 경우 포드에 연결이 필요 합니다.