k8s部署grafana
什么是grafana
Grafana是一个跨平台的开源的度量分析和可视化工具,主要用于查询并可视化展示采集的数据
grafana开源项目:GitHub - grafana/grafana: The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
grafana文档:Technical documentation | Grafana Labs
部署grafana
腾讯云可观测平台购买grafana
参考:腾讯云可观测平台 创建实例_腾讯云
k8s/tke部署grafana
参考grafana官方文档:Deploy Grafana using Helm Charts | Grafana documentation
helmchart包
因为grafana文档里的helmchart包是海外地域的,国内可以参考如下
代码语言:javascript代码运行次数:0运行复制helm repo add grafana "/grafana" --force-update
helm repo list
查看grafana默认value
代码语言:javascript代码运行次数:0运行复制helm show values grafana/grafana > value.yaml
注意:
1. 默认persistence是关闭的,可以修改value.yaml将persistence设置为true。sc可以自行在集群里创建好后配置,如果没有配置sc则会使用默认sc,tke默认sc是cbs存储
2. 默认grafana是ClusterIP类型的service暴露,只能集群内部访问,这里为了方便,设置为公网clb方式暴露。如果生产环境可以考虑使用ingress和自定义域名暴露
部署/卸载grafana
参考命令如下
代码语言:javascript代码运行次数:0运行复制创建namespace:monitoring
kubectl create namespace monitoring
部署grafana到monitoring命名空间,value有修改使用-f value.yaml
helm install my-grafana grafana/grafana --namespace monitoring -f value.yaml
卸载grafana命令
代码语言:javascript代码运行次数:0运行复制helm uninstall my-grafana -n monitoring
测试运行grafana
查看grafana是否正常运行,如果pod没有Running,需要按照k8s排查方法排查并解决问题,可能是集群没资源调度Pending,也可能是镜像拉取失败。
代码语言:javascript代码运行次数:0运行复制kubectl get all -n monitoring
部署grafana成功后,可以通过clbVIP访问grafana。其中账号为admin,密码在helm install之后有日志说明
代码语言:javascript代码运行次数:0运行复制kubectl get secret --namespace monitoring my-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
接入Prometheus数据源
登录grafana后,在"Connections"->"Data sources"里设置Prometheus数据源,添加Prometheus地址和账号密码,即可接入Prometheus数据源
发布评论