Search

[AMP] Prometheus에 EKS Cluster 여러개 연동하기

PublishDate
2022/01/20
Category
AWS
EKS
Monitoring
Tag & Keyword
AMP
OIDC
Quota
Prometheus

서론

이전 포스팅에서 EKS Cluster와 AMP를 생성, 연동해봤다.
여러개의 Cluster를 하나의 AMP에 연동할 때 애를 많이 먹어서 기록을 남기게됐다.
요점은 모든 EKS Cluster의 OIDC가 IAM Role의 신뢰정책에 등록되어야한다.

Prerequisite

이 포스팅은 이미 AMP가 구성되어있고, 하나의 EKS와 연동되어있을 때를 기준으로 작성했다.
1.
추가 연동할 Cluster에 이미 Prometheus가 있으면 깔끔하게 삭제 (삽질과정에서 생긴...)
kubectl delete deployment prometheus-alertmanager -n prometheus kubectl delete deployment prometheus-kube-state-metrics -n prometheus kubectl delete deployment prometheus-pushgateway -n prometheus kubectl delete deployment prometheus-server -n prometheus kubectl delete daemonset prometheus-node-exporter -n prometheus helm ls --all-namespaces helm uninstall prometheus -n prometheus
Shell
복사

설정

추가 연동할 EKS Cluster에 OIDC Provider 생성 & 연동
prometheus 설치 및 AMP와 연동 (클러스터 개수만큼 반복)

결론

Multi Cluster를 하나의 Prometheus에 연동하는 과정에서 OIDC Provider에 대한 이해도가 낮아서 많은 어려움을 겪었다.
EKS는 결국 Kubernetes이다. AWS의 Resource 여도 k8s의 권한은 AWS와 별개로 관리된다. k8s의 ServiceAccount가 IAM Role을 할당받아 사용할 수 있도록 하는 과정에서 필요한 것이 OIDC Provider라는 것을 몸소 체험할 수 있었다.
권한이 나뉘어 어렵고 불편한 점도 있지만, 이렇게 해야 Node, Pod들 간에 권한을 세세하게 부여할 수 있어 확실히 좋은 방식인 것 같다.