Kubernetes 클러스터에서 다수의 Micro Service가 사용할 Disk(Volume)이 필요 한 상황이 생겼다.
GCP에서 제공하는 관리형 NAS 서비스인 Cloud Filestore를 사용 하려 했으나 300GB 정도의 용량만 필요 한 상황에서
Filestore는 HDD 기본 시작용량이 1TB, SSD는 2.5TB에 비용도 꽤나 비싸서 사용을 보류 하였고,
200GB 표준 영구 디스크 기준으로 한달에 $8.00 만 청구된다고 하는 GCE-PD 서비스를 사용 해 보기로 했다.
Cloud SDK가 설치되어 있는 클라이언트에서 아래 명령어를 실행 시킨다.
$ gcloud compute disks create --size=300GB --type=pd-standard --zone={ZONE} {DISK_NAME}
300GB 용량으로 asia-northeast1-a 지역에 cluster-shared-disk 라는 Persistent Disk를 생성하였다.
Type을 지정하지 않으면 기본적으로 pd-standard 타입으로 생성되는 것을 확인 하였다. pd-standard(표준 영구 디스크) 타입은 HDD 타입의 스토리지이며 많은 Disk I/O가 필요하지 않은 애플리케이션에 적합하면서 저렴하므로 선택하였다.
GCE-PD에서 제공하는 디스크 타입은 아래와 같다.
구글 공식문서에서는 아래의 과정도 거쳐야 인스턴스에 PD가 붙는것으로 나오지만, 맨 처음 명령어 한줄만 입력해도 GKE에서 정상적으로 인식 되었다.
$ gcloud compute instances attach-disk INSTANCE_NAME \
--disk DISK_NAME
$ gcloud compute disks describe DISK_NAME
이후 GKE 클러스터에서 배포 할 애플리케이션의 매니페스트 파일에 Volume 부분을 수정 해 준다.
이후 kubectl exec 명령어로 배포된 컨테이너에 접속해서 리눅스 명령어를 통해 Mount 된 볼륨을 확인 할 수 있다.
'IT > Kubernetes' 카테고리의 다른 글
[Kubernetes] ControlPlane 구성 요소에 대하여 새로 알게 된 사실 (0) | 2022.06.28 |
---|---|
[Kubernetes] Kubernetes 운영 환경에서 애플리케이션의 DB 커넥션 Pool 문제가 발생하였을 때. (1) | 2022.05.24 |
[Kubernetes] Kubernetes DNS를 이해 해 보자. (0) | 2022.05.24 |
[Kubernetes] 쿠버네티스 컨텍스트 명령어 정리. (0) | 2022.05.04 |
[Kubernetes] Ubuntu에 Kubernetes 싱글노드로 구축하기. (0) | 2022.02.22 |