Featured image of post Oracle Cloud Infrastructure

Oracle Cloud Infrastructure

OCI로 k8s 클러스터를 구성하고자 하는 이유

연관 포스트


KaaS (Kubernetes as a Service)

정의

Kubernetes를 클라우드에서 관리형 서비스로 제공하는 모델이다.

특징

  • 컨테이너화된 애플리케이션의 배포, 확장, 관리 등의 업무를 간소화
  • 웹 콘솔, Terraform 등을 통해 k8s 클러스터를 자동화된 방식으로 구축 가능
  • 클라우드와 통합된 StorageClass, LoadBalancer 제공

예시

가장 대표적인 Public Cloud Provider인 AWS, Azure, GCP에서는 다음과 같은 KaaS를 제공한다.

항목AWS EKSAzure AKSGoogle GKE
지원 버전1.16.8 (2020년 5월)1.18.1, 1.18.2 (2019년 5월)1.16.8 (2020년 4월)
업데이트Master 및 Node 자동 업데이트Master 및 Node 온디맨드 업그레이드Master CLI 업그레이드, Node 수동 업데이트
CLI 지원지원지원지원
리소스 모니터링StackdriverAzure Monitor타사 도구만 지원
Node 자동 확장지원프리뷰 단계지원
Node 그룹지원미지원지원
고가용성지원개발 중지원
베어메탈 Node미지원미지원AWS 제공
Master 업데이트자동 수행수동 수행수동 수행
Node 업그레이드자동 수행수동 수행관리형/비관리형 그룹
On-PremiseAWS Outposts지원Anthos GKE



Oracle Cloud Infrastructure

Oracle Cloud Infrastructure(이하 OCI)는 Oracle에서 운영하는 Cloud Provider이다.
AWS, Azure 등과 마찬가지로 OCI 역시 Oracle Kubernetes Engine(이하 OKE)라는 KaaS를 제공한다.


Oracle을 선택한 이유

OCI 자체는 다른 Cloud Provider들에 비해 특별한 장점이 있는 것은 아니다.
하지만 개인적으로 Cloud에 k8s를 구성하길 희망한다면, 그에 부합하는 한 가지 커다란 이점이 있다.

Oracle에는 무려 상시 무료 서비스가 존재한다!

클러스터 하나를 운영하기에는 부족함이 없다.

AWS를 무료로 사용할 수 있는 기간은 1년이 한계이고, 그마저도 EKS는 포함되지도 않는다.
EKS로는 Node 하나 없이 깡통 클러스터만 만들어 놔도 시간당 $0.1씩 과금된다.

환율 1,400원 기준으로 계산하면 한 달에 무려 10만원씩 나간다!

회사 차원에서 도입을 고려하는 경우라면, 이 정도 비용 격차는 그다지 큰 메리트는 아닐 것이다.
오히려 후술한 단점들을 생각한다면 AWS나 Azure를 선택하는 것이 훨씬 합리적이다.

하지만 개인 용도 + 학습을 목표로 하는 나와 같은 입장의 방문자가 있다면 썩 괜찮은 선택지이다.



단점

  • 레퍼런스 부족: 어디서 정보를 찾기가 너무 힘들다. 대부분의 개발자들은 그 존재조차 모르는 것 같다.

  • 부실한 공식 문서: 그럼 공식 문서라도 깔끔하게 되어있어야 하는데 그것도 아니다.

    AWS에 익숙해져서 그런 것도 있겠지만, OCI의 공식 문서는 객관적으로 봐도 가독성이 매우 떨어진다.

    공식 문서 사이트 링크가 있으니 궁금한 사람은 부디 들어가서 탐험 해보길 바란다.



OCI Always Free 제한사항

OCI Free Tier 페이지에도 나와있는데, 모든 서비스가 무제한으로 사용 가능한 건 당연히 아니다.
클러스터 1개를 운영한다고 가정하고, k8s에서 가용 가능한 자원을 간단하게 요약하면 다음과 같다.

자원 유형제한사항
NodeArm 기반 Ampere A1 코어 4개, 24GB 메모리
Persistent Volume200GB
Load BalancerFlexible Network Load Balancer 1개

Node의 경우 Node 1개당 최소 1개의 코어는 필요하므로 최대 사용 가능한 Arm Node 수는 4개이다.
AMD Node도 있긴 한데, 사이즈가 너무 작아서 여기선 무시한다.

OKE로 만드는 클러스터는 1개까지 무료로 사용 가능하다.
OKE는 KaaS이기 때문에 별도로 Control-Plane Node가 필요 없다.

따라서 4개의 Arm Node는 모두 Worker Node로 쓸 수 있다! 그것도 공짜로! 아마존, 보고 있나?

목표

  • OCI Free Tier에 제한된 리소스 안에서 k8s 클러스터를 자체적으로 운영
  • 추가 비용 X
  • On-Premise 클러스터와 함께 멀티 클러스터 구성
Hugo로 만듦
JimmyStack 테마 사용 중