1. 주요 목적
1.1. 호스트 디렉토리 공유
- 호스트 머신의 /data 디렉토리를 Pod 내 두 컨테이너에 마운트하여 데이터 공유
- Nginx 컨테이너와 Alpine 컨테이너가 각각 /host-pass와 /host-alpine 경로를 통해 접근
1.2. 컨테이너 구성
- n1 (Nginx)
- 웹 서버 실행.
- /host-pass 경로에서 호스트 디렉토리(/data) 데이터 접근 가능
- a1 (Alpine)
- /home 디렉토리의 파일을 지속적으로 모니터링(tail 명령어)
- /host-alpine 경로에서 호스트 디렉토리(/data) 데이터 접근 가능
2. 활용 목적
- 데이터 공유 : 호스트 머신의 데이터를 Pod 내에서 컨테이너들이 실시간으로 접근하거나 수정할 수 있도록 지원
- 로그 모니터링 및 협업 : 하나의 컨테이너가 데이터를 모니터링하고, 다른 컨테이너가 데이터를 제공하거나 활용할 수 있는 환경 구축
3. 세부 방법
3.1. Master PC
step1) 디렉토리 만들기 : mkdir /data
step2) 텍스트 파일 만들기 : touch /data/master.txt
3.2. Node1 PC
step1) 디렉토리 만들기 : mkdir /data
step2) 텍스트 파일 만들기 : touch /data/node1.txt
3.3. Node2 PC
step1) 디렉토리 만들기 : mkdir /data
step2) 텍스트 파일 만들기 : touch /data/node2.txt
3.4. Node3 PC
step1) 디렉토리 만들기 : mkdir /data
step2) 텍스트 파일 만들기 : touch /data/node3.txt
3.5. Master PC
step1) Node2 PC yml 파일 만들기 : vi hostpod.yml
apiVersion: v1 kind: Pod metadata: name: host-pod labels: host: pod spec: containers: - name: n1 image: nginx imagePullPolicy: Never ports: - containerPort: 80 volumeMounts: - mountPath: /host-nginx name: behwang-host - name: a1 image: alpine imagePullPolicy: Never command: [ "tail", "-F", "/home" ] volumeMounts: - mountPath: /host-alpine name: behwang-host volumes: - name: behwang-host hostPath: path: /data type: Directory |
step2) yml 파일 실행 : kubectl apply -f hostpod.yml
step3) /host-nginx 경로 내 파일 확인 : kubectl exec -it host-pod -- ls -al /host-nginx
step4) /host-alpine 경로 내 파일 확인 : kubectl exec -it host-pod -c a1 -- ls -al /host-alpine
'Kubernetes' 카테고리의 다른 글
Kubernetes : PV, PVC (0) | 2024.12.24 |
---|---|
Kubernetes : MySQL 컨테이너의 데이터 → 호스트 디렉토리에 저장 (0) | 2024.12.24 |
Kubernetes : 컨테이너 간 데이터 공유 (볼륨 활용) (0) | 2024.12.24 |
Kubernetes : 로드밸런싱 (0) | 2024.12.23 |
Kubernetes : 트래픽 라우팅 (Ingress Controller 설정) (1) | 2024.12.23 |