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
'Kubernetes' 카테고리의 다른 글
Kubernetes : MySQL 컨테이너의 데이터 → 호스트 디렉토리에 저장 (0) | 2024.12.24 |
---|---|
Kubernetes : 호스트 머신 디렉토리 → Pod 내 컨테이너 공유 (0) | 2024.12.24 |
Kubernetes : 로드밸런싱 (0) | 2024.12.23 |
Kubernetes : 트래픽 라우팅 (Ingress Controller 설정) (1) | 2024.12.23 |
Kubernetes : WEB 서비스 (WORDPRESS) 부하 분산 (1) | 2024.12.19 |