Prometheus Operator 설치

준비

helm이 설치되어 있어야 하고 Dynamic Provisioning 개념과 Promtheus Operator 사용방법을 알고 있어야 합니다.

(옵션) OpenEBS 설치

Dynamic Provisioning(동적 불륨 프로비저닝)을 사용하기 위해 OpenEBS를 설치합니다.

helm repo add openebs https://openebs.github.io/charts
helm repo update
helm install openebs --namespace openebs openebs/openebs --create-namespace

sdf정상적으로 설치되면 OpenEBS storageclass가 설치됩니다.

kubectl get sc | grep openebs

Promtheus Operator 설치

Dynamic Provisioning 설정

Persistence Volume의 Storage class를 OpenEBS hostpath를 사용하겠습니다. hostpath의 단점은 데이터가 pod가 실행한 node에만 있으므로 nodeSelector 또는 nodeAffinity를 설정해줘야 합니다. 저는 nodeAffinity를 사용했습니다.

nodeAffinity를 사용하기 위해 노드 한개를 선택하고 node=promtheus이름으로 라벨링을 합니다. 저는 node2이름을 갖는 노드를 라벨링했습니다.

Promtheus Operator 설치

helm repo를 추가합니다.

values.yaml파일을 생성하고 오버라이딩 할 값을 설정합니다. 데이터 저장기간(retention)과 NodeAffinity를 설정했습니다.

promtheus-operator 차트를 설치합니다.

설치 확인

pod가 전부 Running상태인지 확인합니다.

serviceaccount 생성

promtheus CRD를 생성하기 위해 serviceaccount와 clusterrole, clusterrolebinding을 생성합니다. argocd가 설치된 argocd namespace에 serviceaccount를 생성했습니다.

부록: Grafana 접속방법

Promtheus Operator stack helm차트를 설치하면 Grafana도 같이 설치됩니다.

Grafana에 접속하기 위해 svc를 port-forward하거나 타입을 nodePort로 변경하면 됩니다. 저는 port-forward를 사용했습니다.

grafana 관리자 계정과 비밀번호는 secret으로 저장됩니다.

jsonpath로 계정과 비밀번호를 조회할 수 있습니다.

참고자료

Last updated