概述
监控指标
一个好的系统,主要监控以下内容
- 集群监控
- 节点资源利用率
- 节点数
- 运行 Pods
- Pod 监控
- 容器指标
- 应用程序【程序占用多少 CPU、内存】
监控平台
使用普罗米修斯【prometheus】 + Grafana 搭建监控平台
prometheus【定时搜索被监控服务的状态】
- 开源的
- 监控、报警、数据库
- 以 HTTP 协议周期性抓取被监控组件状态
- 不需要复杂的集成过程,使用 http 接口接入即可
Grafana
开源的数据分析和可视化工具
支持多种数据源
部署 prometheus
首先需要部署一个守护进程
1 | --- |
然后执行下面命令
1 | kubectl create -f node-exporter.yaml |
执行完,发现会报错
这是因为版本不一致的问题,因为发布的正式版本,而这个属于测试版本
所以我们找到第一行,然后把内容修改为如下所示
1 | # 修改前 |
创建完成后的效果
然后通过 yaml 的方式部署 prometheus
- configmap:定义一个 configmap:存储一些配置文件【不加密】
- prometheus.deploy.yaml:部署一个 deployment【包括端口号,资源限制】
- prometheus.svc.yaml:对外暴露的端口
- rbac-setup.yaml:分配一些角色的权限
下面我们进入目录下,首先部署 rbac-setup.yaml
1 | kubectl create -f rbac-setup.yaml |
然后分别部署
1 | # 部署configmap |
部署完成后,我们使用下面命令查看
1 | kubectl get pods -n kube-system |
在我们部署完成后,即可看到 prometheus 的 pod 了,然后通过下面命令,能够看到对应的端口
1 | kubectl get svc -n kube-system |
通过这个,我们可以看到 prometheus
对外暴露的端口为 30003,访问页面即可对应的图形化界面
1 | http://192.168.177.130:30003 |
在上面我们部署完 prometheus 后,我们还需要来部署 grafana
1 | kubectl create -f grafana-deploy.yaml |
然后执行完后,发现下面的问题
1 | error: unable to recognize "grafana-deploy.yaml": no matches for kind "Deployment" in version "extensions/v1beta1" |
我们需要修改如下内容
1 | # 修改 |
修改完成后,我们继续执行上述代码
1 | # 创建deployment |
我们能看到,我们的 grafana 正在
配置数据源
下面我们需要开始打开 Grafana,然后配置数据源,导入数据显示模板
1 | kubectl get svc -n kube-system |
我们可以通过 ip + 30431 访问我们的 grafana 图形化页面
然后输入账号和密码:admin admin
进入后,我们就需要配置 prometheus 的数据源
和 对应的 IP【这里 IP 是我们的 ClusterIP】
设置显示数据的模板
选择 Dashboard,导入我们的模板
然后输入 315 号模板
然后选择 prometheus 数据源 mydb,导入即可
导入后的效果如下所示
发布时间: 2021-01-13
最后更新: 2024-06-24
本文标题: Kubernetes学习之集群资源监控
本文链接: https://blog-yilia.xiaojingge.com/posts/31cbd07f.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
