728x90
쿠버네티스 (Kubernetes) Volume 관리
Kubernetes Volume
- 파드 내의 컨테이너가 종료되더라도 파일 시스템이 유지되도록 하고 싶다면?
- 쿠버네티스 볼륨을 정의해서 사용 가능
- 여러 개의 컨테이너가 볼륨을 공유해서 사용할 수도 있음
emptyDir volume
- emptyDir 볼륨은 빈 디렉토리로 시작
- 동일한 Pod에서 실행되는 컨테이너 간에 파일을 공유할 때 유용
HostPath volume
- 노드의 파일 시스템의 디렉토리나 파일을 컨테이너에 마운트
- 노드에 디렉토리나 파일을 생성하여 마운트 가능
- hostPath는 Type 지시어를 이용해 mount 구성의 요구를 추가할 수 있음
SharedVolume
- 여러 개의 Pod들이 동일 데이터를 참조
- K8S의 Shared Disk를 Pod 볼륨으로 사용
- awsEBS, gcePersistentDisk, Azure Storage, NFS Volume 등
Kubernetes Volumes 운영 환경 분리
- 기본 스토리지 운영 환경을 분리
- 관리자 : 스토리지 구성
- 개발자 : 필요한 만큼 요구
PV (PersistentVolume)
✔ 스토리지 관리자가 볼륨 생성해줌
- Reclaim Policy (PersistentVolumeReclaimPolicy)
- Retain : 삭제하지 않고 PV의 내용을 유지, 수동으로 회수가 필요한 볼륨 운영 시 필요
- Recycle : 재사용이 가능, 재사용 시 데이터 내용을 자동으로 **rm -rf**로 삭제
- Delete : 볼륨의 사용이 끝나면, 해당 볼륨 내용이 삭제됨
- AccessModes
- ReadWriteOnce (RWO) : 단일 노드에서 읽기/쓰기 마운트 가능
- ReadOnlyMany (ROX) : 다수 노드에서 읽기 전용으로 마운트 가능
- ReadWriteMany (RWX) : 다수 노드에서 읽기/쓰기로 마운트 가능
- PV의 상태
- Bound : 할당 된 상태
- Release : 사용을 기다리고 있는 상태
- Available : 언제든지 사용 가능한 상태
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv01
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
- ReadOnlyMany
persistentVolumeReclaimPolicy: Retain
nfs:
server: 172.31.3.95
path: /sharedir/disk1
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv02
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
- ReadOnlyMany
persistentVolumeReclaimPolicy: Retain
nfs:
server: 172.31.3.95
path: /sharedir/disk2
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv03
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
- ReadOnlyMany
persistentVolumeReclaimPolicy: Recycle
nfs:
server: 172.31.3.95
path: /sharedir/disk3
PVC (PersistentVolumeClaim)
✔ Application 관리자가 생성
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-mongo
spec:
resources:
requests:
storage: 10Gi
accessModes:
- ReadWriteOnce
- ReadOnlyMany
참조
반응형
'🐳 Container > K8S' 카테고리의 다른 글
[K8s] helm chart를 이용하여 GKE에 jenkins 설치 (0) | 2023.07.13 |
---|---|
[K8s] Helm (0) | 2023.06.25 |
[K8s] 쿠버네티스(Kubernetes) Ingress (0) | 2023.04.03 |
[K8s] 쿠버네티스(Kubernetes) 서비스 (0) | 2023.03.30 |
[K8s] 쿠버네티스(Kubernetes) 컨트롤러 (2) (0) | 2023.03.28 |