실습 예제 5-4와 같이 컨테이너가 제한된 범위의 노드 파일 시스템을 볼 수 있도록 sleep 파드를 업데이트하고, 파일 내용을 확인하라.
# 파드 업데이트 kubectl apply -f sleep/sleep-with-hostPath-subPath.yaml # 노드 파일 시스템에서 파드의 로그 확인 kubectl exec deploy/sleep -- sh -c 'ls /pod-logs | grep _pi-' # 컨테이너 로그 확인 kubectl exec deploy/sleep -- sh -c 'ls /container-logs | grep nginx'
이번에는 로그 파일 디렉터리 외에는 노드의 파일 시스템을 뒤져 볼 수 없었다. 그림 5-10에서 보듯이, 컨테이너가 마운트된 하위 디렉터리밖에 접근하지 못하기 때문이다.
호스트경로 볼륨은 유상태(stateful) 애플리케이션을 쿠버네티스로 처음 도입할 때 유리하다. 사용하기 쉽고, 모든 클러스터에서 동일하게 동작하는 것이 장점이다. 실제 서비스에서도 이 점은 마찬가지이지만 상태가 임시 저장되는 것이어야 한다는 제한이 있다. 상태를 영구적으로 저장해야 한다면 클러스터 내 임의의 노드에서 접근할 수 있는 유형의 볼륨을 사용해야 한다.