Kubernetes 클러스터 모니터링
이 튜토리얼을 사용하여 메트릭을 IBM Cloud® Kubernetes Service 서비스에 전달하도록 IBM Cloud® Monitoring 클러스터를 구성하는 방법에 대해 알아봅니다. IBM Cloud, 온프레미스 및 기타 클라우드에서 클러스터를 모니터할 수 있습니다.
메트릭을 전달하도록 클러스터를 구성하려면 Kubernetes 클러스터의 각 작업자 노드에 모니터링 에이전트를 설치해야 합니다 DaemonSet. 모니터링 에이전트는 액세스 키(토큰)를 사용하여 IBM Cloud Monitoring 인스턴스를 인증합니다. 모니터링 에이전트는 데이터 콜렉터 역할을 수행합니다. 이는 작업자 노드 CPU 및 작업자 노드 메모리 사용량, 컨테이너 내부/외부로의 HTTP 트래픽 및 여러 인프라 컴포넌트에 대한 데이터와 같은 메트릭을 자동으로 수집합니다. 또한 이 에이전트는 Prometheus 호환 가능 스크레이퍼 또는 StatsD Facade를 사용하여 사용자 정의 애플리케이션 메트릭을 수집할 수 있습니다.

예를 들어 메트릭을 IBM Cloud Monitoring 인스턴스로 전달하도록 Kubernetes 클러스터를 구성하려면 Helm 을 사용하여 에이전트를 배포할 수 있습니다:
Monitoring 에이전트는 호스트마다 다음 유형의 시스템 메트릭을 자동으로 수집합니다.
-
System hosts metrics
은(는) 모든 프로세스의 성능 및 리소스 활용도를 분석하는 데 사용할 수 있는 CPU, 메모리 및 스토리지 사용량 메트릭에 대한 정보를 제공합니다. -
File and File System metrics
은(는) 시스템에서 발생하는 파일 상호작용을 분석하는 데 사용할 수 있는 파일 및 파일 시스템에 대한 정보를 제공합니다. 예를 들어, 열린 파일, 진행 중인 바이트 수 또는 주어진 파일 시스템의 사용 백분율에 대한 정보를 찾을 수 있습니다. -
Process metrics
은(는) 서버에서 실행되는 프로세스에 대한 정보를 제공합니다. 예를 들어, 이러한 메트릭을 사용하여 프로세스 수를 탐색하거나 클라이언트 또는 서버 정보를 얻을 수 있습니다. -
Network metrics
은(는) 네트워크에 대한 정보를 제공합니다. 애플리케이션, 컨테이너 및 서버 간에 설정된 연결에 대한 통찰력을 제공합니다. 예를 들어, 보내거나 받은 바이트에 대한 정보나 HTTP 요청 수, 연결 수 및 대기 시간에 대한 정보를 찾을 수 있습니다. 또한 SQL 또는 MongoDB의 경우 에이전트는 문제점 해결 모드에서 구성될 때 추가 정보를 수집합니다.
Monitoring 에이전트는 Kubernetes 클러스터마다 다음 유형의 메트릭을 자동으로 수집합니다.
-
State metrics
: Kube 상태 메트릭은 Kubernetes 구성요소에서 실행되는 다양한 오브젝트(예: 배치, 노드 및 팟)의 상태에 대해 보고합니다. 기본적으로 수집되는 메트릭의 목록을 보려면 Kubernetes 상태를 참조하십시오. -
Resource usage metrics
: 리소스 사용량 메트릭은 클러스터에서 실행 중인 작업자(노드) 및 팟에 대한 CPU 및 메모리의 상태를 보고합니다. 데이터는 네임스페이스, 작업자, 팟, 워크로드 오브젝트(예: 배치, daemonSets 등)에 의해 분석할 수 있습니다.
수집된 메트릭 목록은 오케스트라식 환경에 사용 가능한 메트릭 을 참조하십시오.
Monitoring UI를 통해 어드바이저 탭, 탐색 탭 및 대시보드 탭에서 데이터를 분석할 수 있습니다. 메트릭 보기 및 대시보드를 통해서는 데이터를 모니터합니다.
데이터를 모니터할 때 다음 정보를 고려하십시오.
-
탐색기 탭에서 개별 메트릭을 모니터할 수 있습니다.
-
어드바이저 탭에서 Kubernetes 또는 호스트 레벨 메트릭을 모니터할 수 있습니다.
이 탭은 Kubernetes 또는 호스트 레벨 메트릭을 모니터할 수 있는 액세스 권한이 있는 팀에 속하는 사용자만 사용할 수 있습니다.
-
대시보드 탭에서는 사전 정의된 대시보드 또는 사용자 정의 패널을 통해 모니터하고 네트워크 데이터, 애플리케이션 데이터, 토폴로지, 서비스, 호스트 및 컨테이너에 대한 전문적인 통찰력을 얻을 수 있습니다. 패널은 대시보드에서 메트릭 또는 메트릭 그룹을 표시합니다.
각각의 메트릭 보기 및 대시보드의 경우, 사용자는 데이터의 범위, 데이터 집계 방법 및 데이터에 적용할 시간과 그룹 필터를 정의할 수 있습니다. 자세한 정보는 패널 관리를 참조하십시오.
팀의 기본 시작점으로 대시보드를 구성하고 팀의 경험을 통합하며, 사용자가 자신에게 가장 관련된 정보에 대해 즉각적인 관심을 기울일 수 있도록 할 수 있습니다.
자세한 정보는 메트릭 보기 를 참조하십시오.
목표
이 튜토리얼에서는 IBM Cloud® Kubernetes Service 클러스터에 대한 메트릭을 구성합니다. 특히 다음을 수행합니다.
- IBM Cloud Monitoring 인스턴스를 프로비저닝합니다.
- 메트릭을 전송하도록 클러스터의 모니터링 에이전트를 구성합니다.
- 모니터링 UI를 사용하여 클러스터 메트릭을 분석합니다.
시작하기 전에
-
IBM Cloud 계정의 구성원이거나 소유자인 사용자 ID를 보유하십시오. IBM Cloud 사용자 ID를 받으려면 다음으로 이동합니다: 등록으로 이동합니다.
-
-
IBM Cloud CLI(
ibmcloud
) -
IBM Cloud Kubernetes Service 플러그인(
ibmcloud ks
) -
IBM Cloud Container Registry 플러그인(
ibmcloud cr
) -
IBM Cloud Kubernetes Service 관찰 가능성 플러그인(
ibmcloud ob
)
-
-
kubectl
버전이 클러스터 버전과 호환 가능한지 확인하십시오.kubectl
버전이 호환되지 않는 경우kubectl create clusterrolebinding failed!
와 같은 오류가 발생할 수 있습니다.kubectl version --short
를 사용하여 클러스터 및kubectl
클라이언트의 버전을 확인할 수 있습니다. -
클러스터를 작성하거나 기존 IBM Cloud Kubernetes Service 클러스터를 사용하십시오.
-
사용자 ID에 다음 IBM Cloud® Identity and Access Management 정책이 지정되었는지 확인하십시오.
자원 | 액세스 정책의 범위 | 역할 | 지역 | 정보 |
---|---|---|---|---|
리소스 그룹 기본 | 리소스 그룹 | 뷰어 | us-south | 이 정책은 사용자가 기본 리소스 그룹의 서비스 인스턴스를 볼 수 있도록 허용하기 위해 필요합니다. |
IBM Cloud Monitoring 서비스 | 리소스 그룹 | 편집자 | 미국 남부 | 이 정책은 사용자가 기본 리소스 그룹의 IBM Cloud Monitoring 서비스를 프로비저닝하고 관리할 수 있도록 허용하기 위해 필요합니다. |
Kubernetes 클러스터 인스턴스 | 자원 | 편집자 | 미국 남부 | 이 정책은 Kubernetes 클러스터에 모니터링 에이전트 및 시크릿을 구성하는 데 필요합니다. |
IBM Cloud® Kubernetes Service 의 IAM 역할에 대한 자세한 정보는 IAM 역할과 활동을 참고하세요.
IBM Cloud Monitoring 인스턴스 프로비저닝
이 시작하기 튜토리얼에서는 미국 남부 지역에서 IBM Cloud Monitoring의 인스턴스를 프로비저닝하기 위한 지시사항이 제공됩니다. 지원되는 지역에 대한 자세한 정보는 지역을 참조하십시오.
IBM Cloud Monitoring UI를 통해 IBM Cloud의 인스턴스를 프로비저닝하려면 다음 단계를 완료하십시오.
-
사용자 ID 및 비밀번호를 사용하여 로그인하면 IBM Cloud UI가 열립니다.
-
카탈로그를 클릭하십시오. IBM Cloud에서 사용 가능한 서비스의 목록이 열립니다.
-
표시되는 서비스 목록을 필터링하려면 로깅 및 모니터 카테고리를 선택하십시오.
-
IBM Cloud Monitoring 타일을 클릭하십시오.
-
위치 및 서비스 계획을 선택하십시오.
기본적으로 Lite 플랜이 설정됩니다.
기타 서비스 플랜에 대한 자세한 정보는 가격 플랜을 참조하십시오.
-
자원을 구성하십시오.
서비스 인스턴스의 이름을 입력하십시오.
리소스 그룹을 선택하십시오.
선택적으로 태그를 추가하십시오.
-
작성을 클릭하십시오.
인스턴스를 프로비저닝하면 관찰 가능성 대시보드가 열리고 모니터링 인스턴스에 대한 세부사항이 표시됩니다.
CLI를 통해 인스턴스를 프로비저닝하려면 IBM Cloud CLI를 통해 인스턴스 프로비저닝을 참조하십시오.
사용자의 인스턴스에 메트릭을 전송하도록 Kubernetes 클러스터를 구성하십시오.
IBM Cloud Monitoring 인스턴스에 메트릭을 전송하도록 Kubernetes 클러스터를 구성하려면 클러스터의 각 노드에 모니터링 에이전트 팟(Pod)을 설치해야 합니다. 모니터링 에이전트는 에이전트의 인스턴스가 모든 작업자 노드에서 실행되도록 보장하는 DaemonSet를 통해 설치됩니다. 모니터링 에이전트는 설치된 팟(Pod)에서 메트릭을 수집하여 데이터를 인스턴스에 전달합니다.
시스템 메트릭의 전체 스위트를 제공하려면 모니터링 에이전트가 권한 부여된 상태여야 합니다.
헬름을 사용하여 에이전트를 배포하려면 명령줄에서 다음 단계를 완료하세요:
-
터미널을 여십시오. 그리고 IBM Cloud에 로그인하십시오. 다음 명령을 실행하고 프롬프트의 지시를 따르십시오.
ibmcloud login -a cloud.ibm.com
클러스터가 사용 가능한 계정을 선택하십시오.
-
클러스터 환경을 설정하십시오. 다음 명령을 실행하십시오.
우선 환경 변수를 설정하는 명령을 가져오고 Kubernetes 구성 파일을 다운로드하십시오.
ibmcloud ks cluster config --cluster <cluster_name_or_ID>
구성 파일의 다운로드가 완료되면 환경 변수로서 로컬 Kubernetes 구성 파일에 대한 경로 설정에 사용할 수 있는 명령이 표시됩니다. 터미널에 표시된 명령을 복사하여 붙여넣어
KUBECONFIG
환경 변수를 설정하십시오.클러스터에 대해 작업하기 위해 IBM Cloud® Kubernetes Service CLI에 로그인할 때마다 이러한 명령을 실행하여 클러스터의 구성 파일에 대한 경로를 세션 변수로 설정해야 합니다. Kubernetes CLI는 이 변수를 사용하여 IBM Cloud에서 클러스터와 연결하는 데 필요한 로컬 구성 파일과 인증서를 찾습니다.
-
액세스 키를 가져오십시오. 자세한 정보는 IBM Cloud UI를 통해 액세스 키 가져오기를 참조하십시오.
-
콜렉터 엔드포인트에서 수집 URL을 가져오십시오.
-
모니터링 에이전트를 배치하십시오. 모든 단계는 HELM 차트를 사용하여 Kubernetes 클러스터에서 Monitoring 에이전트 관리하기를 참조하세요
-
모니터링 에이전트가 성공적으로 작성되었는지와 모니터링 에이전트의 상태를 확인하십시오. 다음 명령을 실행하십시오.
kubectl get pods -n ibm-observe
하나 이상의
sysdig-agent
팟(Pod)이 표시되면 배치에 성공한 것입니다.sysdig-agent
팟(Pod)의 수는 클러스터에 있는 작업자 노드의 수와 동일합니다. 모든 팟(Pod)이Running
상태여야 합니다.
모니터링 UI 실행
IBM Cloud 콘솔을 통해 모니터링 UI를 실행하려면 다음 단계를 완료하십시오.
-
사용자 ID 및 비밀번호를 사용하여 로그인하면 IBM Cloud 대시보드가 열립니다.
-
메뉴
에서 관찰 가능성을 선택하십시오.
-
모니터링을 선택하십시오. IBM Cloud에서 사용 가능한 인스턴스의 목록이 표시됩니다.
-
인스턴스를 찾은 후 대시보드 열기를 클릭하십시오. 웹 UI가 열립니다.
모니터링 에이전트가 처음에 정보를 수집하고 처리하는 동안 클러스터 항목이 표시되기까지 다소 시간이 걸릴 수 있습니다.
브라우저당 하나의 인스턴스만 모니터할 수 있습니다. 동일한 인스턴스에 대한 여러 개의 탭이 있을 수 있습니다.
클러스터 모니터링
어드바이저 탭에서 호스트 및 Kubernetes 클러스터의 성능 상태, 위험 및 용량을 모니터하고 문제점을 해결할 수 있습니다.

