emptyDir volume
- 빈 디렉토리로 시작
- Pod 내부에서 실행중인 application은 필요한 모든 파일 작성
- Pod를 삭제하면 volume의 내용은 손실
- 동일한 pod에서 실행되는 컨테이너 간에 파일을 공유할 때 유용
- https://kubernetes.io/docs/concepts/storage/volumes/#emptydir참고
<이미지 출처 : https://www.youtube.com/watch?v=yFqeoeR3l6Q&list=PLApuRlvrZKohLYdvfX-UEFYTE7kfnnY36&index=5 >
[Hands - on]
- pod 생성 및 확인
vi empty.yaml
apiVersion: v1
kind: Pod
metadata:
name: web-empty
spec:
containers:
- image: nginx:1.14
name: nginx
volumeMounts:
- name: html
mountPath: /usr/share/nginx/html
volumes:
- name: html
emptyDir: {}
kubectl create -f empty.yaml
kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
web-empty 1/1 Running 0 45s 10.47.0.1 node3.example.com <none> <none>
- pod 내부에서 command 실행
kubectl exec web-empty -it -- /bin/bash
mount
...
/dev/root on /usr/share/nginx/html type ext4 (rw,relatime,discard)
...
Shared volume
- 여러 개의 pod들이 동일 데이터를 참조
- K8s의 Shared Disk를 pod volume으로 사용
<이미지 출처 : https://www.youtube.com/watch?v=yFqeoeR3l6Q&list=PLApuRlvrZKohLYdvfX-UEFYTE7kfnnY36&index=5 >
NFS
- NFS 서버가 공유하고 있는 데이터 디렉토리를 worker node의 pod들이 access할 수 있도록 지원
- 사전준비
- NFS 서버는 application이 사용할 공유 디렉토리를 지원하고 있어야 함.
- Worker node는 NFS 클라이언트가 되어서 NFS Server가 지원하는 공유 폴더에 접근할 수 있어야 함.
- definition
volumes:
- name: webdata
nfs:
server: nfs.server.name
path: /share/dir/path
'INFRA > DevOps' 카테고리의 다른 글
[k8s] Persistent Volume & Persistent Volume Claim (0) | 2023.04.03 |
---|---|
[K8s] Storage NFS (0) | 2023.03.27 |
[K8s] Storage 개념 및 hostPath (0) | 2023.03.14 |
[k8s] 인증과 권한 관리 - 권한편 (0) | 2023.03.06 |
[K8s] 인증과 권한 관리 - 인증편 (1) | 2023.02.27 |
댓글