Kubernetes 1.13.3 部署 Prometheus+Grafana-7.5.2(最新版本踩坑)

本教程直接在 Kubernetes 1.13.3 版本上安装 Prometheus 和 Grafana-7.5.2,至于它们的原理和概念就不再赘述,这里就直接开始操作。

Git 下载相关 YAML 文件

[root@k8s-master01 ~]# git clone git@gitee.com:MagicBinary/kubernetes-prometheus.git

部署 Prometheus 组件

官方文档:https://prometheus.io/docs/introduction/overview/

[root@k8s-master01 kubernetes-prometheus]# ls
grafana  prometheus  README.md
[root@k8s-master01 kubernetes-prometheus]# kubectl apply -f prometheus/
configmap/prometheus-config created
daemonset.extensions/node-exporter created
service/node-exporter created
deployment.apps/prometheus created
service/prometheus created
clusterrole.rbac.authorization.k8s.io/prometheus created
serviceaccount/prometheus created
clusterrolebinding.rbac.authorization.k8s.io/prometheus created

在这里插入图片描述
查看 Pod 以及 SVC 状态情况

[root@k8s-master01 kubernetes-prometheus]# kubectl get pod -n kube-system -o wide

在这里插入图片描述

[root@k8s-master01 kubernetes-prometheus]# kubectl get svc -n kube-system -o wide

在这里插入图片描述

浏览器访问 node-exporter

http://任意节点 IP 地址:31672/metrics
在这里插入图片描述
浏览器访问 Prometheus

http://任意节点 IP 地址:30003/targets
在这里插入图片描述
由于 YAML 文件里面指定镜像版本为latest,所以这里都是拉取最新版本的
在这里插入图片描述

部署 Grafana 组件

官方文档:https://grafana.com/docs/grafana/latest/installation/kubernetes/

由于官方 YAML 中用到 K8s 持久化 PV 存储,如果你的环境有存储了,则不需要配置 NFS 存储来实现,直接使用即可,我这里的实验环境是没有存储的,所以需要通过 NFS 来实现持久化存储。
在这里插入图片描述

配置 NFS 存储

所有节点都需要安装 nfs

[root@k8s-master01 ~]# yum install -y nfs-common nfs-utils 

拿 master 来作为 nfs-server,创建共享目录

[root@k8s-master01 ~]# mkdir /nfsdata

授权共享目录

[root@k8s-master01 ~]# chmod 666 /nfsdata

编辑 exports 文件,使配置生效

[root@k8s-master01 ~]# cat /etc/exports
/nfsdata *(rw,no_root_squash,no_all_squash,sync)

启动服务

[root@k8s-master01 ~]# systemctl start rpcbind
[root@k8s-master01 ~]# systemctl start nfs

在另一台 Node 上挂载测试

[root@k8s-node01 ~]# mkdir /test
[root@k8s-node01 ~]# mount -t nfs 192.168.115.21:/nfsdata /test/
[root@k8s-node01 ~]# cd /test/
[root@k8s-node01 test]# date > test.txt
[root@k8s-node01 test]# cat test.txt 
2021年 07月 19日 星期一 16:15:59 CST

在这里插入图片描述
在这里插入图片描述

测试完成,将其卸载

[root@k8s-node01 ~]# umount /test

构建 Grafana

创建 PV

[root@k8s-master01 grafana]# ls
grafana.yaml  nfs-pv1.yaml
[root@k8s-master01 grafana]# kubectl apply -f nfs-pv1.yaml 
persistentvolume/pv1 created
[root@k8s-master01 grafana]# kubectl get pv

在这里插入图片描述

创建 Grafana 组件

官方的 YAML 文件需要修改两个地方,如下所示。
在这里插入图片描述
在这里插入图片描述

[root@k8s-master01 grafana]# kubectl apply -f grafana.yaml 
persistentvolumeclaim/grafana-pvc created
deployment.apps/grafana created
service/grafana created

故障排查

创建好了,发现 Pod 没有 Running 状态
在这里插入图片描述
查看 Pod 的信息,容器一直重启失败,网上说要在 YAML 文件加 command 命令并不可靠
在这里插入图片描述
于是查看 Pod 日志发现了问题所在,看来是权限问题

[root@k8s-master01 grafana]# kubectl log grafana-64b445bd65-tzgrx
log is DEPRECATED and will be removed in a future version. Use logs instead.
GF_PATHS_DATA='/var/lib/grafana' is not writable.
You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migrate-to-v51-or-later
mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied

在这里插入图片描述
由于我的是实验环境,所以 NFS 存储目录就直接给 777 权限了,如果是生产环境不建议这样操作

[root@k8s-master01 ~]# chmod 777 /nfsdata/

重启构建一下 grafana

[root@k8s-master01 grafana]# kubectl delete -f grafana.yaml
[root@k8s-master01 grafana]# kubectl apply -f grafana.yaml

在这里插入图片描述
再次检查 Grafana Pod 状态,已经 running
在这里插入图片描述
查看 svc 端口,就可以在浏览器访问 Grafana
在这里插入图片描述
http://任意节点 IP 地址:31557
在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f8Q1ltsS-1626684638966)(https://i.loli.net/2021/07/19/yDz76CR1pQbGsuk.png)]
初始用户密码都是 admin;

到此就完成 Prometheus 和 Grafana 最新版本的部署,后续继续更新添加监控 Node 具体操作。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值