환경
항목 | 내용 |
날짜 | 2026-03-10 |
서비스 | Grafana |
버전 | v55.5.0 (helm chart: kube-prometheus-stack)
v2.10.2 (helm chart: loki-stack) |
환경 | kubeadm, Multipass VM, nginx-ingress, MetalLB |
증상
ArgoCD ApplicationSet 전략으로 한 Prometheus, Loki, Grafana 설치 과정에서 Grafana Pod가 실행되지 않고, CrashLoopBack 상태에 빠져있었다.
원인
Grafana의 datasource가 두 개 이상 존재하여 에러가 발생했다.
•
kube-prometheus-stack에서 grafana의 datasource를 명시하여 생성
•
loki-stack에서 grafana의 datasource를 기본적으로 생성
# Error Log
Error: ✗ Datasource provisioning error: datasource.yaml config is invalid. Only one datasource per organization can be marked as default
Bash
복사
$ kubectl exec -n monitoring prometheus-grafana-67fd4fc5d-qnf6h -c grafana-sc-datasources -- ls /etc/grafana/provisioning/datasources/
# 출력값
datasource.yaml
loki-stack-datasource.yaml
Bash
복사
재현 조건
1.
kube-prometheus-stack을 통해 grafana 설치 + grafana datasource 지정
...
grafana:
additionalDataSources:
- name: Loki
type: loki
url: http://loki.monitoring.svc.cluster.local:3100
access: proxy
isDefault: false
YAML
복사
2.
loki-stack의 values.yaml에서 grafana 값을 수정하지 않음
해결 방법
loki-stack의 values를 수정하여 grafana가 datasource를 추가로 생성하지 않게 한다.
...
grafana:
sidecar:
datasources:
enabled: false
YAML
복사
예방
loki-stack에서 grafana 자체는 false 값을 갖지만 datasource는 기본적으로 활성화 되어있다. 따라서
•
[방법 1] — kube-prometheus-stack에서 grafana의 additionalDatasources를 비워둠
•
[방법 2] — loki-stack에서 grafana.sidecar.datasources.enabled: false 로 지정
두 방법 중 하나의 방법을 선택해야 한다.