쿠버네티스 모니터링이란?

개요

컨테이너 가상화 기술은 도커가 등장하면서 크게 대중화되었습니다. 그리고 도커 사용이 증가하면서 컨테이너를 잘 사용하고 관리하기 위한 방안이 필요하게 되었으며 이에 다양한 컨테이너 오케스트레이션 도구들이 등장했습니다. 많은 컨테이너 오케스트레이션 도구가 선을 보였는데 가장 널리 사용되는 것은 쿠버네티스입니다.

쿠버네티스는 컴퓨팅 리소스를 효율적으로 사용하기 위한 스케줄링 기능, 애플리케이션 업데이트를 위한 배포 기능, 그 외 컨테이너에 필요한 스토리지, 네트워크 등 다양한 기능을 제공합니다. 물론 그 자체로 거대한 플랫폼인 쿠버네티스도 모니터링은 필수적입니다.

하지만 쿠버네티스의 다양한 리소스들은 각기 다른 데이터 수집 방안을 필요로 합니다. 또 쿠버네티스 사용자마다 관심있는 지표가 다릅니다. 게다가 단순히 데이터를 수집하고 나열하는 것만으로는 모니터링 가시성을 확보할 수 없습니다. 다양한 모니터링 니즈를 충족하면서 문제 상황을 직관적으로 감지할 수 있는 UI가 필요합니다. 많은 사용자들이 와탭의 쿠버네티스 모니터링 솔루션을 찾는 이유이기도 합니다.

쿠버네티스 모니터링

쿠버네티스 모니터링을 위해서는 클러스터 모니터링, 애플리케이션 모니터링의 두가지 측면이 모두 고려되어야 합니다.

  • 쿠버네티스 클러스터 모니터링

    • 개별 컨테이너의 CPU, Memory, Disk(Volume), Network

    • Namespace, Deployment, ReplicaSet, Pod 등 서비스를 이루는 쿠버네티스 구성 요소

    • 개별 Node(호스트)의 CPU, Memory, Disk, Network

  • 쿠버네티스에서 실행 중인 애플리케이션 모니터링

    • Java, Node.js, Python 등

와탭 쿠버네티스는 모든 컨테이너의 자원 사용량과 애플리케이션 트랜잭션 데이터를 통합 수집, 제공함으로써 운영품질을 보장하고 문제해결 시간을 단축하는데 도움을 줍니다.

쿠버네티스 클러스터 모니터링

컨테이너 환경에서의 애플리케이션은 컨테이너화(Containerization)됩니다. 하지만 쿠버네티스는 컨테이너화된 애플리케이션을 Pod라는 단위로 배포합니다. 쿠버네티스의 최소 배포 단위는 컨테이너가 아닌 Pod이기 때문입니다. 컨테이너는 Pod에 담겨있으며, 1개 Pod에는 서로 다른 2개 이상의 컨테이너가 들어갈 수 있습니다. 따라서 쿠버네티스 모니터링을 위해서는 컨테이너 관점, Pod 관점의 모니터링이 모두 필요합니다. 와탭은 컨테이너와 Pod의 각각의 다양한 모니터링 데이터를 수집하여 별도의 카테고리에 저장합니다.

카테고리는 사용자 프로젝트로부터 수집하는 메트릭스(Metrics) 데이터를 구분하는 이름입니다. 각 카테고리는 서로 다른 태그와 필드로 구성되어 있습니다. 와탭 쿠버네티스의 컨테이너 맵은 크게 컨테이너 뷰와 Pod 뷰를 제공하여 사용자가 원하는 분석 대상을 선택할 수 있습니다.