Kube Scheduler
Kube Scheduler 메트릭을 모니터링하여 Kube Scheduler를 구성하고 최적화하는 데 도움을 주며, 클러스터의 자원 활용도와 애플리케이션 성능을 향상시킬 수 있습니다
구성¶
사전 조건¶
- DataKit이 설치되어 있음
수집기 구성¶
datakit.yaml에서ConfigMap리소스를 구성하여 Kube Scheduler의 메트릭 데이터를 수집합니다
apiVersion: v1
kind: ConfigMap
metadata:
name: datakit-conf
namespace: datakit
data:
kubernetesprometheus.conf: |-
[inputs.kubernetesprometheus]
[[inputs.kubernetesprometheus.instances]]
role = "pod"
namespaces = ["kube-system"]
selector = "component=kube_scheduler,tier=control-plane"
scrape = "true"
scheme = "https"
port = "10259"
path = "/metrics"
interval = "30s"
[inputs.kubernetesprometheus.instances.custom]
measurement = "kube_scheduler"
job_as_measurement = false
[inputs.kubernetesprometheus.instances.custom.tags]
cluster_name_k8s = "k8s-test"
node_name = "__kubernetes_pod_node_name"
instance = "__kubernetes_mate_instance"
[inputs.kubernetesprometheus.instances.auth]
bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"
[inputs.kubernetesprometheus.instances.auth.tls_config]
insecure_skip_verify = true
ca_certs = []
cert = ""
cert_key = ""
- datakit를 재시작합니다
지표¶
kube scheduler 지표 세트¶
Kube Scheduler 지표는 kube-scheduler 지표 세트 아래에 있으며, 여기서는 Kube Scheduler 지표 관련 설명을 소개합니다
| Metrics | 설명 | 단위 |
|---|---|---|
scheduler_scheduler_cache_size |
스케줄러 캐시에 있는 노드, Pod 및 AssumedPod(스케줄링이 가정된 Pod)의 수 |
count |
scheduler_pending_pods |
Pending Pod의 수 |
count |
process_cpu_seconds_total |
kube-scheduler 프로세스의 CPU 사용 총량 |
s |
rest_client_request_duration_seconds_bucket |
메서드(Verb)와 URL 차원에서 HTTP 요청 지연 시간을 분석합니다 |
ms |
rest_client_requests_total |
상태 값(Status Code), 메서드(Method), 호스트(Host) 차원에서 HTTP 요청 수를 분석합니다 |
count |
rest_client_requests_total |
kube-scheduler가 kube-apiserver에 시작한 HTTP 요청 총수 |
count |