k8s+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-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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个比较复杂的问题,需要详细说明。我会尽可能地给您提供一些指导。 首先,您需要了解一些基础知识,如 Kubernetes 和 Prometheus。Kubernetes 是一个容器编排平台,可以帮助您自动管理多个容器应用程序的部署、扩展和故障恢复。Prometheus 是一个开源的监控系统,可以收集和存储应用程序的指标,并支持告警和可视化。 以下是大致的步骤: 1. 部署 Kubernetes 集群,并准备好部署 PrometheusGrafana 的节点。您可以使用各种 Kubernetes 发行版,如 kops、kubeadm 等。 2. 安装和配置 Prometheus。您可以使用 Prometheus 的 Helm Chart 进行部署,并通过 Prometheus Operator 进行管理。在部署 Prometheus 时,您需要配置它来收集应用程序的指标,并将其存储在 Prometheus 存储中。 3. 部署 Grafana。您可以使用 Grafana 的 Helm Chart 进行部署,并配置它来连接到 Prometheus 存储。在 Grafana 中,您可以创建仪表板并可视化 Prometheus 存储中的指标数据。 4. 配置告警。您可以使用 Prometheus 的 Alertmanager 进行告警,并将告警发送到 Slack、Email 等渠道。在配置告警时,您需要定义告警规则,并配置 Alertmanager 来发送告警。 以上是部署 PrometheusGrafana 和告警的大致步骤。由于每个环境的部署和配置都有所不同,所以具体的细节可能会有所不同。我建议您查阅官方文档,并根据您的需求进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值