본문 바로가기

OpenDev

쿠버네티스(Kubernetes) 사용자를 위한 오픈 소스 툴 선물 보따리 ~ Azure에서 DevOps 한번 해볼까 싶은 이 마음!

마이크로소프트 애저는 단순히 오픈 소스를 지원하는 것이 아닙니다. 오픈 소스 프로젝트 추진의 무대가 되고 있습니다. 마이크로소프트는 직접 여러 오픈 소스 프로젝트에 참여하여 기여를 하고 있습니다. 특히 애저의 경우 공용 클라우드 환경에서 각종 오픈 소스 플랫폼과 도구를 더 편히 쓸 수 있도록 돕는 유용한 툴을 마이크로소프트가 직접 개발해 오픈 소스로 공개하고 있습니다. 오늘 소개할 것은 컨테이너 오케스트레이션의 대명사인 쿠버네티스(Kubernetes)를 위한 유용한 툴 세트입니다. 쿠버네티스 클러스터환경에서 DevOps를 꿈꾼다면! 오늘 소개할 내용이 큰 도움이 될 것입니다. 

DRAFT - 쿠버네티스 클러스터 환경에서 간편하게 앱을 개발하고 배포할 수 있도록 돕는 툴

드래프트(DRAFT)란 이름 참 잘 지은 것 같습니다. 애플리케이션을 빌드하여 쿠버네티스 클러스터에 올리는 작업 과정을 들어 올렸다 내렸다 정도로 간소화시켰다는 것을 상징적으로 표현합니다. 드래프트를 쓰면 쿠버네티스 클러스터 환경에서의 빌드, 테스트, 배포 과정이 간소화됩니다. 개발자는 도커와 쿠버네티스 모두 신경 쓸 필요가 없습니다. 개발자가 빌드한 코드를 드래프트는 어떤 언어로 짜인 것인지 자동으로 알아내어 이를 Dockerfile과 Helm Chart 파일로 패키징합니다. 이렇게 패키징된 이미지는 아주 간단히 쿠버네티스 클러스터에 배포됩니다. 참고로 드래프트는 .닷넷(NET), 고(GO), 노드(NODE), PHP, 자바(Maven, Gradle), 파이썬, 루비를 지원합니다. 

HLEM, 쿠버네티스를 위한 패키지 관리자

HLEM, 한글로 부르기 참 뭐하네요. HLEM은 쿠버네티스 클러스터 환경에 애플리케이션을 설치하거나 업그레이드할 때 편의성을 높여주는 패키지 관리자입니다. 리눅스나 유닉스 계열 서버 운영체제의 패키지 관리자를 떠올리면 될 듯합니다. HLEM은 차트(Chart)라는 파일 형식으로 패키징 하는데요, 이를 통해 애플리케이션 설치, 업그레이드, 롤백을 간편하게 해줍니다. 차트 파일은 사설, 공용 클라우드 사이에 공유하기도 좋다고 합니다. 쿠베네티스 커뮤니티에 가면 여러 차트를 구할 수 있습니다. 아래 그림만 봐도 엔진엑스(nginx), 젠킨스(jenkins), MySQL 등 뭐 필요한 건 다 패키징되어 있다는 것을 알 수 있습니다. 

 
BRIGADE, 쿠버네티스 환경을 위한 이벤드 드리븐 스크립팅 툴

세 번째 툴은 마이크로소프트 오픈 소스 팀이 개발한 따끈한 신상(?)입니다. 이름하여 브리게이드(Brigade), 군대 여단이란 뜻의 단어인데요, 왠지 잘 어울립니다. 이 도구는 이벤트 드리븐 스크립팅 툴입니다. 개념은 간단합니다. 스크립팅을 통해 여러 태스크를 컨테이너 환경에서 실행할 수 있도록 하는 것입니다. 브리게이드에 대한 상세 설명은 관련 포스팅을 참조 바랍니다. 쓰임이 참 많아질 신상이 되지 않을까 기대합니다.