-
kubernetes를 이용한 서비스 무중단 배포
Kubernetes는 컨테이너 오케스트레이션 영역에서 거의 표준으로 자리 잡은 오픈소스 시스템입니다. kubernetes를 사용하게 되면 여러대의 노드를 하나의 클러스터로 묶어서 사용가능하게 됩니다. 클러스터를 구성하는 노드들중에 일부에 장애가 발생하더라도 장애가 난 곳에 있던 컨테이너가 kubernetes에 의해 다른 정상상태의 노드로 옮겨가게 되어서 컨테이너로 제공하던 서비스에 지장이 없이 서비스가 지속될 수 있게 해줍니다. 그래서 실제로 서비스를 운영할 때는 컨테이너만을 단독으로 사용하기 보다는 이런 오케스트레이터와 함께 사용하는 경우가 많습니다. kubernetes를 사용하면 배포를 보다 편리하게 할 수 있다는 장점도 있습니다. 앱을 실행할...
-
오픈소스 간단 리뷰 - nomad : 가벼운 스케쥴러, 강력한 성능
Introduction 서비스 스케줄러는 클러스터 내의 컴퓨팅 리소스를 관리하고 사용자 애플리케이션을 어느 호스트에서 서비스할지 결정하는 시스템 소프트웨어입니다. 컨테이너 스케줄러로는 kubernetes나 docker swarm등이 있으며, 하둡 스케줄러로는 YARN이 많이 사용됩니다. 이 글에서는 이러한 스케줄러 중 하나인 nomad를 소개합니다. nomad는 vagrant, consul, packer등의 시스템 소프트웨어로 유명한 hashicorp사의 오픈소스 소프트웨어로, 자사의 consul과 vault를 각각 service discovery와 secure storage에 사용합니다. hashicorp사는 자사의 웹페이지에서 nomad를 통해 5000개 호스트에 100만 개 컨테이너를 5분 만에 배포한 사례를 소개하고 있습니다.(Nomad Million Container Challenge) Why? Kubernetes는...
-
kakao의 오픈소스 Ep6 - Cite
“카카오의 오픈소스를 소개합니다” 여섯번째는 niko.bellic이 개발한 Cite입니다. Cite는 Container as a Service(CaaS)로서 소스코드를 빌드하고 배포하며 운영하는 일련의 과정을 자동화하는 웹 서비스입니다. Introduction Cite는 google kubernetes기반 CaaS(Container as a Service)입니다. Kubernetes는 최근 Container Orchestrator로 각광받고 있지만 설치와 운영이 복잡하기 때문에 익혀서 사용하기 위해서는 많은 시간과 노력을 필요로 합니다. Cite는 이러한 어려움을 줄이기 위해 Kubernetes Cluster를 사전에 생성하고 실제 서비스 담당 개발자가 Kubernetes Cluster로 서비스 배포/롤백 등을 할 수 있도록 Kubernetes와 GitHub을 연동하였습니다. Why Cite? Fast IT...