본문으로 바로가기
반응형

EKS나 GKE와 같은 managed kubernetes 서비스에서 Promethues를 통해 모니터링을 할 때 KubeControllerManagerDown와 kubeSchedulerDown이 Firing되어 있는 것을 볼 수 있을 것이다.

이는 EKS나 GKE의 경우 control plane을 서비스로 제공하는 클라우드로서(control plane as a service) 클러스터를 받아 kubernetes를 사용하는 것이기 때문에 kube controller manager나 kube scheduler와 같은 control plane 구성 요소들이 제공받은 worker node들에서 숨겨져 있다. 따라서 해당 구성 요소들에 대한 metric 수집을 꺼두는 것이 좋다.

 

아래는 EKS를 사용할 때, kube-prometheus-stack의 values.yaml 설정의 예시이다.

defaultRules:
  create: true
  rules:
    alertmanager: true
    etcd: false
    configReloaders: true
    general: true
    k8s: true
    kubeApiserver: true
    kubeApiserverAvailability: true
    kubeApiserverSlos: true
    kubelet: true
    kubeProxy: true
    kubePrometheusGeneral: true
    kubePrometheusNodeRecording: true
    kubernetesApps: true
    kubernetesResources: true
    kubernetesStorage: true
    kubernetesSystem: true
    kubeScheduler: false
    kubeStateMetrics: true
    network: true
    node: true
    nodeExporterAlerting: true
    nodeExporterRecording: true
    prometheus: true
    prometheusOperator: true

kubeControllerManager:
  enabled: false

kubeEtcd:
  enabled: false

kubeScheduler:
  enabled: false
반응형

 Other Contents