레퍼런스 아키텍처: Cloud Native
Kubernetes 기반의 Cloud Native GitLab 레퍼런스 아키텍처 4가지 크기(S/M/L/XL)와 구성 요소별 사양, 배포 가이드를 설명합니다.
- Tier: Free, Premium, Ultimate - Offering: GitLab Self-Managed Cloud Native 레퍼런스 아키텍처는 워크로드 특성에 따라 표준화된 4가지 크기(S/M/L/XL)를 갖춘 현대적인 클라우드 네이티브 배포 패턴을 위해 설계되었습니다. 이 아키텍처는 모든 GitLab 구성 요소를 쿠버네티스에 배포하며, PostgreSQL, Redis, Object Storage는 관리형 서비스 또는 온프레미스 옵션을 포함한 외부 서드파티 솔루션을 사용합니다. 아키텍처 개요 # Cloud Native 아키텍처는 쿠버네티스와 외부 서비스에 GitLab 구성 요소를 배포합니다: @startuml kubernetes skinparam linetype ortho card "Kubernetes via Helm Charts" as kubernetes { collections " Webservice Pods \n//Auto-scaling//" as web #32CD32 collections " Sidekiq Pods \n//Auto-scaling//" as sidekiq #ff8dd1 collections " Gitaly Pods \n//StatefulSets//" as gitaly #FF8C00 collections " Supporting Pods \n//NGINX, Toolbox//" as support #e76a9b } card "External Services" as external { collections " PostgreSQL " as database #4EA7FF collections " Redis Cache " as redis_cache #FF6347 collections " Redis Persistent " as redis_persistent #FF6347 cloud " Object Storage " as object_storage #white } kubernetes -[hidden]---> external web -[#32CD32,norank]--> gitaly web -[#32CD32,norank]--> object_storage web -[#32CD32,norank]--> redis_cache web -[#32CD32,norank]--> redis_persistent web -[#32CD32,norank]--> database sidekiq -[#ff8dd1,norank]--> gitaly sidekiq -[#ff8dd1,norank]--> object_storage sidekiq -[#ff8dd1,norank]--> redis_cache sidekiq -[#ff8dd1,norank]--> redis_persistent sidekiq -[#ff8dd1,norank]--> database @enduml 쿠버네티스 구성 요소: Webservice - 웹 요청 처리 Sidekiq - 백그라운드 job 처리 Gitaly - 영구 볼륨이 있는 StatefulSets를 사용하여 Git 리포지터리 관리 지원