본문 바로가기

⭐ Kubernetes & EKS/볼륨 스토리지 (Volume Storage)

GCE 동적 프로비저닝 및 영구스토리지 연습문제

# GCE 동적 프로비저닝

쿠버네티스 공식 사이트 > Storage Classes - Kubernetes > Provisioner > config Example 에서 확인 가능

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: storage
provisioner: kubernetes.io/gce-pd
parameters:
  type: pd-ssd
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mongo-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
  storageClassName: storage
---
apiVersion: v1
kind: Pod
metadata:
  name: mongodb
spec:
  containers:
  - image: mongo
    name: mongodb
    volumeMounts:
    - mountPath: /data/db
      name: mongodb
  volumes:
  - name: mongodb
    persistentVolumeClaim:
      claimName: mongo-pvc

# 선 삭제 후 작업 진행 - 삭제순서 일치해야 함

kubectl delete all --all

kubectl delete pvc --all

kubectl delete pv --all

# yaml 파일 생성 (pod, pvc, pv 생성)

vim mongo-storage.yaml

kubectl create -f mongo-storage.yaml

# 스토리지 클래스 조회

kubectl get sc

kubectl get pvc

kubectl get pv

# pv 정책 변경하기

kubectl edit pv pvc이름

ex) delete 옵션을 Retain으로 변경하면 변경이 된다.

# pod를 삭제했을때 어떻게 변하나 보기

kubectl delete all --all

kubectl get pvc -> 살아있음

kubectl delete pvc --all

kubectl  get pv -> 없다.

- 자동으로 생성됐던것은 pvc를 삭제하는 순간 모두 삭제가 되는것을 볼 수 있다.

# 영구 스토리지 연습문제

- 응용을 꼭 해봐야 한다. 지금까지 했던 모든 내용에 대해 응용을 통해 실습을 하고 내것으로 만들어야 한다.

- 항상 Document를 통해서 생성하는 습관을 가져야 한다.