「Grafana」- Official Helm Chart | on Kubernetes

该笔记将记录:在 Kubernetes Cluster 中,部署 Grafana 的方法,以及常见问题的解决办法。

认识

文档:https://github.com/grafana/helm-charts/blob/main/charts/grafana/README.md

性质

grafana.adminUser:
grafana.adminPassword:

grafana.image.registry: ccr.ccs.tencentyun.com
grafana.image.repository: d3rm-3rd/docker.io_grafana_grafana

grafana:
sidecar:

image:

registry: ccr.ccs.tencentyun.com

repository: d3rm-3rd/quay.io_kiwigrid_k8s-sidecar

skipTlsVerify: true

grafana:
grafana.ini:

level: debug

users:

home_page: /dashboards

grafana.ingress:

Q:禁止修改内置的 Grafana 面板,否则经常收到 Unsave Changes 提示。
A:grafana.defaultDashboardsEditable: false
R:Lock Grafana Library Panels to Disable Editing – Stack Overflow

Init:CrashLoopBackOff due to error on the init-chown-data container when persistence is enabled · Issue #752

grafana:
  initChownData:
    enabled: false

添加 Datasource 配置:grafana.additionalDataSources:

配置 Grafana Dashboard 发现:

  • grafana.sidecar.dashboards.label:
  • grafana.sidecar.dashboards.labelValue:

构建

# 拉取 chart 文件(留作备份)
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
helm pull grafana/grafana

应用

服务部署

Deploy Grafana on Kubernetes | Grafana documentation
grafana/helm-charts

官方文档目前仅提供通过 YAML 进行部署的方法,而我们主要采用 HELM 进行部署。

通过 HELM 部署:

# 生成 values 文件,并进行配置
helm show values grafana/grafana > grafana.helm-values.yaml

vim grafana.helm-values.yaml
...(1)调整 Ingress 配置

# 安装 Grafana 服务
helm upgrade --install                                     \
    --namespace=observing-system --create-namespace        \
    grafana grafana/grafana -f grafana.helm-values.yaml

# 查看 Grafana 密码
kubectl get secret --namespace observing-system grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo

# Add datasource
# Basic Auth: Username:Password
# http://loki-loki-distributed-gateway.loki.svc.cluster.local/

服务升级

Upgrade Grafana | Grafana documentation

根据官方文档描述,升级过程比较简单,但是依旧可能存在轻微地破坏性的变化。

在升级前,官方建议:
1)备份插件
2)备份配置
3)数据库备份,以在降级时恢复;

镜像仓库:https://hub.docker.com/r/grafana/grafana

# 01/22/2024 Kubernetes, grafana 10.2.0 => grafana 10.2.3, 直接替换镜像版本即可。
# 02/22/2024 Kubernetes, grafana 10.2.3 => grafana 10.3.3, 直接替换镜像版本即可。
# 03/26/2024 Kubernetes, grafana 10.3.3 => grafana 10.4.1, 直接替换镜像版本即可。
# 05/09/2024 Kubernetes, grafana 10.4.1 => grafana 10.4.2, 直接替换镜像版本即可。
# 05/22/2024 Kubernetes, grafana 10.4.2 => grafana 10.4.3, 直接替换镜像版本即可。