CKA 준비과정 - Storage (3) / Storage Class
이전 학습에서 PVC, PV에 대해 학습했다.
PV를 생성하기 위해서는 물리적인 디스크 저장소가 생성되는 것이 먼저이다.
App 이 저장소를 요구하게 되면, 가장 먼저 물리 디스크가 프로비저닝 되어야 하고 그 다음 PV 정의파일 을 통해 파드에 할당하여 App 이 사용할 수 있게끔 해야한다.
이렇게 Storage 를 확보하고 PV 정의 파일을 생성하는 과정을 정적 프로비저닝(Static Provisioning) 이라고 한다.
App이 용량을 요구할 때, 자동으로 볼륨이 프로비저닝 되도록 돕는 것이 Storage Class 이다.
강의의 예시에서는 PV를 GCP(구글 클라우드 플랫폼) 에서 구성하는 것으로 진행한다.
PV를 생성하기 전, 구글 클라우드에서 디스크 리소스를 생성한다.
디스크 생성 후, PV를 yaml 파일 통해 생성한다.
정적 프로비저닝은 자동적으로 스토리지 공간을 미리 확보하지 않는다. 따라서 유동적인 운영을 위해서는 정적 프로비저닝이 아닌 동적 프로비저닝을 사용해야 한다.
Dynamic Provisioning(동적 프로비저닝)
동적 프로비저닝은 PV를 yaml 파일을 통해 직접 일일히 정의해줄 필요가 없다. Storage Class가 PV 역할을 대신 수행해준다.
Storage Class가 프로비저너(ex.GCP)를 정의하도록 할 수 있다. 따라서 Storage Class가 GCP에 저장소를 자동으로 프로비저닝하고 요구 사항에 맞춰 파드에 바인딩까지 진행한다.
PVC를 정의할 때, storageClass 필드를 추가하고 metadata를 추가하여 GCP와 연동할 수 있도록 한다.
물론, GCP 뿐만 아니라 프로비저너들은 많이 있다. 이 프로비저너들은 각각 매개변수를 가지며, metadata 정의 시 적절하간 매개변수를 넣어주어야 한다. 프로비저너들마다 세부적인 옵션 지정도 다 다르기 때문에, 이는 직접 확인을 따로 해봐야 한다.