AKS 오토매틱을 사용한 더 매끄러운 쿠버네티스 운용
컨텐츠 정보
- 조회 486
본문
쿠버네티스는 클라우드 네이티브 애플리케이션을 위한 기본 플랫폼이지만 쿠버네티스를 대규모로 관리하는 것은 간단한 일이 아니다. 헤드램프(Headlamp)와 같은 새로운 툴은 쿠버네티스 애플리케이션을 관리하고 배포하는 데 따르는 오버헤드를 줄여준다. 그러나 실수와 다운타임은 여전히 발생한다. 최근 기업의 쿠버네티스 사용 현황을 살펴본 코모도어(Komodor) 설문조사에 따르면 실행 중인 환경에서 발생하는 사고 원인의 79%는 시스템 변경이다. 또한 이러한 가동 중단을 감지하고 해결하는 데에도 한 시간 가까이 소요된다.
결과적으로 이 과정에서 상당한 비용이 발생한다. 대규모 다운타임의 비용은 시간당 약 100만 달러에 이른다. 이러한 비용, 그리고 가동 중단으로 인한 고객 신뢰 손실을 최소화하려면 어떻게 해야 할까?
쿠버네티스 비용 회피
마이크로소프트는 이러한 복잡성을 ‘쿠버네티스 세금’이라고 지칭한다. 복잡하게 얽힌 여러 구동부로 이뤄진 플랫폼을 운영할 때 발생하는 오버헤드다. 한쪽에는 컨테이너를 관리하는 오케스트레이터가 있고, 다른 한쪽에는 일련의 모니터링과 관찰가능성 툴이 있고, 또 다른 한쪽에는 네트워킹과 보안을 제어하는 오퍼레이터와 서비스 메시 구성요소의 조합이 있다. 쿠버네티스를 최대한 활용하려면 전문가가 되거나, 전문가가 아니라면 전문가를 채용하기라도 해야 한다.
이와 같은 ‘세금’을 피하기 위한 옵션으로는 애저 쿠버네티스 서비스(AKS)와 같은 관리형 플랫폼을 사용하는 방법, 또는 애저 컨테이너 인스턴스(ACI)와 같은 서비스 공급자에 모든 작업을 맡겨 워크로드에만 집중하는 방법이 있다. 두 방법 모두 마이크로소프트가 자체 클라우드 네이티브 애플리케이션을 대규모로 운영하고 전 세계 수백만 고객을 지원하면서 얻은 교훈을 기반으로 한다.
ACI를 사용하면 기반 쿠버네티스 플랫폼을 완전히 무시한 채 마이크로소프트에 구성 관리를 맡기고 사용자는 컨테이너에 코드를 제공하기만 하면 된다. AKS의 경우 ACI에 비해 훨씬 더 많은 쿠버네티스 지식이 필요하다. 애플리케이션을 여전히 직접 구성하고 관리해야 하고, 기능과 옵션도 직접 선택해야 하기 때문이다. 둘 다 유용하지만 두 플랫폼을 잇는 경로는 복잡할 수 있다. 즉, ACI를 사용하다가 성장해서 AKS로 넘어갈 때, 그 경로는 결코 초보자에게 친절하지 않다.
그래서 두 플랫폼 사이에 위치하면서 현대 쿠버네티스 애플리케이션을 구축하는 데 필요한 지침과 가이드를 제공하고 ACI에서 제공하지 않는 기능을 지원하면서 AKS 구현의 핵심 요소를 자동으로 구성하는 무엇인가가 필요하다.
AKS 오토매틱 소개
마이크로소프트는 최근 AKS 오토매틱(AKS Automatic)이라는 유망한 솔루션을 발표했다. 즉시 실행 가능한 쿠버네티스 플랫폼을 제공하도록 설계된 AKS 오토매틱은 안전하고 신뢰할 수 있는 쿠버네티스 환경을 빠르게 구축하고, 많은 비용과 시간이 소요되는 서비스 중단을 야기하는 구성 문제를 방지한다. 현재 정식 출시됐으므로 바로 사용할 수 있다.
AKS 오토매틱은 명확한 방향성을 갖도록(opinionated) 설계됐다. 애플리케이션은 마이크로소프트의 경험을 바탕으로 구축된 클러스터를 실행한다. AKS 오토매틱 클러스터를 설정하면 여러 핵심 서비스와 기능이 이미 구성돼 즉시 사용 가능한 상태로 제공된다. 여기에는 여러 모니터링 기능이 포함된다. 프로메테우스(Prometheus)가 클러스터 메트릭을 캡처하고, 컨테이너 인사이트(Container Insights)는 로그를 제공하며, 그라파나(Grafana) 대시보드를 통해서는 클러스터 작업을 시각화할 수 있다.
그 외의 사전 구성된 여러 기능을 사용해서 노드와 클러스터, 확장을 관리할 수 있다. 여기에는 컨테이너를 위한 기본값을 애저 리눅스로 설정하고 자동 복구 툴을 사용해 애플리케이션을 정상적으로 유지하는 것이 포함된다. 서비스가 자동으로 업그레이드되므로 항상 최신 쿠버네티스 릴리스와 최신 보안 업데이트를 사용하게 되지만, 쿠버네티스 API에 파급 효과가 큰 변경 사항이 있는 경우에는 비호환 변경 감지 기능이 작동하면서 업그레이드가 배포되지 않는다.
중요한 부분은 기반 플랫폼이 기존 쿠버네티스 API와 확장을 지원하는 오픈소스 기술을 기반으로 구축됐다는 점이다. 따라서 쿠버네티스 기반 이벤트 중심 자동 확장(Kubernetes-based event-driven autoscaling, KEDA), 카펜터(Karpenter)를 비롯해 쿠버네티스가 확장하는 방식을 다양화하는 기능이 사전에 로드된 상태로 제공된다. 이러한 기능을 통해 이벤트를 기반으로 노드를 확장하고 기존 리소스에 따라 용량을 최적화하는 데 도움이 되는 적시 노드를 제공할 수 있다. 이러한 기능도 쿠버네티스와 마찬가지로 오픈소스이며 쿠버네티스 환경의 경제성을 개선하기 위한 기반을 제공한다. 예를 들어 카펜터는 노드 자동 프로비저닝을 기본적으로 제공하기 위해 사용되며, 이를 통해 당면한 워크로드를 위한 최선의 VM 구성이 선택된다.
대부분의 인스턴스는 표준 배포를 사용하게 되지만 애플리케이션이 GPU에 액세스해야 하는 경우(예를 들어 AI 추론을 위해) AKS 오토매틱이 적절한 VM 유형을 선택하고 필요한 드라이버와 오퍼레이터까지 구성한다.
작업에 맞는 쿠버네티스
AKS 오토매틱의 가장 중요한 특징은 사용자, 그리고 사용자의 애플리케이션과 함께 성장하도록 설계됐다는 점이다. 플랫폼 엔지니어링 팀이 없는 소규모 스타트업도 이제 기존 개발자 리소스를 사용해 쿠버네티스 환경을 구축하고 깃허브 액션 기반의 지속적 통합/지속적 배포(CI/CD) 파이프라인에 연결할 수 있다. 모든 현대 인프라가 그렇듯이 AKS 오토매틱 역시 최신 상태를 유지하므로 사용자는 코드에만 집중하면 된다.
필자는 오토매틱 출시에 앞서 애저 OSS 및 클라우드 네이티브 부문 부사장인 브렌든 번스와 이야기를 나눴다. 번스는 쿠버네티스의 최초 개발자 중 한 명으로, 현재 마이크로소프트 쿠버네티스 프로그램의 대부분을 이끌고 있다. 번스는 다음과 같이 말했다.
AKS 오토매틱의 핵심은 더 많은 부분을 자동화해서 팀이 애플리케이션에 집중할 수 있도록 하는 데 있다. 사실 우리는 대규모 쿠버네티스를 운영하고 관리하기 위한 많은 핵심 역량을 쌓아왔다. 그러나 당연히 고객은 자신의 애플리케이션을 실행하고자 하며, 자신의 애플리케이션에 관한한 전문가이기도 하다.
실제 경험을 바탕으로 한 구축
AKS 오토매틱을 만드는 데는 마이크로소프트 자체적인 쿠버네티스 경험뿐만 아니라 고객에게서 얻은 교훈도 도움이 됐다. 애저 지원팀은 문제의 원인이 무엇인지 볼 수 있으며, 각기 다른 규모의 고객에 맞는 환경을 구축하고 구성하는 과정에서는 마이크로소프트 컨설팅 사업부가 도움이 된다. 번스는 다음과 같이 말했다.
오랜 기간 축적된 고객 지원 티켓을 통해 사람들이 어떻게 스스로 문제를 만들어 내는지를 볼 수 있다. 우리는 이 지식과 경험을 정책 기반 모범 사례로 구체화하고 있다. 이를 통해 개발자들이 과거에 다른 사람들이 저지른 것과 같은 실수를 반복하지 않도록 예방할 수 있다. 아주 멋진 일이라고 생각한다. 나는 그동안 개방형 생태계에 대해 많은 이야기를 했지만, 이것은 다른 사람들의 경험에서 배울 수 있는 또 다른 형태의 생태계다.
마이크로소프트는 이와 같은 접근 방식을 통해 AKS 오토매틱에 대부분의 사용자와 애플리케이션에 잘 맞는 설정과 기능을 제공할 수 있다. 이를 통해 헬름(Helm)과 같은 익숙한 툴을 사용해서 쿠버네티스 환경을 구축하고 오픈 컨테이너 이니셔티브(Open Container Initiative)를 준수하는 레지스트리의 코드를 배포할 수 있다.
사용자와 함께 성장하는 쿠버네티스
개발팀과 애플리케이션이 성장하면 플랫폼 기반에 영향을 주지 않으면서 쿠버네티스의 기존 데브옵스와 관찰가능성 툴을 사용해 플랫폼 엔지니어링 조직을 발전시키고 쿠버네티스 확장을 추가할 수 있다.
애플리케이션을 구축하고 실행하는 방식의 변화를 고려해야 한다. 번스는 다음과 같이 말했다.
지금 두 가지 흐름을 볼 수 있다. 첫째, 애플리케이션 개발 프로세스의 가속화다. 소규모 환경에서 프로덕션 환경으로 전환하는 속도가 더 빨라지면서 업그레이드나 자동 확장 등을 구성하는 올바른 방법을 파악할 시간은 더 줄어들고 있다. 또한 사람들은 쿠버네티스 오픈소스 생태계에 대한 접근성도 원한다. 이 생태계에서 AI의 혁신이 이뤄지고 있기 때문이다. 둘째, 개발자들이 생산성 향상을 위해 AI를 사용하면서 결과적으로 인력은 줄어들고 있다. 초기 스타트업 시점에는 운영 인력이 더 적다. AKS 오토매틱은 플랫폼의 사용 편의성 및 자동화와 오픈소스 생태계의 결합이라는 매우 강력한 요구사항을 충족한다.
코모도어의 설문 결과는 쿠버네티스를 관리하기가 여전히 어렵다는 사실을 분명히 보여준다. 초보자에게는 말할 필요도 없다. 특히 클라우드 네이티브 개발을 처음 접하는 스타트업과 조직의 경우 쿠버네티스의 보안과 최신 상태 유지를 전문가에게 맡기는 편이 훨씬 더 합리적이다. AKS 오토매틱은 AKS와 ACI 사이의 적절한 중간 지대에 위치한다. 지나친 관리 오버헤드 없이, 내 코드와 잘 맞는 구성을 적용해서 맞춤형 기능을 추가할 수 있다.
dl-itworldkorea@foundryco.com
관련자료
-
링크
-
이전
-
다음





