초보를 위한 쿠버네티스 안내서 - Volume

yshjft·2023년 11월 11일
0

만약 Pod을 제거하게되면 컨테이너 내부에 저장했던 데이터 또한 모두 제거된다. 이러한 문제를 해결하기 위해 별도의 저장소에 데이터를 저장하고 컨테이너를 새로 만들 때 이전 데이터를 가져와야 하는데 이를 위해 Volume을 사용한다.

empty-dir

  • pod에 속한 컨테이너 간 디렉토리를 공유하는 법
apiVersion: v1
kind: Pod
metadata:
  name: sidecar
spec:
  containers:
    - name: app
      image: busybox
      args:
        - /bin/sh
        - -c
        - >
          while true;
          do
            echo "$(date)\n" >> /var/log/example.log;
            sleep 1;
          done
      volumeMounts:
        - name: varlog
          mountPath: /var/log
    - name: sidecar
      image: busybox
      args: [/bin/sh, -c, "tail -f /var/log/example.log"]
      volumeMounts:
        - name: varlog
          mountPath: /var/log
  volumes:
    - name: varlog
      emptyDir: {}

hostpath

  • 호스트(node)의 디렉토리를 컨테이너 디렉토리에 연결하는 방법
apiVersion: v1
kind: Pod
metadata:
  name: host-log
spec:
  containers:
    - name: log
      image: busybox
      args: ["/bin/sh", "-c", "sleep infinity"]
      volumeMounts:
        - name: varlog
          mountPath: /host/var/log # 컨테이너 내부 디렉토리
  volumes:
    - name: varlog
      hostPath:
        path: /var/log # 실제 node의 디렉토리
profile
꾸준히 나아가자 🐢

0개의 댓글