쿠버네티스 클러스터에 앱 배포, 어떻게 하면 더 효과적일까?
쿠버네티스(Kubernetes)는 오픈 소스 컨테이너 오케스트레이션 시스템입니다.
쿠버네티스가 등장한 배경에는 소프트웨어 배포, 확장, 관리 속도와 효율을 높이고자 하는 고민이 자리하고 있습니다. 그렇다면 누가 이 고민을 했을까요? 바로 구글입니다. 🙂
😃 쿠버네티스 상식 백과
구글은 검색, 지도, 유튜브 등 글로벌 사용자를 대상으로 하는 서비스를 오랜 기간 운영하고 있습니다. 구글의 서비스는 사용자 기반이 꾸준히 확대되고 있고, 사용자 눈눞이를 맞추기 위해 서비스 고도화도 지속해서 이루어지고 있습니다. 이런 가운데 등장한 고민이 앞서 소개한 더 빠르고 효율적인 소프트웨어 배포, 확장, 관리입니다.
쿠버네티스 프로젝트는 구글의 내부 관리 시스템에서 출발하였습니다. 구글의 소프트웨어 개발자들이 인프라 고민 없이 개발과 배포에 집중할 수 있도록 돕기 위해 개발한 시스템이 쿠버네티스의 원형이라 볼 수 있습니다. 😎
구글의 기여로 시작된 쿠버네티스는 2022년 현재 클라우드 네이티브 환경의 핵심 기반으로 성장하였습니다. 기업의 하이브리드, 멀티 클라우드 전략 수립에서 빠지지 않고 등장하는 주요 키워드가 된 것입니다. 그러다 보니 요즘 쿠버네티스 전문가 확보에 열을 올리는 조직이 늘고 있습니다. CNCF(Cloud Native Computing Foundation)이나 CSP(Cloud Service Provider)의 전문가 자격증 취득에 열을 올리는 분들도 많아진 듯 합니다. 늘 그렇듯 특정 기술 수요가 늘면 인력 부족 현상이 생깁니다. 이런 수요와 공급 격차 해소를 위해 CSP는 다양한 관리형 서비스를 제공합니다. 구글 클라우드 역시 GKE라는 관리형 쿠버네티스 서비스를 제공하고 있습니다.
😃 쿠버네티스 환경에 소프트웨어를 배포하는 방식
컨테이너에 소프트웨어를 배포하는 방법은 크게 롤링(Rolling), 블루/그린(Blue/Green), 카나리아(Canary)로 구분합니다. 세 방식은 각각의 장단점이 있습니다. 따라서 소프트웨어 유형과 특징에 따라 최선의 선택을 하면 됩니다.
👇 각 배포 방식을 간단히 알아보고, 소프트웨어 배포와 관리를 간소화하는 구글 클라우드의 관리형 서비스가 무엇인지 소개하겠습니다.
📌 롤링(Rolling) 배포
롤링 배포는 실행 중인 인스턴스를 업데이트할 때 점진적인 방식으로 인프라를 교체하는 방식입니다. 과정을 알아보자면 새 버전의 인스턴스를 만들고 나서, 새 복사본이 생성될 때까지 기다립니다. 작업이 완료되면 이전 인스턴스를 삭제합니다.
📌 블루/그린(Blue/Green) 배포
블루/그린 배포는 두 개의 고유한 소프트웨어 호스팅 인프라를 유지하는 방식입니다. 하나는 프로덕션 환경이고 다른 하나는 대기 상태로 둡니다. 대기 중인 인스턴스를 테스트 용도로 쓸 수도 있고, 트래픽을 분산할 수도 있습니다.
📌 카나리아(Canary) 배포
카나리아 배포는 일부 사용자에게 새 릴리즈를 제공하여 피드백을 받고, 이를 반영한 다음 다른 사용자들에게 배포하는 접근입니다. 이 방식은 롤링 및 블루/그린 배포에 비해 인프라 부담이 덜합니다.
소프트웨어 배포 이야기를 하다 보면 기승전 ‘Istio’로 귀결됩니다.
대규모 쿠버네티스 클러스터 환경에서 소프트웨어를 배포하려면 안정성, 신뢰성, 확장성, 보안성 등 신경 써야 할 것들이 많습니다. 이런 고민을 해결하기 위해 등장한 것인 Istio입니다. Istio는 클라우드 네이티브 애플리케이션을 구성하는 다양한 마이크로서비스를 관리하는 오픈 소스 기반 솔루션입니다. 쿠버네티스와 Istio는 함께 사용하는 것이 일반적입니다. 그 이유는 쿠버네티스의 배포 및 서비스를 사용해 애플리케이션을 마이크로서비스로 나누고, 이들을 Istio로 관리하면 짝이 잘 맞기 때문입니다.
만약 Istio를 잘 모른다면? 이 또한 걱정이 없습니다. 구글 클라우드가 제공하는 관리형 서비스인 Anthos를 활용하면 기술 내재화에 필요한 시간을 벌면서 클라우드 네이티브 환경에서 소프트웨어를 배포하고 관리할 수 있습니다.
이상으로 『 쿠버네티스가 왜 등장하였는지, 이 환경을 대상으로 한 소프트웨어 배포 방식은 어떤 것들이 있는지, 구글 클라우드는 어떤 서비스로 새로운 요구에 부응하고 있는지 』 에 대해 알아보았습니다.
더 자세한 내용은 메가존으로 문의 바랍니다. 👉 메가존소프트 문의 바로가기