클라우드 관련 이벤트 및 자료 제공

리소스

Azure Kubernetes Service를 사용하여 운영 간소화를 경험해 보세요!

2019.03.21 조회:14

최근 들어 마이크로서비스 아키텍처의 발전으로 컨테이너가 각광받기 시작했습니다.

적은 양의 시스템 자원으로 운영할 수 있는 서비스들이 다수 등장하였고, 이를 가상 머신에서 실행하기에는

가상 머신 이미지 크기도 크고, 배포 속도, 시스템 자원의 낭비라는 여러 문제 사항들이 발생합니다.

이러한 상황에 적합한 서비스가 컨테이너이며 이 컨테이너를 관리하기 위한 Kubernetes는 실제로 구성 및 관리가 매우 어렵습니다.

하지만 Azure의 서비스인 AKS (Azure Kubernetes Service)를 사용하면 Azure에서 관리되는 Kubernetes를 간단하게 배포할 수 있습니다.

 

 

컨테이너와 가상머신의 차이점은 무엇인가요?
컨테이너는 애플리케이션에 필요한 프로그램들을 하나로 묶어 이미지로 만들고, 그 이미지를 다양한 컴퓨팅 환경에 배포하고 실행하기 위한 방법입니다.
비교를 위해 가상 머신과, Docker를 예로 들겠습니다.

 - 가상화 환경에서 애플리케이션을 배포할 경우, 기본 OS가 들어가며 그 안에서 애플리케이션을 실행합니다.

   이 과정에서 OS이미지가 리소스를 차지하고 가상머신 안에서 사용하지 않는 여분의 리소스가 낭비됩니다.

 

 - Docker 환경에서는 호스트 OS에 Docker 엔진을 설치 하고 애플리케이션에 필요한 여러 프로그램들을 묶어서 ‘이미지화’ 라는 과정을 거칩니다.

   그리고 그 이미지를 실행하면 비로소 컨테이너가 됩니다. 가상 머신과 달리 컨테이너들이 호스트의 자원을 공유하므로 낭비되는 리소스를 최소화 할 수 있습니다.

   또한 애플리케이션의 배포도 가상머신보다 빠릅니다.

 

 

          AKS01.jpg

 

                      <가상 머신>                                        

 

 

 

Kubernetes는 무엇이며 어떤 일을 할 수 있나요?
작은 수의 컨테이너를 배포할 때는 수동으로 운영환경에 직접 배포하면 되지만, 배포할 컨테이너도 많아지고 하드웨어나 VM이 많아지면

각 머신의 시스템 자원의 관리 하에 컨테이너를 배포해야 합니다. 또한 어느 머신에 어떤 컨테이너가 실행 중인지 알아야 할 필요가 있습니다.

Kubernetes는 앞서 언급한 의사결정을 스케줄링하며, 컨테이너의 상태를 체크하며 문제가 발생하면 재기동을 시키며, 모니터링, 삭제관리 등

종합적인 자동화 관리를 제공해줍니다.

 

 

 

왜 Kubernetes 인가요
구글은 내부 서비스를 컨테이너 환경을 사용해 왔었는데, 이 구조를 오픈소스화 한 것이 바로 Kubernetes 입니다.

Kubernetes는 벤더나 플랫폼에 종속되지 않기 때문에, 다양한 클라우드 환경에서 사용이 가능하고 오픈스택과 같은 프라이빗 클라우드 환경이나

베어메탈 환경에도 배포가 가능합니다. 아래 그래프를 보면 Kubernetes의 트렌드가 지속적으로 올라가고 있음을 확인할 수 있습니다.
 

     AKS02.jpg

    

     <컨테이너 운영환경 트렌드 (출처 : Google Trend)>

 

 

 

Azure Kubernetes Service 의 가격은 어떻게 책정되나요?
 - Node의 VM크기, 저장소, 네트워킹 리소스 요금만 결제합니다.
 - Log Analytics 서비스와 더불어 사용시 추가 요금이 발생합니다.
 - AKS의 배포, 클러스터 관리는 모두 무료 서비스입니다.