- 10분마다 데이터를 새로 고칩니다.
- 메트릭은 이벤트 수 및 심각도별로 우선순위를 지정합니다.
- 자세한 정보는 어드바이저를 참조하십시오.
어드바이저 섹션에서 클러스터별, 노드별, 네임스페이스별 또는 워크로드별로 Kubernetes 클러스터를 모니터하도록 선택할 수 있습니다. 각 옵션은 자원의 상태를 모니터하는 데 사용할 수 있는 사전 정의된 대시보드 세트를 제공합니다. 호스트별로 모니터하도록 선택할 수도 있습니다.
클러스터별 Kubernetes 클러스터 모니터링
클러스터별로 Kubernetes 클러스터를 모니터하도록 선택하는 경우, 노드별 또는 네임스페이스별로 데이터를 표시할 추가 필터를 선택하거나 다음 대시보드 중 하나를 선택할 수 있습니다.
- 워크로드 상태 및 성능
- 노드 상태 및 성능
- 팟 크기 조정 및 워크로드 용량 최적화
- 클러스터 용량 계획
- 클러스터/네임스페이스 가용 리소스
- 클러스터 개요
- CPU 할당 최적화
- 메모리 할당 최적화

이 보기를 해석하는 방법에 대한 자세한 정보는 클러스터 개요 정보를 참조하십시오.
노드별 Kubernetes 클러스터 모니터링
노드별로 Kubernetes 클러스터를 모니터하도록 선택하면 다음 대시보드 중 하나를 선택할 수 있습니다.
- 노드 상태 및 성능
- 팟 스케줄링 문제점 해결
- 노드 개요
- CPU 할당 최적화
- 메모리 할당 최적화
이 보기를 해석하는 방법에 대한 자세한 정보는 노드 개요 정보를 참조하십시오.
네임스페이스별 Kubernetes 클러스터 모니터링
네임스페이스별로 Kubernetes 클러스터를 모니터하도록 선택하는 경우, 워크로드별로 데이터를 표시하도록 추가 필터를 선택하거나 다음 대시보드 중 하나를 선택할 수 있습니다.
- 워크로드 상태 및 성능
- 팟 상태 및 성능
- 팟 크기 조정 및 워크로드 용량 최적화
- 네임스페이스 개요
- 워크로드 CPU 사용량 및 할당
- 워크로드 메모리 사용량 및 할당
이 보기를 해석하는 방법에 대한 자세한 정보는 네임 스페이스 개요 정보를 참조하십시오.
워크로드별 Kubernetes 클러스터 모니터링
워크로드별로 Kubernetes 클러스터를 모니터하도록 선택하면 다음 대시보드 중 하나를 선택할 수 있습니다.
- 컨테이너 리소스 사용 및 문제점 해결
- 팟 상태 및 성능
- 팟 크기 조정 및 워크로드 용량 최적화
- 워크로드 상태 및 성능
- 배치 개요
- 팟 개요
- 워크로드 CPU 사용량 및 할당
- 워크로드 메모리 사용량 및 할당
이 보기를 해석하는 방법에 대한 자세한 정보는 워크로드 개요 정보를 참조하십시오.
다음 단계
-
사용자 정의 대시보드를 작성하십시오. 자세한 정보는 대시보드 관련 작업을 참조하십시오.
-
경보에 대해 알아보십시오. 자세한 정보는 경보에 대한 작업을 참조하십시오.
-
클러스터에서 로그를 관리하는 방법을 학습합니다. IBM Cloud Logs 를 시작하는 방법을 참조하십시오.
-
IBM Cloud Monitoring Workload Protection 기능에 대해 학습하여 소프트웨어 취약성을 찾아 우선순위를 지정하고 위협을 발견 및 응답하며 실행할 소스에서 구성, 권한 및 준수를 관리합니다. IBM Cloud® Security and Compliance Center Workload Protection 를 참조하십시오.