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

小明大大_9545

小明大大_9545

2026-07-04

227人浏览

原创

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 控制节点已安装 curlwgetkubectlhelm(可选)
  • 集群具备默认 StorageClass(用于 Prometheus 数据持久化)
  • 建议禁用 SELinux 或配置为 permissive 模式,避免 CSI 驱动或 volume 挂载异常

使用官方 Operator Bundle 部署

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

Linux Journey
Linux Journey

当用户想学习Linux基础、命令行、文件系统等时,在LabEx查找并推荐免费的Linux Journey课程。

下载
  • 执行一键安装(以 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

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux kubernetes

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

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

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

2025.09.29

6285

11

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

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

2026.02.11

199

16

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

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

2025.12.22

96

5

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

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

2026.06.29

148

19

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

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

2023.07.27

422

3

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

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

2024.03.13

2424

9

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

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

2024.03.21

10059

12

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

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

2024.03.21

2687

9

云服务器的使用教程
云服务器的使用教程

使用云服务器需要遵循以下步骤:选择可靠的云服务提供商,注册账号并购买所需实例,配置安全组和网络,连接到服务器,配置服务器环境,定期管理和监控服务器,优化性能和成本。想了解更多云服务器的相关内容,可以阅读本专题下面的文章。

2024.03.21

4797

10

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习