前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Kubernetes(k8s)-Prometheus安装

Kubernetes(k8s)-Prometheus安装

作者头像
运维小路
发布2025-03-27 10:36:08
发布2025-03-27 10:36:08
8400
代码可运行
举报
文章被收录于专栏:运维小路运维小路
运行总次数:0
代码可运行

作者介绍:简历上没有一个精通的运维工程师。下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们上一章介绍了Docker基本情况,目前在规模较大的容器集群基本都是Kubernetes,但是Kubernetes涉及的东西和概念确实是太多了,而且随着版本迭代功能在还增加,笔者有些功能也确实没用过,所以只能按照我自己的理解来讲解。

我们上一小节对Prometheus做了一个简单的介绍,本小节我们就来介绍下Prometheus的安装。Prometheus支持通过二进制包、Docker 容器、Kubernetes Operator(如 Prometheus Operator)来进行安装。下面是一个简单配置文件,基于这些规则完成对数据的监控和告警。

代码语言:javascript
代码运行次数:0
运行
复制
global:
  scrape_interval: 15s  # 拉取间隔
scrape_configs:
  - job_name: "node"
    static_configs:
      - targets: ["node-exporter:9100"]  # 监控目标
alerting:
  alertmanagers:
    - static_configs:
        - targets: ["alertmanager:9093"]
rule_files:
  - "alerts.rules"  # 告警规则文件

我们这里就通过Operator安装,也算另外一个Operator的案例,只是核心是监控而非Opterator的逻辑。

1.添加helm仓库

代码语言:javascript
代码运行次数:0
运行
复制
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

2.安装opterator

代码语言:javascript
代码运行次数:0
运行
复制
# 创建命名空间(可选)
kubectl create namespace monitoring

# 安装 kube-prometheus-stack(包含 Operator、Prometheus、Grafana 等)
helm install prometheus prometheus-community/kube-prometheus-stack \
  --namespace monitoring

3.验证安装

代码语言:javascript
代码运行次数:0
运行
复制
kubectl get pods -n monitoring
# 应看到 prometheus-operator、prometheus、grafana 等 Pod
# 当然这里还会生成很多其他资源,我们这里以Pod正常就算部署成功 

4.组件介绍

1.alertmanager容器

功能:接收 Prometheus 的告警信息,去重、分组后通过邮件、Slack 等渠道发送通知。

2.grafana容器

功能:提供可视化仪表盘,默认已集成 Prometheus 数据源和预置的监控面板。

3.operator容器

作用:Prometheus Operator 的核心控制器。

功能:自动管理 Prometheus、Alertmanager、ServiceMonitor 等资源的生命周期,监听 Kubernetes API 并动态生成监控配置。

4.prometheus容器

作用:Prometheus Server 实例。

功能:负责抓取、存储监控数据,并提供查询和告警规则评估。

持久化:默认使用临时存储(重启后数据丢失),生产环境需配置 PersistentVolumeClaim

5.metrics容器

功能:采集Kubernetes 资源对象状态(如 Deployment、Pod、Service 的状态),生成与资源生命周期相关的指标。

6.Nodeexporter容器

功能:采集节点级指标(CPU、内存、磁盘、网络等),暴露给 Prometheus 抓取。部署方式:通过 DaemonSet 确保每个节点运行一个副本。

5.web访问

由于默认Service都是ClusterIP,所以我这里是通过修改了svc的类型,通过NodePort来访问,需要注意这个web界面是没有密码的,需要注意安全。

代码语言:javascript
代码运行次数:0
运行
复制
http://192.168.31.100:32729

Prometheus的界面比较简单,所以这里一般都只简单查看。

通过选择监控项目,这些项目都是Pormetheus部署成功以后,就会自带部分监控。从这里可以看到有些监控是正常的,有些监控是异常的,我们需要根据实际情况进行调整。

这里只显示监控项目是否正常,但是很多详细的指标这里并不会显示,我们可以通过PromQL去查询,比如我这里列举coredns的总请求数。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档