(k8s)kubernetes+Prometheus+Grafana 的监控部署
一、安装部署 k8s 集群可以参考:https://www.cnblogs.com/liugp/p/12115945.html二、Prometheus+Grafana 的监控部署2.1、master/node 节点环境部署在【master】可以进行安装部署安装git,并下载相关 yaml 文件https://gitee.com/liugpwwwroot/k8s-promet...
一、安装部署 k8s 集群
可以参考:(k8s)kubernetes 一键安装_一键安装kubernetes脚本-CSDN博客
二、Prometheus+Grafana 的监控部署
2.1、master/node 节点环境部署
在【master】可以进行安装部署
安装git,并下载相关 yaml 文件
https://gitee.com/liugpwwwroot/k8s-prometheus-grafana.git
2.2、采用daemonset方式部署node-exporter组件
kubectl create -f k8s-prometheus-grafana/node-exporter.yaml
2.3、部署 prometheus 组件
rbac 文件
kubectl create -f k8s-prometheus-grafana/prometheus/rbac-setup.yaml
以 configmap 的形式管理 prometheus 组件的配置文件
kubectl create -f k8s-prometheus-grafana/prometheus/configmap.yaml
Prometheus deployment 文件
kubectl create -f k8s-prometheus-grafana/prometheus/prometheus.deploy.yml
Prometheus service 文件
kubectl create -f k8s-prometheus-grafana/prometheus/prometheus.svc.yml
2.4、部署 grafana 组件
grafana deployment 配置文件
kubectl create -f k8s-prometheus-grafana/grafana/grafana-deploy.yaml
grafana service 配置文件
kubectl create -f k8s-prometheus-grafana/grafana/grafana-svc.yaml
grafana ingress 配置文件
kubectl create -f k8s-prometheus-grafana/grafana/grafana-ing.yaml
2.5、查看访问相应服务
访问 node-exporter(上图对应的端口:31672),这个采集器只是采集宿主机上的一些指标
http://192.168.182.138:31672/metrics
cAdvisor:一种用于监控资源使用情况并分析容器性能的开源代理,即容器指标采集器,cAdvisor 集成在 Kubelet 中,所有安装了 k8s 就自动安装了 cAdvisor,cAdvisor 的 UI 已经差不多被弃用了,Kubernetes 1.12 版本之后 cAdvisor 的 UI 会被彻底删除,但是可以用 granfana 展示图表,还有一个问题就是默认不被外部访问,但是可以通过代理方式访问。使用代理如下:
# 这种方式只允许宿主机上访问,也就是localost或者127.0.0.1访问
$ kubectl proxy
# 设置API server接收所有主机的请求
$ kubectl proxy --address='0.0.0.0' --accept-hosts='^*$'
示例:
# 访问cadvisor采集的指标数据
$ http://192.168.182.138:8001/api/v1/nodes/k8s-master/proxy/metrics/cadvisor
访问 prometheus(上图对应的端口:30003)
http://192.168.182.138:30003/targets
访问 granfana,默认用户名,密码均为 admin(上图对应的端口:30106)
http://192.168.182.138:30106/?orgId=1
1、添加数据源,这里使用代理模式(推荐),仅限 k8s 内部访问
当然也可以使用直接访问模式
2、导入面板: Home->Dashboards->Import
导入面板,可以直接输入模板编号315在线导入,或者下载好对应的 json 模板文件本地导入,面板模板下载地址 https:///dashboards/315
稍等片刻,即可展示如下图,记得选择 prometheus 数据源为:prometheus
点击 Import,即可查看展示效果
三、测试
3.1、部署测试实例
部署实例
[root@k8s-master k8s-prometheus-grafana]# kubectl run apache --image=httpd --replicas=2
查看
[root@k8s-master k8s-prometheus-grafana]# kubectl get deployments.apps -o wide
创建 svc
[root@k8s-master k8s-prometheus-grafana]# kubectl expose deployment apache --port=88 --target-port=80 --type=NodePort
访问:http://192.168.182.138:30085/
最后如果要删掉重置可以执行:
# 倒叙强制删除
kubectl delete -f k8s-prometheus-grafana/grafana/grafana-ing.yaml --grace-period=0 --force
kubectl delete -f k8s-prometheus-grafana/grafana/grafana-svc.yaml --grace-period=0 --force
kubectl delete -f k8s-prometheus-grafana/grafana/grafana-deploy.yaml --grace-period=0 --force
kubectl delete -f k8s-prometheus-grafana/prometheus/prometheus.svc.yml --grace-period=0 --force
kubectl delete -f k8s-prometheus-grafana/prometheus/prometheus.deploy.yml --grace-period=0 --force
kubectl delete -f k8s-prometheus-grafana/prometheus/configmap.yaml --grace-period=0 --force
kubectl delete -f k8s-prometheus-grafana/prometheus/rbac-setup.yaml --grace-period=0 --force
kubectl delete -f k8s-prometheus-grafana/node-exporter.yaml --grace-period=0 --force
# 再顺序执行创建
kubectl create -f k8s-prometheus-grafana/node-exporter.yaml
kubectl create -f k8s-prometheus-grafana/prometheus/rbac-setup.yaml
kubectl create -f k8s-prometheus-grafana/prometheus/configmap.yaml
kubectl create -f k8s-prometheus-grafana/prometheus/prometheus.deploy.yml
kubectl create -f k8s-prometheus-grafana/prometheus/prometheus.svc.yml
kubectl create -f k8s-prometheus-grafana/grafana/grafana-deploy.yaml
kubectl create -f k8s-prometheus-grafana/grafana/grafana-svc.yaml
kubectl create -f k8s-prometheus-grafana/grafana/grafana-ing.yaml
更多推荐
所有评论(0)