반응형
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
반응형