Analysis

고객사는 애견호텔 애플리케이션을 운영하는 업체입니다. 최근 비즈니스의 확장에 따라 애견미용, 애견용품, 오프라인 매장 운영 등 여러 도메인이 추가되어 기존 모놀리직 아키텍쳐에 한계를 느끼고 있습니다. 마이크로서비스로의 전환 시 텐센트클라우드의 완전 관리형 쿠버네티스를 사용하여 관련 운영 단계에서 발생하는 리소스 사용을 최소화 하고자 합니다.

 

Architecture Blueprint

1) 네트워크 구성은 1개의 VPC와 3개의 서로 다른 가용영역으로 설정합니다.

2) TKE 클러스터를 생성합니다. 이때 고객사의 비즈니스 규모에 맞게 Cluster Specification 은 L20로 세팅합니다. 해당 옵션은 최대 20개의 노드와 600개의 파드를 지원합니다.

3) CVM 을 워커노드로 하는 Node Pool 을 생성합니다. 고객사 애플리케이션에 맞는 설정으로 워크로드를 배포합니다. 
추후 컨테이너 이미지 관리 및 배포 시에 TCR(Tencent Container Registry)을 사용할 수 있습니다.
또한 텐센트 클라우드에서는 기존 사용하던 CVM 인스턴스 노드를 불러와 Node Pool에 추가할 수 있으므로 고객사의 일부 기존 인스턴스를 활용합니다. (클러스터와 같은 VPC내의 자원에만 한정됩니다.)

4) TKE는 또한 쿠버네티스의 CA 기능을 기반으로 한 Node pool 오토 스케일링을 지원합니다. 추후 고객사의 사업 확장에 따라 고려할 수 있도록 솔루션을 제안하도록 합니다.

5) 생성된 TKE 클러스터는 외부 네트워크와의 요청을 Ingress Controller를 통해 처리하도록 합니다.
TKE 콘솔 Add-on management 메뉴에서 원클릭으로 NginxIngress를 설치한 후, 라우팅 설정 페이지에서 배포합니다.

6) 데이터베이스는 TencentDB의 상품들을 사용하였습니다. multi-az 구성을 통해 고가용성을 높이고 고객사에 필요에 따라 추후 read-only 복제본을 여러 가용영역에 구성할 수 있습니다.

7) 서비스 운영에 사용할 COS의 경우, TKE에서 클러스터 생성 시 혹은 생성 이후 Add-on management 메뉴에서 COS-CSI plug-in을 활성화 할 수 있습니다. 이를 통해 COS 버킷을 TKE 클러스터의 컨테이너가 엑세스 가능한 볼륨으로 제공합니다.

 

Overall

마이크로서비스 구축을 고민하는 기업이라면 자체적으로 쿠버네티스를 관리, 운영 하는 것도 좋은 방법 중에 하나이지만 Tencent cloud의 TKE와 같은 관리형 서비스를 사용하여 개발팀의 관리포인트를 줄이면서도 높은 안정성과 성능을 갖춘 워크로드를 구축하는 것도 기업 입장에서 충분히 고려해볼만한 선택입니다.

 

Products we used

- CVM : https://www.tencentcloud.com/products/cvm

- CLB : https://www.tencentcloud.com/products/clb

- TKE : https://www.tencentcloud.com/products/tke

- TCR : https://www.tencentcloud.com/products/tcr

- DNSPod : https://www.dnspod.com

- TencentDB for Redis : https://www.tencentcloud.com/products/crs

- TencentDB for MySQL : https://www.tencentcloud.com/products/cdb

- TencentDB for MongoDB : https://www.tencentcloud.com/products/mongodb

 

+ Recent posts