Offcanvas

개발자

MS, 쿠버네티스용 KEDA 공개··· "이벤트 기반 오토 스케일링 지원"

2019.11.21 Serdar Yegulalp  |  InfoWorld
마이크로소프트가 KEDA 1.0 버전을 공개했다. 이벤트 기반 컨테이너 오토 스케일링을 지원하는 쿠버네티스용 오픈소스 컴포넌트다. 스케일링 기준은 이벤트와 메시지 큐의 크기다. 아파치 카프카(Kafka), 레빗MQ(RabbitMQ) 등과 같은 방식이다.



쿠버네티스는 필요에 따라 컨테이너를 스케일링하는 기능을 이미 제공한다. 그러나 CPU와 메모리 수요에 따라 자동으로 스케일링하는 것은 기본으로 지원하지 않는다. 특히 이벤트 큐의 대기 메시지 수 등 다른 요인에 따라 스케일링하도록 하려면 허리전틀 팟 오토스케일러(Horizontal Pod Autoscaler) 같은 별도의 프로그래밍이 필요하다.

이때 KEDA(Kubernetes-based event driven autoscaling의 약자다)를 이용하면 이벤트 큐 활동을 기준으로 쿠버네티스를 확장할 수 있다. KEDA가 쿠버네티스 메트릭스 서버 역할을 하면서 처리를 기다리는 이벤트 수 등의 정보를 제공한다. 구체적으로는 카프카, 아마존 클라우드 워치, 애저 이벤트 허브, 애저 서비스 버스, 프로메테우스, 레디스 리스트, NATS, 구글 클라우드 플랫폼 펍/서브 등의 이벤트 정보를 처리한다. 또한 사용자가 원하는 대로 커스텀 큐나 메시지 버스에 맞는 스케일러를 만들거나 외부 스케일러를 쓰는 것도 가능하다.

사용 방법은 먼저 쿠버네티스 디플로이먼트(Kubernetes Deployments)를 기본 스케일 방식으로 사용할 수 있다. 대기하는 요청이 없으면 완전히 컨테이너 배포 시 완전히 사용하지 않는다. 이 밖에도 쿠버네티스의 '컨테이너 라이프사이클 훅(container lifecycle hooks)' 또는 '잡 컨트롤(job control)' 기능을 사용해 긴 실행 프로세스 이벤트를 위해 얼마나 많은 컨테이너를 유지할지 관리하는 것도 가능하다.

마이크로소프트는 KEDA를 모든 쿠버네티스 클러스터에 적용할 수 있도록 헬름(Helm) 차트를 제공한다. kubectl을 이용해 수동으로 배포할 수도 있다. 앞으로 미니(Minikube) 클러스터에서도 사용할 수 있도록 지원할 예정이다.

KEDA는 마이크로소프트가 개발했으므로, 자연스럽게 애저를 이용해 이벤트 프로세싱을 처리한다. 예를 들어 쿠버네티스를 적용한 애저 펑션(Azure Functions)을 이용해 애저 스토리지 큐(Azure Storage Queue) 메시지를 처리한다. 그러나 KEDA는 레드햇 오픈시프트, 구글 쿠버네티스 엔진 등 다른 범용 쿠버네티스 환경에서도 사용할 수 있도록 설계됐다. 물론 애저에서처럼 네이티브 기능으로 지원하지는 않는다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.