讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux 环境部署 Prometheus Operator 实现云原生监控

小明大大_9545

小明大大_9545

发布时间:2026-07-04 12:43:02

|

227人浏览过

|

来源于php中文网

原创

Linux环境部署Prometheus Operator需在Kubernetes集群(v1.22+)中通过kubectl部署,依赖K8s API而非传统Linux服务管理;需满足kubectl权限、StorageClass、SELinux配置等前提,并通过bundle.yaml安装Operator、创建CRD、部署Prometheus实例及配套组件。

linux 环境部署 prometheus operator 实现云原生监控

Linux 环境部署 Prometheus Operator 是面向 Kubernetes 集群的生产级监控方案,它不是直接在 Linux 主机上运行 Operator 二进制,而是通过 kubectl 在已有的 Kubernetes 集群(运行于 Linux 节点之上)中部署 Operator 控制器及其托管组件。整个过程依赖 K8s API,而非传统 Linux 服务管理方式。

确认前提条件

确保以下基础环境已就绪:

  • Kubernetes 集群正常运行(v1.22+ 推荐),kubectl 已配置且具备 cluster-admin 权限
  • Linux 控制节点已安装 curl 或 wget、kubectl、helm(可选)
  • 集群具备默认 StorageClass(用于 Prometheus 数据持久化)
  • 建议禁用 SELinux 或配置为 permissive 模式,避免 CSI 驱动或 volume 挂载异常

使用官方 Operator Bundle 部署

这是最轻量、无 Helm 依赖的标准化方式:

linux-performance-analyzer
linux-performance-analyzer

Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。

下载
  • 执行一键安装(以 v0.78.0 为例,适配 K8s 1.26+):
    kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.78.0/bundle.yaml
  • 验证 CRD 是否注册成功:
    kubectl get crd | grep -E "(prometheuses|servicemonitors|podmonitors|alertmanagers)" —— 应看到至少 5 个自定义资源类型
  • 检查 operator Pod 运行状态:
    kubectl get pods -n monitoring(Operator 默认部署在 monitoring 命名空间)

部署 Prometheus 实例与配套组件

Operator 本身不提供监控数据,需声明式创建资源对象:

  • 创建命名空间:
    kubectl create ns monitoring
  • 部署 Prometheus 实例(最小化示例):
    保存以下内容为 prometheus-instance.yaml,然后 kubectl apply -f prometheus-instance.yaml

<!-- 示例片段 -->
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  name: k8s
  namespace: monitoring
spec:
  replicas: 1
  serviceAccountName: prometheus-k8s
  resources:
    requests:
      memory: 800Mi
  enableAdminAPI: false
  image: quay.io/prometheus-operator/prometheus:v2.47.2
  serviceMonitorSelector:
    matchLabels:
      team: frontend

  • 配套部署:
    • node-exporter(DaemonSet,采集节点指标)
    • kube-state-metrics(同步 K8s 对象状态为指标)
    • Alertmanager(CRD 方式声明)
    • ServiceMonitor(让 Prometheus 自动发现上述 exporter 的 endpoints)

暴露 Prometheus UI 与调试要点

Operator 默认不开放外部访问,需手动配置 Service 或 Ingress:

  • 查看 Prometheus Service:
    kubectl get svc -n monitoring -l prometheus=k8s
  • 临时端口转发测试:
    kubectl port-forward -n monitoring svc/prometheus-k8s 9090,随后访问 http://localhost:9090
  • 常见问题排查:
    • 若 targets 显示 “context deadline exceeded”:检查 ServiceMonitor 的 namespaceSelector 或 endpoint port 是否匹配 exporter Pod 的实际监听端口(如 node-exporter 默认 9100)
    • 若 Pod 处于 Pending:确认节点有足够资源,且 PVC 动态供给正常(kubectl get pvc -n monitoring)

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

相关专题

更多
Golang 云原生与容器化开发
Golang 云原生与容器化开发

本专题聚焦 Golang 在云原生与容器化环境中的应用,系统讲解 Docker 镜像构建、Kubernetes 部署与调度、服务网格、微服务通信、日志与监控等关键技术。通过实战案例(如微服务电商平台部署、容器化API网关开发),帮助学习者掌握 从开发到运维的完整云原生实践能力。

6305

2025.09.29

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

219

2026.02.11

Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

96

2025.12.22

Go云原生应用与Kubernetes服务部署实战
Go云原生应用与Kubernetes服务部署实战

本专题围绕 Go 语言在云原生环境中的应用展开,讲解容器化部署、Kubernetes 编排、服务发现、健康检查与弹性扩缩容机制。通过真实云端案例,帮助开发者构建可扩展的云原生微服务架构。

148

2026.06.29

轻量应用服务器和云服务器的区别
轻量应用服务器和云服务器的区别

随着科技的快速发展,越来越多的企业和个人开始依赖于服务器来托管其应用程序和网站。然而,在选择服务器时,很多人对轻量应用服务器和云服务器之间的差异不够了解。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

422

2023.07.27

注册云服务器的作用
注册云服务器的作用

注册云服务器的作用:1、可放置公司网站、电子商务平台、APP和其他应用程序等;2、使用云服务器来存储和共享数据,不仅高度安全,而且可以随时随地在线访问;3、当内存不够时,站长可自行增加,使资源充沛,保障了页面加载速度和优质的用户体验。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2444

2024.03.13

云服务器的全部用途
云服务器的全部用途

云服务器的用途广泛,包括网站托管、应用程序部署、数据存储和备份、虚拟化和容器化、大数据处理、游戏服务器以及开发测试环境等。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

10139

2024.03.21

云服务器价格性价比高的服务商介绍
云服务器价格性价比高的服务商介绍

性价比较高的云服务器服务商,包括阿里云、腾讯云、亚马逊AWS和华为云。这些服务商提供丰富的产品线、亲民的价格、完善的生态体系和技术支持。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2707

2024.03.21

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

20

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn