반응형
쿠버네티스 복습을 하면서 스토리지 관련해 요약했던 내용을 포스팅 해보겠다.
1.EBS란 ?
- Elastic Block Store (EBS)
- EC2 에서 쉽게 사용할 수 있는 영구적인 Volume (linux 가 볼륨을 디바이스로 인식하는)
- mkfs 명령어를 사용하여 mount 가능
- 다양한 유형
- ssd 기반 - gp2
- iops 속성이 존재. io1, io2., st1, sc1 등.
- iops 조절이 가능한 gp3
2.PV란 ?
- Persistent Volume
- 물리적인 볼륨을 나타냄
- Cluster 단위의 resource (node 처럼)
- 관리자가 생성하거나 pvc 로 부터 동적으로 생성됨
- 예를 들어 pv 는 요리사가 만든 피자 한 판을 굽는 것이다.
3.PVC란?
- namespace 단위의 resource (pod 처럼)
- 사용할 용량, access mode, 등의 속성을 갖고 있음
- PV의 요청을 의미하는 추상 오브젝트
- 예를 들어 pvc 는 피자 한 판에서 피자 한 조각을 손님이 접시에 담아 가져오는 것이다.
4.provisioner 란?
- storageclass 의 설정과 pvc 의 설정을 읽어 aws ebs 등 물리적인 volume 과 pv obeject 생성을 담당.
5.csi Driver 란?
- Container Storage Interface Driver
- EKS 에서는 쿠버네티스에 내장된 provisioner 를 모두 삭제하고 별도의 컨트롤러 파드를 통해 동적으로 프로비저닝을 사용할 수 있도록 만들었음. 그것이 바로 csi driver
아래 실습을 간단히 해본다
먼저 스토리지 클래스를 만들고
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: my-gp2
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2
fstype: ext4
PV를 만든다.
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 10Gi
accessModes:
- RewadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: my-gp2
hostPath:
path: /mnt/data
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc-ebs
namespace: nextcloud
spec:
storageClassName: my-gp2
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
persistentVolumeReclaimPolicy: Retain
간단하게 Pod 를 만들어 마운트해보자
apiVersion: v1
kind: Pod
metadata:
name: task-pv-pod
spec:
nodeSelector:
kubernetes.io/hostname: kube-01
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: task-pv-claim
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: task-pv-storage
반응형
'Data Engineer' 카테고리의 다른 글
아파치 스파크(apache spark) - 기본과 동작 원리 (0) | 2025.04.29 |
---|---|
카프카(apache kafka) 구성 및 기본 사용법 (1) (0) | 2025.04.15 |
쿠버네티스 Yunikorn 스케쥴러 (0) | 2025.02.20 |
airflow - Dag Factory (0) | 2025.02.18 |
airflow - gitSync 기능 연동 (0) | 2025.02.17 |