본문 바로가기

볼륨3

Docker volume 출처: 시작하세요! 도커/쿠버네티스 - 도커 볼륨 Docker volume은 왜 필요한가? mysql image로 container를 하나 생성했다고 가정해보자. 이 container는 Web 서버의 요청을 받아 새로운 정보를 계속 축적해나갈것이다. 즉 읽기 전용인 docker image를 기반으로 변경분이 docker container layer에 기록된다. 그런데 container를 재시작하면 어떻게 될까? 이전에 예제를 통해 확인해봐서 알겠지만 container layer의 정보는 초기화된다. 이렇게 되면 축적된 정보가 날아가게 된다. 이를 방지하기 위해 필요한것이 volume 이다. Host volume 공유 ~ % docker run -d \ --name wordpressdb_hostvolume.. 2023. 6. 11.
Kubernetes - Persistent storage - 출처: Kubernetes in action - 퍼시스턴트 스토리지 파드에서 실행중인 앱이 Disk에 데이터를 유지해야 하거나 파드가 다른 노드로 재 스케줄링 된 경우에도 동일한 데이터를 사용해야 한다면 NAS(network-attached-storage) 유형에 저장돼야 한다. MongoDB를 Persistent disk에 연동하는 예제를 살펴보자. minikube 환경이기 때문에 hostPath로 흉내내본다. apiVersion: v1 kind: Pod metadata: name: mongodb spec: containers: - image: mongo name: mongodb volumeMounts: - name: mongodb-data mountPath: /data/db ports: - con.. 2022. 11. 12.
Kubernetes - Volume - 출처: Kubernetes in action - 볼륨 소개 볼륨은 파드의 구성요소이며, 파드의 spec 에서 정의한다. 독립적인 쿠버네티스의 구성요소는 아니어서 자체적으로 생성이나 삭제가 불가능하다. 파드의 모든 컨테이너에서 사용가능하지만 접근하려는 컨테이너에서 마운트 돼야한다. 예를 들어 아래와 같은 컨테이너들이 있다고 가정해보자. 웹서버: /var/htdocs 디렉터리에서 HTML 페이지 서비스, /var/logs 에 엑세스 로그를 저장하는 웹서버 실행 컨텐츠 에이전트: /var/html 에 html 을 생성하는 에이전트 로그 로테이터: /var/logs 디렉터리를 처리(로그 순환, 압축, 분석) 또한 아래 2 가지 볼륨을 갖는다고 가정하자. 볼륨1: HTML 공유 볼륨 볼륨2: 로그 공유 볼륨 .. 2022. 11. 12.