CKA 공부 28일차

Volume Driver Plugins in Docker

  • 볼륨 드라이버에 대해 알아보자.

  • Default 볼륨 플러그인은 로컬이다. (도커 볼륨 디렉토리)

  • 도커 컨테이너를 구동할 때 우리는 특정 볼륨 드라이버를 설정할 수 있다.

  • 가령 AWS에서 제공하는 볼륨드라이버를 사용하면 클라우드 저장공간을 볼륨으로써 사용할 수 있게 된다.

Container Storage Interface

  • CLI, 컨테이너 런타임 인터페이스는 k8s와 컨테이너가 어떻게 통신할 수 있는지에 대한 인터페이스를 제공한다.

  • 마찬가지로 CNI, 컨테이너 네트워크 인터페이스는 다른 네트워크 벤더들이 쿠버네티스와 어떻게 서로 통신할 수 있는지에 대한 인터페이스를 제공한다.

  • 그리고 이번에 살펴볼 CSI, 컨테아너 저장소 인터페이스는 k8s와 통신할 수 있는 저장소들간의 인터페이스이다.

Volumes

  • 컨테이너와 데이터는 수명을 함께한다.

  • 이를 위해 Volume을 사용하면 컨테이너에 저장된 데이터를 영속화 가능하다.

  • 파드 역시 마찬가지이며, 이러한 데이터를 보존하기 위해 Volume이 필요하다.

Persistent Volume

  • Persistent Volume은 쿠버네티스에서 관리하는 대용량 저장소 풀이다.

  • k8s의 파드들이 데이터를 보존하기 위해 Persistent Volume을 사용할 수 있다.

Persistent Volume Claims

  • PVC가 생기면 쿠버네티스는 PV와 PVC를 바인딩한다.

  • 또한 PVC와 PV의 정의 파일에 노드셀렉터, 라벨을 통해 특정 PVC와 PV를 바인딩하는 것도 가능하다.

Storage Class

  • 가령 퍼블릭 클라우드의 저장소를 사용한다고 해보자.

  • 그러면 매번 애플리케이션이 저장소가 필요할 때 마다 구글 클라우드에 저장 공간을 만드는 명령어를 입력해야하고, 그에 대한 PVC를 또한 작성해주어야한다. 귀찮다.

  • 위와 같은 과정을 정적 프로비저닝이라고 한다.

  • 스토리지 클래스는 구글 스토리지를 자동으로 프로비저닝하고 PVC를 생성해준다.

  • 이러한 과정을 동적 프로비저닝이라고 부른다.

  • StorageClass는 관리자가 사용자 요청으로부터 PV를 생성해주는 것과 달리, StorageClass를 통해 자동으로 수행할 수 있다.

  • 가령 StorageClass를 사용하면 실버, 골드, 플래티넘과 같이 유저 등급에 따른 저장공간을 나눠놓고 해당 저장소의 옵션을 다르게 주는 것 또한 가능하다.





© 2022. by minkuk

Powered by minkuk