EmptyDir 볼륨
emptyDir은 컨테이너 간에 공유 볼륨을 사용하고자 할 때 사용된다.
이때 생성되는 공유 볼륨은 파드 안에 생성되기 때문에 파드가 삭제될 때 함께 삭제된다. (즉, 파드 재생성시 데이터도 날라가게 된다.)
만약 파드간에 공유 볼륨을 사용하고자 한다면, persistent volume(PV)(NFS, 클라우드 스토리지 볼륨 등)을 사용하는것이 좋다.
PV는 영구볼륨으로 파드가 삭제되어도 계속 남아있기 때문이다.
먼저 파드 템플릿은 다음과 같이 작성한다.
apiVersion: v1
kind: Pod
metadata:
name: pod-volume-1
spec:
containers:
- name: container1
image: kubetm/init
volumeMounts:
- name: empty-dir
mountPath: /mount1
- name: container2
image: kubetm/init
volumeMounts:
- name: empty-dir
mountPath: /mount2
volumes:
- name : empty-dir
emptyDir: {}
파드 이름: pod-volume-1
컨테이너 1
컨테이너 이름: container1
사용할 볼륨 이름: empty-dir
볼륨을 붙일 경로: /mount1
컨테이너 2
컨테이너 이름: container2
사용할 볼륨 이름: empty-dir
볼륨을 붙일 경로: /mount2
볼륨
볼륨 이름: empty-dir
볼륨 유형: emptyDir
EmptyDir 적용해보기
1. 위의 파드템플릿으로 pod-volume-1 파드를 생성한다.
2. 파드의 container1과 container2에 각각 접속한다.
container1에는 mount1이, container2에는 mount2가 생성되어있는 것을 볼 수 있다.
3. container1의 mount1에 temp파일을 생성한다.
4. container2의 mount2를 확인해보면 temp파일이 생성된 것을 확인할 수 있다.
두 컨테이너가 하나의 공유 볼륨인 emptyDir을 바라보고 있는것을 확인할 수 있다!
'개인 프로젝트' 카테고리의 다른 글
[Ubuntu] mysqlclient 설치 시 'get_requires_for_build_wheel' 오류 해결 (0) | 2023.09.02 |
---|---|
[K8S] 'node had volume node affinity conflict' 문제 해결 (0) | 2023.08.18 |
[IaC] VirtualBox + Vagrant로 CentOS 환경 구축하기 (0) | 2023.08.09 |
[Django] 상용 환경에서 staticfiles를 찾지 못하는 에러 해결 (0) | 2023.08.07 |
[Django] WEB 서버 '400 Bad Request Error' 해결 (0) | 2023.08.07 |