이 문서에서는 Cloud Monitoring으로 측정항목을 전송하도록 Google Kubernetes Engine(GKE)을 구성하는 방법을 설명합니다. Cloud Monitoring에서 측정항목은 커스텀 대시보드를 채우거나 알림을 생성하거나 서비스 수준 목표를 만들 수 있습니다. 또 Cloud Monitoring API를 사용하여 타사 모니터링 서비스에서 측정항목을 가져올 수도 있습니다.
GKE는 몇 가지 측정항목 소스를 제공합니다.
- 시스템 측정항목: CPU, 메모리, 스토리지와 같은 하위 수준 리소스를 설명하는 필수 시스템 구성요소의 측정항목입니다.
- Google Cloud Managed Service for Prometheus를 사용하면 수동으로 대규모 Prometheus 관리 및 운영을 수행할 필요 없이 Prometheus를 사용하여 워크로드를 모니터링하고 알림을 표시할 수 있습니다.
관측 가능성 측정항목의 패키지:
- 제어 영역 측정항목: API 서버 및 스케줄러와 같은 특정 제어 영역 구성요소에서 내보낸 측정항목입니다.
Kubernetes 상태 측정항목: 포드, 배포 등의 Kubernetes 객체 상태를 모니터링하는데 사용되는 kube 상태 서비스에서 내보낸 선별된 측정항목 집합입니다. 포함된 측정항목 집합은 Kubernetes 상태 측정항목 사용을 참조하세요.
Kubernetes 상태 패키지는 관리형 솔루션입니다. 추가 측정항목을 수집해야 하거나 스크래핑 간격을 관리하거나 다른 리소스를 스크래핑해야 하는 경우와 같이 더 많은 유연성이 필요한 경우 패키지가 사용 설정되어 있으면 사용 중지하고 오픈소스 Kubernetes 상태 측정항목 서비스의 자체 인스턴스를 배포하면 됩니다. 자세한 내용은 Kubernetes 상태 측정항목에 대한 Google Cloud Managed Service for Prometheus 내보내기 도구 문서를 참조하세요.
cAdvisor/Kubelet: 선별된 cAdvisor 및 Kubelet 측정항목 집합입니다. 포함된 측정항목 집합은 cAdvisor/Kubelet 측정항목 사용을 참조하세요.
cAdvisor/Kubelet 패키지는 관리형 솔루션입니다. 추가 측정항목을 수집해야 하거나 스크래핑 간격을 관리하거나 다른 리소스를 스크래핑해야 하는 경우와 같이 더 많은 유연성이 필요한 경우 패키지가 사용 설정되어 있으면 사용 중지하고 오픈소스 cAdvisor/Kubelet 측정항목 서비스의 자체 인스턴스를 배포하면 됩니다. 자세한 내용은 cAdvisor/Kubelet 내보내기 도구에 대한 Google Cloud Managed Service for Prometheus 문서를 참조하세요.
시스템 측정항목
클러스터가 생성되면 GKE는 시스템 구성요소에서 내보낸 특정 측정항목을 수집합니다.
GKE 클러스터에서 Cloud Monitoring으로 측정항목을 전송할지 여부를 선택할 수 있습니다. Cloud Monitoring으로 측정항목 전송을 선택한 경우 시스템 측정항목을 전송해야 합니다.
모든 GKE 시스템 측정항목은 프리픽스 kubernetes.io
가 있는 Cloud Monitoring에 수집됩니다.
가격 책정
Cloud Monitoring은 GKE 시스템 측정항목 수집에 대해서는 요금을 부과하지 않습니다. 자세한 내용은 Cloud Monitoring 가격 책정을 참조하세요.
시스템 측정항목 수집 구성
시스템 측정항목 수집을 사용 설정하려면 SYSTEM
값을 gcloud container clusters create
또는 gcloud container clusters update
명령어의 --monitoring
플래그로 전달합니다.
시스템 측정항목 수집을 사용 중지하려면 --monitoring
플래그에 NONE
값을 사용합니다. 시스템 측정항목 수집이 사용 중지된 경우 관측 가능성 탭 또는 Google Cloud 콘솔의 GKE 섹션에 있는 클러스터에 CPU 사용량, 메모리 사용량, 디스크 사용량과 같은 기본 정보를 사용할 수 없습니다.
참고: GKE Autopilot 클러스터의 경우 시스템 측정항목 수집을 중지할 수 없습니다.
GKE와 Cloud Monitoring 통합에 대한 자세한 내용은 GKE 관측 가능성을 참조하세요.
Terraform을 사용하여 시스템 측정항목 수집을 구성하려면 google_container_cluster
용 Terraform 레지스트리에서 monitoring_config
블록을 참조하세요.
Terraform과 함께 Google Cloud를 사용하는 방법에 대한 일반적인 내용은 Google Cloud에서 Terraform을 참조하세요.
시스템 측정항목 목록
시스템 측정항목에는 Kubernetes에 중요한 핵심 시스템 구성요소의 측정항목이 포함됩니다. 측정항목 목록은 GKE 시스템 측정항목을 참조하세요.
시스템 측정항목 문제 해결
Cloud Monitoring에서 시스템 측정항목을 예상한 대로 사용할 수 없는 경우 다음 단계를 따라 문제를 해결하세요.
측정항목 에이전트에 충분한 메모리가 있는지 확인
대부분의 경우 GKE 측정항목 에이전트에 대한 기본 리소스 할당만으로 충분합니다. 하지만 DaemonSet가 반복적으로 비정상 종료되는 경우 다음 안내에 따라 종료 이유를 확인할 수 있습니다.
GKE 측정항목 에이전트 포드의 이름을 가져옵니다.
kubectl get pods -n kube-system -l component=gke-metrics-agent
상태가
CrashLoopBackOff
인 포드를 찾습니다.출력은 다음과 비슷합니다.
NAME READY STATUS RESTARTS AGE gke-metrics-agent-5857x 0/1 CrashLoopBackOff 6 12m
상태가
CrashLoopBackOff
인 포드를 설명합니다.kubectl describe pod POD_NAME -n kube-system
POD_NAME
을 이전 단계의 포드 이름으로 바꿉니다.포드의 종료 이유가
OOMKilled
인 경우 에이전트에 추가 메모리가 필요합니다.출력은 다음과 비슷합니다.
containerStatuses: ... lastState: terminated: ... exitCode: 1 finishedAt: "2021-11-22T23:36:32Z" reason: OOMKilled startedAt: "2021-11-22T23:35:54Z"
실패한 측정항목 에이전트가 있는 노드에 노드 라벨을 추가합니다. 영구 또는 임시 노드 라벨을 사용할 수 있습니다. 20MB를 더 추가하는 것이 좋습니다. 에이전트가 계속 다운되면 이 명령어를 다시 실행하고 노드 라벨을 더 많은 추가 메모리를 요청하는 라벨로 바꿀 수 있습니다.
영구 라벨로 노드 풀을 업데이트하려면 다음 명령어를 실행합니다.
gcloud container node-pools update NODEPOOL_NAME \ --cluster=CLUSTER_NAME \ --node-labels=ADDITIONAL_MEMORY_NODE_LABEL \ --location=COMPUTE_LOCATION
다음을 바꿉니다.
NODEPOOL_NAME
: 노드 풀의 이름입니다.CLUSTER_NAME
: 기존 클러스터의 이름입니다.ADDITIONAL_MEMORY_NODE_LABEL
: 추가 메모리 노드 라벨 중 하나로서 다음 중 하나를 사용합니다.- 10MB 추가:
cloud.google.com/gke-metrics-agent-scaling-level=10
- 20MB 추가:
cloud.google.com/gke-metrics-agent-scaling-level=20
- 50MB 추가:
cloud.google.com/gke-metrics-agent-scaling-level=50
- 100MB 추가:
cloud.google.com/gke-metrics-agent-scaling-level=100
- 200MB 추가:
cloud.google.com/gke-metrics-agent-scaling-level=200
- 500MB 추가:
cloud.google.com/gke-metrics-agent-scaling-level=500
- 10MB 추가:
COMPUTE_LOCATION
: 클러스터의 Compute Engine 위치입니다.
또는 다음 명령어를 사용하여 업그레이드한 후 유지되지 않는 임시 노드 라벨을 추가할 수 있습니다.
kubectl label node/NODE_NAME \ ADDITIONAL_MEMORY_NODE_LABEL --overwrite
다음을 바꿉니다.
NODE_NAME
: 영향을 받는 측정항목 에이전트의 노드 이름입니다.ADDITIONAL_MEMORY_NODE_LABEL
: 추가 메모리 노드 라벨 중 하나로서 위 예시의 값 중 하나를 사용합니다.
패키지: 제어 영역 측정항목
GKE 클러스터를 구성하여 Kubernetes API 서버, 스케줄러, 컨트롤러 관리자에서 내보낸 특정 측정항목을 Cloud Monitoring으로 전송할 수 있습니다.
요구사항
Kubernetes 제어 영역 구성요소에서 내보낸 측정항목을 Cloud Monitoring으로 전송하려면 GKE 제어 영역 버전 1.22.13 이상이 필요하며 시스템 측정항목 수집이 사용 설정되어 있어야 합니다.
제어 영역 측정항목 수집 구성
기존 GKE 클러스터에서 Kubernetes 제어 영역 측정항목을 사용 설정하려면 다음 단계를 따르세요.
콘솔
클러스터의 관측 가능성 탭 또는 클러스터의 세부정보 탭에서 클러스터에 제어 영역 측정항목을 사용 설정할 수 있습니다. 관측 가능성 탭을 사용하면 측정항목 패키지를 사용 설정하기 전에 사용 가능한 차트와 측정항목을 미리 볼 수 있습니다.
클러스터의 관측 가능성 탭에서 제어 영역 측정항목을 사용 설정하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 Kubernetes 클러스터 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Kubernetes Engine인 결과를 선택합니다.
클러스터 이름을 클릭한 후 관측 가능성 탭을 선택합니다.
특성 목록에서 제어 영역을 선택합니다.
패키지 사용 설정을 클릭합니다.
제어 영역 측정항목이 이미 사용 설정된 경우 제어 영역 측정항목의 차트 집합이 대신 표시됩니다.
클러스터의 세부정보 탭에서 제어 영역 측정항목을 사용 설정하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 Kubernetes 클러스터 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Kubernetes Engine인 결과를 선택합니다.
클러스터 이름을 클릭합니다.
Cloud Monitoring이라는 라벨이 지정된 특성 행에서 수정 아이콘을 클릭합니다.
Cloud Monitoring 수정 대화상자가 나타나면 Cloud Monitoring 사용 설정이 선택되어 있는지 확인합니다.
구성요소 드롭다운 메뉴에서 API 서버, 스케줄러, 컨트롤러 관리자와 같은 측정항목을 수집할 제어 영역 구성요소를 선택합니다.
확인을 클릭합니다.
변경사항 저장을 클릭합니다.
gcloud
Google Cloud SDK 및 Google Cloud CLI가 설치된 터미널 창을 엽니다. 이를 위한 한 가지 방법은 Cloud Shell을 사용하는 것입니다.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
API_SERVER
,SCHEDULER
,CONTROLLER_MANAGER
값 중 하나 이상을gcloud container clusters create
또는gcloud container clusters update
명령어의--monitoring
플래그로 전달합니다.예를 들어 API 서버, 스케줄러, 컨트롤러 관리자에서 측정항목을 수집하려면 다음 명령어를 실행합니다.
gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER
Terraform
Terraform을 사용하여 Kubernetes 제어 영역 측정항목 수집을 구성하려면 google_container_cluster
용 Terraform 레지스트리에서 monitoring_config
블록을 참조하세요.
Terraform과 함께 Google Cloud를 사용하는 방법에 대한 일반적인 내용은 Google Cloud에서 Terraform을 참조하세요.
제어 영역 측정항목 사용
자세한 내용은 제어 영역 측정항목 사용을 참조하세요.
제어 영역 측정항목 쿼리에 대한 정보
API 서버 측정항목 및 스케줄러 측정항목 사용에 대한 안내 및 권장사항
Google Cloud 콘솔의 GKE 관측 가능성 탭에서 사용할 수 있는 제어 영역 측정항목을 시각화하기 위한 대시보드. 이러한 대시보드에 대한 자세한 내용은 관측 가능성 측정항목 보기를 참조하세요.
패키지: Kubernetes 상태 측정항목
Prometheus 형식의 선별된 Kubernetes 상태 측정항목 집합을 Cloud Monitoring으로 전송하도록 GKE 클러스터를 구성할 수 있습니다. 이 Kubernetes 상태 측정항목 패키지에는 포드, 배포, StatefulSet, DaemonSet, HorizontalPodAutoscaler 리소스, 영구 볼륨, 영구 볼륨 클레임의 측정항목이 포함됩니다.
버전 1.29.2-gke.2000으로 시작하는 GKE Standard 클러스터와 버전 1.27.4-gke.900으로 시작하는 GKE Autopilot 클러스터의 경우 Kubernetes 상태 측정항목 패키지가 기본적으로 사용 설정됩니다.
요구사항
Kubernetes 상태 측정항목을 수집하려면 GKE 클러스터가 다음 요구사항을 충족해야 합니다.
- 클러스터가 GKE 1.27.2-gke.1200 이상을 실행합니다.
- 시스템 측정항목 수집이 사용 설정되어 있습니다.
- 클러스터에 Google Cloud Managed Service for Prometheus 관리형 수집이 사용 설정되어 있습니다.
Kubernetes 상태 측정항목의 패키지를 사용 설정하는 동시에 시스템 측정항목과 Google Cloud Managed Service for Prometheus를 사용 설정할 수 있습니다. Google Cloud Managed Service for Prometheus 관리형 수집은 새 클러스터에서 기본적으로 사용 설정됩니다.
Kubernetes 상태 측정항목 수집 구성
기존 GKE 클러스터에서 Kubernetes 상태 측정항목을 사용 설정하려면 다음 단계를 수행합니다.
콘솔
클러스터 또는 클러스터 내의 배포에 대한 관측 가능성 탭에서 Kubernetes 상태 측정항목을 사용 설정할 수 있습니다. 또한 측정항목 패키지를 사용 설정하기 전에 사용 가능한 차트와 측정항목을 미리 볼 수도 있습니다.
클러스터의 관측 가능성 탭에서 Kubernetes 상태 측정항목의 차트 집합은 필터 메뉴의 두 항목으로 나뉩니다.
- 워크로드 상태: 포드, 배포, StatefulSets, DaemonSets, HorizontalPodAutoscaler 리소스의 측정항목을 포함합니다.
- 스토리지 > 영구: 영구 볼륨 및 영구 볼륨 클레임의 측정항목이 포함됩니다.
측정항목 집합 중 하나 또는 둘 모두를 사용 설정할 수 있습니다.
클러스터의 관측 가능성 탭에서 Kubernetes 상태 측정항목을 사용 설정하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 Kubernetes 클러스터 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Kubernetes Engine인 결과를 선택합니다.
클러스터 이름을 클릭한 후 관측 가능성 탭을 선택합니다.
특성 목록에서 워크로드 상태 또는 스토리지 > 영구를 선택합니다.
패키지 사용 설정을 클릭합니다.
Kube 상태 측정항목 패키지가 이미 사용 설정된 경우 Kubernetes 상태 측정항목의 차트 집합이 대신 표시됩니다.
배포의 관측 가능성 탭에서 Kubernetes 상태 측정항목을 사용 설정하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 워크로드 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Kubernetes Engine인 결과를 선택합니다.
배포 이름을 클릭한 후 관측 가능성 탭을 선택합니다.
특성 목록에서 Kubernetes 상태를 선택합니다.
패키지 사용 설정을 클릭합니다. 이 패키지가 전체 클러스터에 사용 설정됩니다.
Kubernetes 상태 측정항목 패키지가 이미 사용 설정된 경우 포드, 배포, 수평형 포드 자동 확장 처리의 측정항목에 대한 차트 집합이 표시됩니다.
클러스터의 세부정보 탭에서 Kubernetes 상태 측정항목을 구성하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 Kubernetes 클러스터 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Kubernetes Engine인 결과를 선택합니다.
클러스터 이름을 클릭합니다.
Cloud Monitoring이라는 라벨이 지정된 특성 행에서 수정 아이콘을 클릭합니다.
Cloud Monitoring 수정 대화상자가 나타나면 Cloud Monitoring 사용 설정이 선택되어 있는지 확인합니다.
구성요소 드롭다운 메뉴에서 측정항목을 수집할 kube 상태 구성요소를 선택합니다.
- 영구 볼륨(스토리지)
- 포드
- 배포
- StatefulSet
- DaemonSet
- 수평형 포드 자동 확장 처리
확인을 클릭합니다.
변경사항 저장을 클릭합니다.
gcloud
Google Cloud SDK 및 Google Cloud CLI가 설치된 터미널 창을 엽니다. 이를 위한 한 가지 방법은 Cloud Shell을 사용하는 것입니다.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
다음 값 중 하나 이상을
gcloud container clusters create
또는gcloud container clusters update
명령어의--monitoring
플래그로 전달합니다.DAEMONSET
DEPLOYMENT
HPA
POD
STATEFULSET
STORAGE
- 이 옵션에는 영구 볼륨 및 영구 볼륨 클레임의 측정항목이 포함됩니다.
예를 들어 기존 클러스터에서 배포 및 포드의 측정항목을 수집하려면 다음 명령어를 실행합니다.
gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \
--enable-managed-prometheus
--monitoring=SYSTEM,DEPLOYMENT,POD--monitoring
플래그에 제공된 값 집합은 이전 설정을 재정의합니다. 앞의 예시에서 클러스터가 이전에DAEMONSET
측정항목을 수집하도록 구성된 경우 예시 명령어는 이러한 측정항목 수집을 사용 중지합니다.
Terraform
Terraform을 사용하여 kube 상태 측정항목 수집을 구성하려면 google_container_cluster
용 Terraform 레지스트리에서 monitoring_config
블록을 참조하세요.
Terraform과 함께 Google Cloud를 사용하는 방법에 대한 일반적인 내용은 Google Cloud에서 Terraform을 참조하세요.
Kubernetes 상태 측정항목 사용
아래 내용은 Kubernetes 상태 측정항목 사용을 참조하세요.
- Kubernetes 상태 측정항목 쿼리에 대한 정보
- Kubernetes 상태 측정항목의 테이블
Google Cloud 콘솔의 GKE 관측 가능성 탭에서 Kubernetes 상태 측정항목을 시각화하기 위한 대시보드를 사용할 수 있습니다. 이러한 대시보드에 대한 자세한 내용은 관측 가능성 측정항목 보기를 참조하세요.
패키지: cAdvisor/Kubelet 측정항목
Prometheus 형식의 선별된 cAdvisor/Kubelet 측정항목 집합을 Cloud Monitoring으로 전송하도록 GKE 클러스터를 구성할 수 있습니다. 선별된 측정항목 집합은 기본적으로 모든 Kubernetes 배포에 내장된 대규모 cAdvisor/Kubelet 측정항목 집합의 하위 집합입니다. 선별된 cAdvisor/Kubelet은 가장 유용한 측정항목을 제공하여 수집량 및 관련 비용을 줄이도록 설계되었습니다.
요구사항
cAdvisor/Kubelet 측정항목을 수집하려면 GKE 클러스터가 다음 요구사항을 충족해야 합니다.
- 클러스터가 GKE 1.29.3-gke.1093000 이상을 실행합니다.
- 시스템 측정항목 수집이 사용 설정되어 있습니다.
- 클러스터에 Google Cloud Managed Service for Prometheus 관리형 수집이 사용 설정되어 있습니다.
1.29.3-gke.1093000을 실행하는 클러스터를 만들면 시스템 측정항목 수집과 Google Cloud Managed Service for Prometheus 관리형 수집이 기본적으로 사용 설정됩니다. 클러스터를 만들 때 cAdvisor 및 Kubelet 측정항목을 사용 설정할 수 있습니다.
시스템 측정항목을 수집하지 않거나 관리형 수집을 사용하는 클러스터를 만드는 경우 cAdvisor/Kubelet 측정항목의 수집을 구성하는 동시에 시스템 측정항목 및 Google Cloud Managed Service for Prometheus를 사용 설정할 수 있습니다.
cAdvisor/Kubelet 측정항목 수집 구성
기존 GKE 클러스터에서 cAdvisor/Kubelet 측정항목을 사용 설정하려면 다음 단계를 수행합니다.
콘솔
클러스터의 세부정보 탭에서 cAdvisor/Kubelet 측정항목을 구성하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 Kubernetes 클러스터 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Kubernetes Engine인 결과를 선택합니다.
클러스터 이름을 클릭합니다.
Cloud Monitoring이라는 라벨이 지정된 특성 행에서 수정 아이콘을 클릭합니다.
Cloud Monitoring 수정 대화상자가 나타나면 Cloud Monitoring 사용 설정이 선택되어 있는지 확인합니다.
구성요소 드롭다운 메뉴에서 측정항목을 수집할 cAdvisor/Kubelet 구성요소를 선택합니다.
- cAdvisor
- Kubelet
확인을 클릭합니다.
변경사항 저장을 클릭합니다.
gcloud
Google Cloud SDK 및 Google Cloud CLI가 설치된 터미널 창을 엽니다. 이를 위한 한 가지 방법은 Cloud Shell을 사용하는 것입니다.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
다음 값 중 하나 이상을
gcloud container clusters create
또는gcloud container clusters update
명령어의--monitoring
플래그로 전달합니다.CADVISOR
KUBELET
예를 들어 기존 클러스터에서 cAdvisor/Kubelet 측정항목만 수집하려면 다음 명령어를 실행합니다.
gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \
--enable-managed-prometheus
\ --monitoring=SYSTEM,CADVISOR,KUBELET--monitoring
플래그에 제공된 값 집합은 이전 설정을 재정의합니다. 앞의 예시에서 클러스터가 이전에 Kubernetes 상태 패키지에서DAEMONSET
측정항목을 수집하도록 구성된 경우 예시 명령어는 이러한 측정항목 수집을 사용 중지합니다.
Terraform
Terraform을 사용하여 cAdvisor/Kubelet 측정항목 수집을 구성하려면 google_container_cluster
용 Terraform 레지스트리에서 monitoring_config
블록을 참조하세요.
Terraform과 함께 Google Cloud를 사용하는 방법에 대한 일반적인 내용은 Google Cloud에서 Terraform을 참조하세요.
cAdvisor/Kubelet 측정항목 사용
다음은 cAdvisor/Kubelet 측정항목 사용을 참조하세요.
- cAdvisor/Kubelet 측정항목 쿼리에 대한 정보
- cAdvisor/Kubelet 측정항목 테이블
측정항목 패키지 사용 중지
클러스터에서 측정항목 패키지 사용을 중지할 수 있습니다. 비용을 줄이기 위해 특정 패키지를 사용 중지하거나 Google Cloud Managed Service for Prometheus 및 내보내기 도구와 같은 측정항목을 수집하기 위해 다른 메커니즘을 사용하는 경우 특정 패키지를 사용 중지해야 할 수 있습니다.
콘솔
클러스터의 세부정보 탭에서 측정항목 수집을 사용 중지하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서 Kubernetes 클러스터 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Kubernetes Engine인 결과를 선택합니다.
클러스터 이름을 클릭합니다.
Cloud Monitoring이라는 라벨이 지정된 특성 행에서 수정 아이콘을 클릭합니다.
구성요소 드롭다운 메뉴에서 사용 중지하려는 측정항목 구성요소를 선택 취소합니다.
확인을 클릭합니다.
변경사항 저장을 클릭합니다.
gcloud
Google Cloud SDK 및 Google Cloud CLI가 설치된 터미널 창을 엽니다. 이를 위한 한 가지 방법은 Cloud Shell을 사용하는 것입니다.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
gcloud container clusters update
명령어를 호출하고 업데이트된 값 집합을--monitoring
플래그에 전달합니다.--monitoring
플래그에 제공된 값 집합은 이전 설정을 재정의합니다.예를 들어 시스템 측정항목을 제외한 모든 측정항목 수집을 해제하려면 다음 명령어를 실행합니다.
gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \
--enable-managed-prometheus
\ --monitoring=SYSTEM이 명령어는 이전에 구성된 측정항목 패키지의 수집을 사용 중지합니다.
Terraform
Terraform을 사용하여 측정항목 수집을 구성하려면 google_container_cluster
용 Terraform 레지스트리에서 monitoring_config
블록을 참조하세요.
Terraform과 함께 Google Cloud를 사용하는 방법에 대한 일반적인 내용은 Google Cloud에서 Terraform을 참조하세요.
관측 가능성 패키지의 가격 책정 및 할당량
이 섹션의 정보는 다음 관측 가능성 패키지에 적용됩니다.
GKE 제어 영역 측정항목과 Kubernetes 상태 측정항목은 Google Cloud Managed Service for Prometheus를 사용하여 측정항목을 Cloud Monitoring으로 로드합니다. Cloud Monitoring은 수집된 샘플의 수를 기준으로 이러한 측정항목의 수집에 대한 요금을 청구합니다. 하지만 이러한 측정항목은 GKE Enterprise 버전이 사용 설정된 프로젝트에 속한 등록된 클러스터에 대해 무료로 제공됩니다.
자세한 내용은 Cloud Monitoring 가격 책정을 참조하세요.
Monitoring 청구서 파악
Cloud Monitoring을 사용하여 샘플을 가장 많이 작성하는 제어 영역 또는 Kubernetes 상태 측정항목을 식별할 수 있습니다. 이러한 측정항목은 비용에 가장 큰 영향을 미칩니다. 가장 비용이 많이 드는 측정항목을 식별한 후에는 스크레이핑 구성을 수정하여 이러한 측정항목을 적절하게 필터링할 수 있습니다.
Cloud Monitoring 측정항목 관리 페이지에서는 관측 가능성에 영향을 주지 않고 청구 가능 측정항목에 지출하는 금액을 제어할 수 있는 정보를 제공합니다. 측정항목 관리 페이지에서는 다음 정보를 보고합니다.
- 측정항목 도메인 및 개별 측정항목의 바이트 기반 및 샘플 기반 청구에 대한 수집량
- 측정항목의 라벨 및 카디널리티에 대한 데이터
- 알림 정책 및 커스텀 대시보드의 측정항목 사용
- 측정항목 쓰기 오류의 비율
측정항목 관리 페이지를 보려면 다음을 수행합니다.
-
Google Cloud 콘솔에서
측정항목 관리 페이지로 이동합니다.검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring인 결과를 선택합니다.
- 툴바에서 기간을 선택합니다. 기본적으로 측정항목 관리 페이지에는 이전 1일 동안 수집된 측정항목에 대한 정보가 표시됩니다.
측정항목 관리 페이지에 대한 자세한 내용은 측정항목 사용량 보기 및 관리를 참조하세요.
수집되는 샘플 수가 가장 많은 제어 영역 또는 Kubernetes 상태 측정항목을 식별하려면 다음을 수행합니다.
-
Google Cloud 콘솔에서
측정항목 관리 페이지로 이동합니다.검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring인 결과를 선택합니다.
수집된 청구 가능한 샘플 스코어카드에서 차트 보기를 클릭합니다.
네임스페이스 볼륨 수집 차트를 찾은 다음 more_vert 차트 옵션 더보기를 클릭합니다.
측정항목 필드에서 다음 리소스와 측정항목이 선택되어 있는지 확인합니다.
Metric Ingestion Attribution
및Samples written by attribution id
.필터 페이지에서 다음을 수행합니다.
라벨 필드에서 값이
attribution_dimension
인지 확인합니다.비교 필드에서 값이
= (equals)
인지 확인합니다.값 필드에서
cluster
를 선택합니다.
그룹화 기준 설정을 선택 해제합니다.
원하는 경우 특정 측정항목만 필터링합니다. 예를 들어 제어 영역 API 서버 측정항목 모두 측정항목 이름에 'apiserver'를 포함하고 kube 상태 포드 측정항목에는 모두 측정항목 이름에 'kube_pod'를 포함하므로 이러한 문자열이 포함된 측정항목으로 필터링할 수 있습니다.
필터 추가를 클릭합니다.
라벨 필드에서
metric_type
을 선택합니다.비교 필드에서
=~ (equals regex)
를 선택합니다.값 필드에
.*apiserver.*
또는.*kube_pod.*
를 입력합니다.
원하는 경우 GKE 리전 또는 프로젝트에서 수집된 샘플 수를 그룹화합니다.
그룹화 기준을 클릭합니다.
metric_type이 선택되어 있는지 확인합니다.
GKE 리전별로 그룹화하려면 위치를 선택합니다.
프로젝트별로 그룹화하려면 project_id를 선택합니다.
확인을 클릭합니다.
필요한 경우 GKE 클러스터 이름으로 수집된 샘플 수를 그룹화합니다.
그룹화 기준을 클릭합니다.
GKE 클러스터 이름별로 그룹화하려면 attribution_dimension과 attribution_id가 모두 선택되어 있는지 확인합니다.
확인을 클릭합니다.
각 측정항목의 수집량을 보려면 차트 테이블 모두 라벨이 지정된 전환 버튼에서 둘 다를 선택합니다. 테이블에는 값 열에서 각 측정항목에 대해 수집된 볼륨이 표시됩니다.
값 열 헤더를 두 번 클릭하여 수집 볼륨을 내림차순으로 측정항목을 정렬합니다.
이 단계는 Cloud Monitoring에 수집된 샘플 비율이 가장 높은 측정항목을 보여줍니다. 관측 가능성 패키지의 측정항목은 수집된 샘플 수에 따라 요금이 청구되므로 수집되는 샘플 속도가 가장 빠른 측정항목에 주의해야 합니다.
할당량
제어 영역 측정항목 및 Kubernetes 상태 측정항목은 Cloud Monitoring API의 '분당 시계열 수집 요청' 할당량을 사용합니다. 측정항목 패키지를 사용 설정하기 전에 해당 할당량의 최근 최고 사용량을 확인하세요. 동일한 프로젝트에 클러스터가 많거나 이미 할당량 한도에 도달한 경우 관측 가능성 패키지를 사용 설정하기 전에 할당량 한도 상향 조정을 요청할 수 있습니다.
기타 측정항목
이 문서에 설명된 시스템 측정항목 및 측정항목 패키지 외에 Istio 측정항목도 GKE 클러스터에 사용할 수 있습니다. 가격 정보는 Cloud Monitoring 가격책정을 참조하세요.