[MSA Prepare] k8s 볼륨과 영구볼륨

·2024년 5월 3일
0

MSA Prepare

목록 보기
8/21
post-thumbnail

볼륨이란?

  • k8s는 컨테이너를 실행할 때, 볼륨을 추가하지 않음
  • deployment에 pod template에서 볼륨을 추가할 수 있음

Life time

  • 볼륨은 컨테이너를 재시작해도 유지됨
  • pod를 제거하면 볼륨도 제거됨
  • pod 재시작시에는 데이터 초기화됨!

emptyDir

  • pod를 시작시 단순히 빈 폴더를 생성
  • replicas를 이용해서 복제본을 만들면 pod가 다르기 때문에 접근 불가능
  • 즉, pod에 제한된 데이터 관리 방법
    spec:
      containers:
        - name: story
          image: images
          volumeMounts:
            - mountPath: /app/story # 작업 디렉토리의 패스
              name: story-volume
      volumes:
        - name: story-volume
          emptyDir: {}
  • spec 및에 volumes을 선언한 후, containers에서 volumeMounts를 이용해서 사용한다.

hostPath

  • pod를 실행하는 실제 머신에서 경로를 설정
  • 노드 특정 범위에서 작동함
  • 즉, Minikube상에서는 문제가 없지만, 노드가 증가한다면 다른 방식을 고려해야함
    spec:
      containers:
        - name: story
          image: images
          volumeMounts:
            - mountPath: /app/story
              name: story-volume
      volumes:
        - name: story-volume
          hostPath:
            path: /data
            type: DirectoryOrCreate

영구 볼륨

  • pod가 삭제되어도 유지되는 볼륨
  • 볼륨을 구성하고 클레임을 구성해서 연결한다.

볼륨 구성하기

apiVersion: v1
kind: PersistentVolume
metadata:
  name: host-pv
spec:
  capacity: 
    storage: 1Gi
  volumeMode: Filesystem # Bolock
  storageClassName: standard
  accessModes:
    - ReadWriteOnce # 여러 포드 하지만 동일한 노드
    - ReadOnlyMany # 읽기 전용, 여러 노드 가능
    - ReadWriteMany # 이거는 hostPath에서 못씀
  hostPath:
    path: /data
    type: DirectoryOrCreate

클레임 구성하기

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: host-pvc
spec:
  volumeName: host-pv
  accessModes:
    - ReadWriteOnce
  storageClassName: standard
  resources:
    requests: 
      storage: 1Gi

클레임 이용해서 연결하기

    spec:
      containers:
        - name: story
          image: images
          volumeMounts:
            - mountPath: /app/story
              name: story-volume
      volumes:
        - name: story-volume
          persistentVolumeClaim:
            claimName: host-pvc
profile
백엔드 개발자가 꿈인 컴공과

0개의 댓글

관련 채용 정보