볼륨

이 페이지에서는 Kubernetes의 볼륨과 Google Kubernetes Engine에서의 볼륨 사용법을 간단히 소개합니다.

개요

컨테이너에 있는 디스크 상의 파일은 애플리케이션이 데이터를 쓰기에 가장 간단한 장소이지만 이 방법에는 단점이 있습니다. 컨테이너가 비정상 종료되거나 기타 이유로 중지되면 파일이 손실됩니다. 뿐만 아니라 컨테이너에 있는 파일은 동일한 포드에서 실행되는 다른 컨테이너가 액세스할 수 없습니다. Kubernetes 볼륨 추상화는 이 두 가지 문제를 모두 해결합니다.

개념상 볼륨이란 포드에 있는 모든 컨테이너가 액세스할 수 있는 디렉토리입니다. 포드 사양에서 선언된 볼륨 소스는 디렉토리 생성 방법, 사용되는 저장소 매체, 디렉토리의 초기 콘텐츠를 결정합니다. 포드는 포함되는 볼륨과 컨테이너가 볼륨을 마운트하는 경로를 지정합니다.

임시 볼륨 유형은 자신을 둘러싸고 있는 포드와 수명이 같습니다. 이러한 볼륨은 포드가 생성될 때 생성되며, 컨테이너가 다시 시작될 때까지 유지됩니다. 포드가 종료되거나 삭제되면 볼륨도 함께 종료 또는 삭제됩니다.

그 밖의 볼륨 유형은 포드와 독립적으로 존재하는 내구성 있는 저장소 인터페이스입니다. 임시 볼륨과는 달리 내구성 있는 저장소가 지원하는 볼륨의 데이터는 포드가 제거되어도 보존됩니다. 볼륨은 단지 마운트 해제되며 데이터는 다른 포드에 전달할 수 있습니다. 직접 지정하지 않고 PersistentVolume 리소스를 사용하여 내구성 있는 저장소 유형의 수명주기를 관리해야 합니다.

볼륨 유형

볼륨마다 저장소 구현과 초기 콘텐츠가 다릅니다. 사용 사례에 가장 적합한 볼륨 소스를 선택할 수 있습니다. 몇 가지 일반적인 볼륨 소스가 아래 설명되어 있습니다.

emptyDir
포드의 컨테이너가 읽고 쓸 수 있는 빈 디렉토리를 제공하는 임시 볼륨 유형입니다. 어떤 이유로든 포드가 노드에서 제거되면 emptyDir의 데이터는 영원히 삭제됩니다. emptyDir는 스크래치 공간 및 포드의 여러 컨테이너 간 데이터 공유에 유용합니다.
configMap
구성 데이터에 애플리케이션이 액세스할 수 있게 하는 데 사용됩니다. configMap 볼륨의 파일은 ConfigMap 리소스에 의해 지정됩니다.
secret
비밀번호, OAuth 토큰, SSH 키 같은 민감한 정보를 애플리케이션에서 사용할 수 있게 하는 데 사용됩니다.
downwardAPI
애플리케이션에서 Downward API를 사용할 수 있게 하는 데 사용됩니다. 이 데이터에는 애플리케이션이 실행되는 포드와 컨테이너에 대한 정보가 포함됩니다. 예를 들어 포드의 네임스페이스와 IP 주소가 포함된 DownwardAPIVolumeFile을 애플리케이션에 노출하도록 포드를 구성할 수 있습니다.
persistentVolumeClaim
클러스터 운영자는 애플리케이션이 사용할 내구성 있는 저장소를 프로비저닝할 수 있습니다. 포드는 PersistentVolumeClaim을 사용하여 이 내구성 있는 저장소가 지원하는 볼륨을 마운트할 수 있습니다.

볼륨 유형의 전체 목록은Kubernetes 볼륨 문서를 참조하세요.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Kubernetes Engine