공디렉터리라는 이름이 그리 쓸모 있게 들리는 어감은 아니지만, 파드와 같은 생애 주기를 갖기 때문에 유용할 때가 많다. 공디렉터리 볼륨에 저장된 데이터는 파드가 재시작되더라도 유지된다. 따라서 새로운 컨테이너 역시 자신이 대체한 컨테이너가 기록한 데이터에 바로 접근할 수 있다.
실습 sleep 디플로이먼트를 공디렉터리 볼륨이 추가된 예제 5-1의 정의로 업데이트한다. 이제 컨테이너가 종료되더라도 새로 생성된 컨테이너에서 그 전에 기록한 데이터를 읽을 수 있다.
# 공디렉터리 볼륨을 사용하도록 sleep 파드 업데이트 kubectl apply -f sleep/sleep-with-emptyDir.yaml # 볼륨 마운트 속 파일 목록 확인 kubectl exec deploy/sleep -- ls /data # 빈 디렉터리에 파일 하나 생성 kubectl exec deploy/sleep -- sh -c 'echo ch05 > /data/file.txt; ls /data' # 컨테이너 ID 확인 kubectl get pod -l app=sleep -o jsonpath='{.items[0].status.containerStatuses[0].containerID}' # 컨테이너 프로세스 강제 종료 kubectl exec deploy/sleep -- killall5