CKA SimB - Q13 다중 컨테이너 및 Pod 공유 볼륨

(CKA 1.32B - Q13 다중 컨테이너 및 Pod 공유 볼륨에서 넘어옴)

1 개요[ | ]

다중 컨테이너와 공유 볼륨을 가진 Pod 구성
  • 하나의 Pod 내에서 여러 컨테이너가 동일한 데이터를 공유하려면 emptyDir 같은 공유 볼륨을 사용함
  • 이 문서에서는 nginx와 busybox 두 컨테이너가 같은 디렉터리를 공유하여 데이터를 주고받는 구조를 구성함

2 구성 목표[ | ]

  • nginx 컨테이너가 /usr/share/nginx/html 경로에 웹 데이터를 제공
  • busybox 컨테이너가 주기적으로 해당 디렉터리에 index.html 파일 생성
  • 두 컨테이너는 emptyDir 볼륨을 통해 파일 공유

3 Pod YAML 예시[ | ]

apiVersion: v1
kind: Pod
metadata:
  name: shared-vol-pod
spec:
  volumes:
  - name: shared-data
    emptyDir: {}
  containers:
  - name: nginx
    image: nginx:1-alpine
    volumeMounts:
    - name: shared-data
      mountPath: /usr/share/nginx/html
  - name: writer
    image: busybox:1
    command: [ "sh", "-c", "while true; do echo Hello from busybox > /shared/index.html; sleep 10; done" ]
    volumeMounts:
    - name: shared-data
      mountPath: /shared

4 동작 확인[ | ]

  • nginx 컨테이너가 80포트를 통해 busybox가 쓴 파일을 서빙
  • 외부에서 curl 명령으로 확인
# k exec -it shared-vol-pod -c nginx -- wget -qO- localhost
Hello from busybox

5 emptyDir 특징[ | ]

  • Pod가 생성될 때 빈 디렉터리로 시작되며, Pod 내 모든 컨테이너 간 공유 가능
  • Pod가 삭제되면 emptyDir 내용도 사라짐
  • 디스크는 노드의 임시 저장소를 사용하며 크기 제한은 없음 (특정 스토리지로 구성하지 않는 한)

6 요약[ | ]

  • emptyDir은 Pod 내 여러 컨테이너가 데이터를 공유하기 위한 가장 간단한 방법
  • 두 컨테이너가 동시에 읽기/쓰기 가능한 형태로 구성할 수 있음
  • 로그 집계, 임시 파일 전달, 애플리케이션 상태 공유 등에 활용 가능
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}