先决条件
- 有一个稳定的kubernetes集群
- 集群中已经部署grafana
grafana插件
进入grafana的Pod安装插件
$ kubectl get pods -n monitoring
NAME READY STATUS RESTARTS AGE
blackbox-exporter-5fc7b4cdf5-c5gcg 1/1 Running 0 97m
grafana-655d56d554-8clxn 1/1 Running 5 97m
grafana-chown-rwtxk 0/1 Completed 0 97m
node-exporter-bxrr4 1/1 Running 0 97m
node-exporter-hgg25 1/1 Running 0 97m
node-exporter-ph2sm 1/1 Running 0 97m
node-exporter-sj4pg 1/1 Running 0 97m
node-exporter-tpzhj 1/1 Running 0 97m
node-exporter-v4w2g 1/1 Running 0 97m
prometheus-8467b67db6-4jm92 1/1 Running 0 98m
$ kubectl exec -ti -n monitoring grafana-655d56d554-8clxn /bin/bash
在容器中运行,插件安装命令
$ grafana-cli plugins install grafana-kubernetes-app
安装完插件要重启grafana,我这里直接删除grafana的Pod:
$ kubectl delete -n monitoring pods grafana-655d56d554-8clxn
配置grafana插件
在Home主页找到已经安装好的插件
开启插件:
填写配置:
这里我们可以添加一个新的 Kubernetes 集群,这里需要填写集群的访问地址:https://kubernetes.default,然后比较重要的是集群访问的证书,勾选上TLS Client Auth和With CA Cert这两项。
集群访问的证书文件,用我们访问集群的 kubectl 的配置文件中的证书信息(~/.kube/config)即可,其中属性certificate-authority-data、client-certificate-data、client-key-data就对应这 CA 证书、Client 证书、Client 私钥,不过 config 文件里面的内容是base64编码过后的,所以我们这里填写的时候要做base64解码。
另外需要将解码过后的\n换成换行符,不然认证会失败。
配置完成后,可以直接点击Deploy(实际上前面的课程中我们都已经部署过相关的资源了),然后点击Save,就可以获取到集群的监控资源信息了。
在配置页面有一个地方注意下:
由于我的数据源是之前就部署完成了,所以我为了方便管理,统一都用一个数据源了,也可以使用插件自带的,那就要在保存的时候选择deploy而不是save。
安装之后的效果: