오케스트레이션이란 복잡한 단계를 관리하고 요소들의 유기적인 관계를 미리 정의해 손쉽게 사용하도록 서비스를 제공하는 것을 의마합니다. 다수의 컨테이너를 유기적으로 연결, 실행, 종료할 뿐만 아니라 상태를 추적하고 보존하는 등 컨테이너를 안정적으로 사용할 수 있게 만들어주는 것이 컨테이너 오케스트레이션입니다.
구분 | 도커 스웜 | 메소스 | 노매드 | 쿠버네티스 |
---|---|---|---|---|
설치 난이도 | 쉬움 | 매우 어려움 | 쉬움 | 어려움 |
사용 편의성 | 매우 좋음 | 좋음 | 매우 좋음 | 좋음 |
세부 설정 지원 | 거의 없음 | 있음 | 거의 없음 | 다양하게 있음 |
안정성 | 매우 안정적 | 안정적 | 안정적 | 매우 안정적 |
확장성 | 어려움 | 매우 잘 됨 | 어려움 | 매우 잘 됨 |
정보량 | 많음 | 적음 | 적음 | 매우 많음 |
에코 파트너 | 없음 | 거의 없음 | 있음 | 매우 많음 |
학습 곡선 | 쉬움 | 매우 어려움 | 어려움 | 어려움 |
다른 오케스트레이션 솔루션보다는 시작하는 데 어려움이 있지만, 쉽게 사용할 수 있도록 도와주는 도구들이 있어서 설치가 쉬워지는 추세입니다. 또한 다양한 형태의 쿠버네티스가 지속적으로 계속 발전되고 있어서 컨테이너 오케스트레이션을 넘어 IT 인프라 자체를 컨테이너화하고, 컨테이너화된 인프라 제품군을 쿠버네티스 위에서 동작할 수 있게 만듭니다. 즉 거의 모든 벤더와 오픈 소스 진영 모두에서 쿠버네티스를 지원하고 그에 맞게 통합 개발하고 있습니다. 그러므로 컨테이너 오케스트레이션을 학습학거나 도입하려고 한다면 쿠버네티스를 우선적으로 고려해야 합니다.
퍼플릭 클라우드 업체에서 제공하는 관리형 쿠버네티스
EKS(Amazon Elastic Kubernetes Service), AKS(Azure Kubernetes Services), GKE(Google Kubernetes Engine) 등을 사용하는 방법으로 구성이 이미 다 갖춰져 있고 마스터 노드를 클라우드 업체에서 관리합니다(학습용으로 적합하지 않다.)
설치형 쿠버네티스
수세의 Rancher, 레드햇의 OpenShift와 같은 플랫폼에서 제공하는 설치형 쿠버네티스를 사용하는 방법(유료라 쉽게 접근하기 어렵습니다.)
구성형 쿠버네티스
사용하는 시스템에 쿠버네티스 클러스터를 자동으로 구성해주는 솔루션을 사용하는 방법으로 주요 솔루션으로는 kubeadm, kops(Kubernetes Operations), KRIB(Kubernetes Rebar Integrated Boostrap), Kubespray가 있습니다. 4가지의 주요 솔루션 중에 kubeadm이 가장 널리 알려져 잇습니다. kubeadm은 사용자가 변경하기도 수월하고, 온프레미스와 클라우드를 모두 지원하며, 배우기도 쉽습니다.
온프레미스(On-premise)란? 온프레미스란 기업의 서버를 클라우드 같은 원격 환경에서 운영하는 방식이 아닌, 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식을 의미합니다
구분 | KRIB | kops | Kubespray | kubeadm |
---|---|---|---|---|
정보량 | 적음 | 많음 | 많음 | 매우 많음 |
세부 설졍 변경 | 가능함 | 가능함 | 제한적으로 가능함 | 다양함 |
사전 요구 조건 | 적음 | 적음 | 적음 | 매우 적음 |
온프레미스 지원 | 매우 좋음 | 안 됨 | 좋음 | 매우 좋음 |
클라우드 지원 | 안 됨 | 매우 좋음 | 좋음 | 좋음 |
학습 곡선 | 매우 어려움 | 어려움 | 쉬움 | 어려움 |
자동화 기능 | 제공됨 | 제공됨 | 쉽게 제공됨 | 제한적으로 제공됨 |