네이버 클라우드 쿠버네티스로 CI/CD 하는 법

* 이 기사는 지난 8월 20일 개최된 바이라인플러스 웨비나의 ‘쿠버네티스 한 걸음 더‘에서 ‘쿠버네티스 도입으로 CI/CD, 데브옵스 구현하기’ 세션의 내용을 담고 있습니다.

쿠버네티스는 현재 가장 인기있는 컨테이너 관리 자동화 툴이다. 컨테이너는 이제 많은 기업에서 기본적인 애플리케이션 배포 단위로 자리잡았고, 다수의 컨테이너를 관리하는  쿠버네티스는 사실상 표준 기술로 자리잡았다. 이 때문에 거의 모든 기업들이 컨테이너와 쿠버네티스를 활용한 애플리케이션 현대화를 진행하고 있거나 계획 중이다.

그러나 쿠버네티스를 기반으로 컨테이터 환경을 운영하는 데에는 큰 장애가 있다. 바로 어렵다는 점이다. 오픈소스 쿠버네티스를 직접 구축해서 운영하다보면 마스터 관리 포인트가 너무 많고 복잡하다. 숙련된 IT운영자가 많은 조직이라면 쿠버네티스를 직접 설치해서 운영하는 것이 큰 문제는 아니겠지만, 내재화 된 IT 기술력이 많지 않은 조직이라면 쿠버네티스의 관리의 복잡성이 애플리케이션 운영 혁신에 방해가 될 수도 있다.

이 때문에 쿠버네티스와 컨테이너를 보다 쉽게 운영할 수 있는 방안이 절실하며, 여러 기업들이 이에 대한 대안을 제시하고 있는 상황이다.

네이버비즈니스플랫폼(NBP)은 NKS(Ncloud Kubernetes Service)라는 완전 관리형 쿠버네티스 상품을 제공한다. 윤성훈 NBP 솔루션 아키텍트는 “마스터에 대한 관리 포인트는 NBP가 가져가고, 이용자들은 워커노드에 대한 관리 포인트만 가져가면 된다”고 설명했다. 윤 아키텍트는 “마스터가 몇 대로 클러스터링이 되어 있는지, ETCD(데이터저장소)가 어떻게 백업이 되고, 마스터 한 대에 장애가 벌어지면 서비스에 어떤 영향을 끼치는지 등 운영상 관리 포인트라고 할 수 있는 것에 대해 NKS가 다 관리를 한다”고 강조했다.

윤 아키텍트에 따르면, NKS를 활용하면 CI/CD 환경도 쉽게 구축할 수 있다.  CI/CD(Continuous Integration/Continuous Deployment)란 기업의 애플리케이션 개발과 운영에 단절이 없는 환경을 말한다.

예를 들어 기존에는 개발팀이 앱 패치를 개발하면, 그 결과물을 운영팀에 넘겼다. 운영팀은 새벽 시간에 서비스를 중단하고 패치를 업데이트 한 후 다시 서비스를 가동시켜야 했다. 아마 새벽 시간에 서버 점검으로 이용하던 사이트에 가지 못했던 경험을 다들 한 번씩은 가지고 있을 것이다.

반면 CI/CD 환경에서는 서비스를 멈추지 않고도 변경된 패치가 운영 환경에 자동으로 적용된다. 개발자들이 앱 코드를 변경하면 자동으로 빌드 및 테스트가 된 후 저장소에 기록되고, 이는 또 자동으로 실제 운영환경에 적용된다. 컨테이너 환경에서는 기존 컨테이너를 업데이트 하는 방식이 아니라 새로운 컨테이너가 기존 컨테이너를 대체하는 방식이어서 서비스가 중단되지 않는다. 이 때문에 컨테이너는 CI/CD 이념을 구현하기 위한 좋은 환경이다.

윤 아키텍트는 NKS와 여러 오픈소스를 조합하면 이와 같은 CI/CD 환경을 구현할 수 있다고 설명했다. 예를 들어 소스 저장소로 깃허브나 깃랩 등을 활용하고, 빌드 툴은 젠킨스나 트레비스CI를 활용하면 된다. 빌드 툴을 이용해 컨테이너 이미지를 만들면 네이버클라우드의 컨테이너 저장소나 하버와 같은 오픈소스 저장소에 저장할 수 있다. 이어 스피네이커와 같은 오픈소스 배포 툴을 활용해 네이버 클라우드의 쿠버네티스 클러스터에 배포까지 할 수 있다.

오픈소스가 익숙지 않다면 네이버 클라우드가 제공하는 개발자도구를 이용해 CI/CD 파이프라인을 구축할 수도 있다고 윤 아키텍트는 설명했다. 네이버 클라우드는 소스커밋, 소스빌드, 소스디플로이, 소스파이프라인 등의 CD/CD를 위한 개발자도구를 제공한다. 이 서비스들은 위에서 언급한 오픈소스 소프트웨어를 대체하는 것들이다. 즉 네이버가 제공하는 개발자 도구로 컨테이너를 개발해서 네이버 클라우드의 쿠버네티스 환경에 컨테이너(팟)을 배포할 수 있다.

NBP는 이와 같은 쿠버네티스 서비스를 앞세워 클라우드 시장에 강력한 드라이브를 걸고 있다. 최근에는 의미있는 고객사례도 확보해 비즈니스에 가속도가 붙었다. 한화생명, 풀무원, 유니온LMS 등이 대표적이다.

한화생명은 기간계 인프라에 마이크로서비스 아키텍처 기반의 컨테이너 환경을 도입했으며, 네이버의 쿠버네티스 서비스도 적용했다. 풀무원은 여러개로 나뉘어 있던 브랜드 쇼핑몰을 통합하는 작업을 하면서 네이버의 쿠버네티스 서비스를 활용했다.

윤 아키텍트는 “쿠버네티스는 CI/CD 파이프라인을 구성하거나 운영 자동화를 이를 수 있는 아주 좋은 플랫폼”이라고 강조했다.

글. 바이라인네트워크
<심재석 기자>shimsky@byline.network

첫 댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다