1. 주요 목적

 1.1. emptyDir 볼륨을 사용하여 Pod 내의 두 컨테이너(a1과 n1)가 데이터를 공유

  • emptyDir 볼륨은 Pod이 생성될 때 초기화되며, 컨테이너 간의 데이터 공유에 사용

 1.2. 컨테이너 구성

  • a1 (Alpine) : 공유 볼륨을 /test1 경로에 마운트
  • n1 (Nginx): 공유 볼륨을 /test2 경로에 마운트

 

2. 핵심 기능

  • 공유 메모리 : Pod 내에서 emptyDir을 통해 컨테이너 간 데이터를 주고 받을 수 있음
  • 컨테이너 간 협업 : Alpine 컨테이너에서 생성한 데이터를 Nginx 컨테이너에서 활용 가능

 

3. 세부 방법 

 

 3.1. Master PC

  step1) 디렉토리 만들기 : mkdir /vol
  step2) 디렉토리 이동 : cd /vol
  step3) yml 파일 만들기 : vi pod.yml 

 

apiVersion: v1
kind: Pod
metadata:
  name: vol-pod
  labels:
    test: vol
spec:
  containers:
  - name: a1
    image: alpine
    imagePullPolicy: Never
    command: [ "tail", "-F", "/home" ]
    volumeMounts:
    - mountPath: /test1
      name: behwang-vol
  - name: n1
    image: nginx
    imagePullPolicy: Never
    ports:
    - containerPort: 80
    volumeMounts:
    - mountPath: /test2
      name: behwang-vol
  volumes:
  - name: behwang-vol
    emptyDir: {}


  step4) yml 파일 실행 : kubectl apply -f pod.yml

 

 3.2. Node2 PC

  step1) 볼륨 디렉토리 찾기 : find / -name behwang-vol

  step2) 볼륨 디렉토리 이동 : cd [볼륨 디렉토리]

  step3) 텍스트 파일 만들기 : touch vol.txt 

 

 3.3. Master PC

  step1) 디폴트 컨테이너에 쉘 접속 : kubectl exec -it vol-pod -- sh 

  step2) 생성한 텍스트 파일 확인 : ls /test1

  step3) 나가기 : exit 


  step4) Nginx 컨테이너 쉘 접속 : kubectl exec -it vol-pod -c n1 -- bash

  step5) 생성한 텍스트 파일 확인 : ls /test2

  step6) 나가기 : exit

 
 

 

+ Recent posts

# 드래그 금지