Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

charminseok

[쿠버네티스] 볼륨 본문

쿠버네티스

[쿠버네티스] 볼륨

charminseok 2022. 11. 7. 10:26
  • 다중 컨테이너 파드 생성
  • 컨테이너 간 디스크 스토리지를 공유하기 위한 볼륨 생성
  • 파드 내부에 깃 리포지터리 사용
  • 파드에 GCE 퍼시스턴트 디스크와 같은 퍼시스턴트 스토리지 연결
  • 사전 프로비저닝된 퍼시스턴트 스토리지
  • 퍼시스턴트 스토리지의 동적 프로비저닝

파드 내부의 각 컨테이너는 고유하게 분리된 파일시스템을 가진다. 컨테이너가 시작할때 컨테이너 이미지를 빌드할 때 추가한 파일들을 갖는 컨테이너를 시작한다. 이미지를 통해 파일을 가져오기 때문에 컨테이너가 재실행 된다면 이전에 실행했던 컨테이너에 쓰여진 파일시스템은 볼 수 없다.

이런 상황에서 특정 데이터를 가진 디렉터리를 보존하고 싶을 경우, 쿠버네티스에서 제공하는 기능이 볼륨이다.

스토리지 볼륨은 파드와 같은 최상위 리소스는 아니지만 파드의 일부분으로 정의되며 파드와 동일한 라이프사이클을 가진다.

쿠버네티스 볼륨은 파드의 구성 요소로 컨테이너와 동일하게 파드 스펙에서 정의된다. 파드의 모든 컨테이너에서 사용 가능하지만 접근하려는 컨테이너에서 각각 마운트돼야 한다.

볼륨 유형

  • emptyDir: 일시적인 데이터 저장에 사용되는 빈 디렉터리
  • hostPaths: 워커 노드의 파일시스템을 파드의 디렉터리로 마운트하는 데 사용
  • gitRepo: 깃 레포지토리의 콘텐츠를 체크아웃해 초기화한 볼륨
  • nfs: NFS 공유를 파드에 마운트
  • gcePersistentDisk, awsElasticBlockStore, azureDisk: 클라우드 스토리지
  • cinder, cepgfs, iscsi, flocker, glusterfs, quobyte, rbd, flexVolume, vsphereVolume, photonPersistentDisk, scaleIO: 다른 유형의 네트워크 스토리지 마운트
  • configMap, secret, downwardAPI: 쿠버네티스 리소스나 클러스터 정포를 파드에 노출하는 데 사용되는 특별한 유형의 불륨
  • persistentVolumeClaim: 사전에 혹은 동적으로 프로비저닝된 퍼시스턴트 스토리지를 사용하는 방법

퍼시스턴트 볼륨과 퍼시스턴트 볼륨 클레임

인프라 스트럭처의 세부 사항을 처리하지 않고 애플리케이션이 쿠버네티스 크러스터에 스토리지를 요청할 수 있도록 하기위해 새로운 리소스 두 개가 도입됐다. 퍼시스턴트 볼륨과 퍼시스턴트 볼륨 클레임이다.

개발자가 파드에 기술적인 세부 사항을 기재한 볼륨을 추가하는 대신 클러스터 관리자가 기반 스토리지를 설정하고 쿠버네티스 API 서버로 퍼시스턴트 볼륨 리소스를 생성해 쿠버네티스에 등록한다. 퍼시스턴트 볼륨이 생성되면 관리자는 크기와 지원 가능한 접근모드를 지정한다.

클러스터 사용자가 최소 크기와 필요한 접근 모드를 명시한 퍼시스턴트 볼륨 클레임 매니페스트를 생성하고 쿠버네티스 API 서버에 개시하면 쿠버네티스는 적절한 퍼시스턴트 볼륨을 찾아 클레임에 볼륨을 바인딩한다. 이렇게 바인딩된 볼륨을 파드내부 볼륨으로 사용할 수 있고, 이 볼륨은 바인딩이 삭제되기 전까지 다른 사용자가 사용할 수 없다.

퍼시트턴트 볼륨의 동적 프로비저닝

관리자가 직접 실제 스토리지를 미리 프로비저닝하는 대신 쿠버네티스는 퍼시스턴트 볼륨의 동적 프로비저닝을 한다.

관리자는 퍼시스턴트 볼륨을 생성하는 대신 퍼시스턴트 볼륨 프로비저너를 배포하고 사용자가 선택 가능한 퍼시스턴트 볼륨의 타입을 하나 이상의 스토맂 클래스 오브젝트로 정의할 수 있다. 사용자가 PVC에서 스토리지클래스를 참조하면 프로비저너가 퍼시스턴트 스톨지를 프로비저닝할 때 이를 처리한다.

'쿠버네티스' 카테고리의 다른 글

[쿠버네티스] 서비스  (0) 2022.10.30
[쿠버네티스] 레플리카 컨트롤러  (1) 2022.10.13
[쿠버네티스] 쿠버네티스 소개  (0) 2022.09.30