写点什么

无痛调度!使用 Helm 在 Kubernetes 上一键搭建 Prometheus Operator 监控

  • 2023-06-25
    福建
  • 本文字数:10827 字

    阅读完需:约 36 分钟

一.系统环境

本文主要基于 Kubernetes1.21.9 和 Linux 操作系统 CentOS7.4。

Kubernetes 集群架构:k8scloude1 作为 master 节点,k8scloude2,k8scloude3 作为 worker 节点。

二.前言

随着云原生应用的普及,Kubernetes 已成为了事实上的容器编排标准。而作为一个高可用、弹性伸缩的容器编排平台,Kubernetes 的稳定性和可靠性是非常重要的。因此,在 Kubernetes 集群中加入监控系统,可以帮助我们发现和解决问题,确保集群的稳定性和可靠性。


在众多的监控系统中,Prometheus 因其卓越的性能和可扩展性而备受关注。而 Prometheus Operator 是一种用于在 Kubernetes 上运行和管理 Prometheus 的解决方案,它可以自动创建、配置和管理 Prometheus 实例。相比于传统方式手动部署 Prometheus,Prometheus Operator 可以大幅简化我们的工作量。

在 Kubernetes 上使用 Helm 搭建 Prometheus Operator 监控的前提是已经有一套可以正常运行的 Kubernetes 集群,关于 Kubernetes(k8s)集群的安装部署,可以查看博客《Centos7 安装部署 Kubernetes(k8s)集群》

三.Prometheus Operator 简介

Prometheus Operator 是 CoreOS 开源的项目,它提供了一种 Kubernetes-native 的方式来运行和管理 Prometheus。Prometheus Operator 可以自动创建、配置和管理 Prometheus 实例,并将其与 Kubernetes 中的服务发现机制集成在一起,从而实现对 Kubernetes 集群的自动监控。


Prometheus 和 Prometheus Operator 的区别如下:


Prometheus 是一种开源的监控系统,用于记录各种指标,并提供查询接口和告警机制。而 Prometheus Operator 则是一种用于在 Kubernetes 上运行和管理 Prometheus 的解决方案。相比于传统方式手动部署 Prometheus,Prometheus Operator 可以自动创建、配置和管理 Prometheus 实例,并将其与 Kubernetes 中的服务发现机制集成在一起,大幅简化了我们的工作量。


以下是 Prometheus 生态架构图:



  • Prometheus Server:用于持久化存储和查询时间序列数据的核心组件。

  • Exporter:用于将各种服务和系统的指标暴露为 Prometheus 可抓取的格式。

  • Alertmanager:用于处理由 Prometheus Server 生成的告警信息,并对其进行路由、静音、聚合等操作。

  • Pushgateway:允许临时性的、批量的指标推送到 Prometheus Server 中。

  • Grafana:一个开源的指标可视化和分析工具,可以与 Prometheus 进行无缝集成。


以下是 Prometheus Operator 生态架构图:



  • Prometheus:用于持久化存储和查询时间序列数据的核心组件,由 Prometheus Operator 自动创建和管理。

  • Alertmanager:用于处理由 Prometheus 生成的告警信息,并对其进行路由、静音、聚合等操作,由 Prometheus Operator 自动创建和管理。

  • Grafana:一个开源的指标可视化和分析工具,可以与 Prometheus 进行无缝集成,由用户自行安装或使用 Helm 部署。

  • Thanos Sidecar:一种用于在 Kubernetes 中运行 Thanos 的解决方案,可以扩展 Prometheus 的存储能力,由用户自行安装或使用 Helm 部署。

  • ServiceMonitor:用于定义监控的对象和采集规则,由 Prometheus Operator 自动创建和管理。

  • PrometheusRule:用于定义告警规则和记录规则,由 Prometheus Operator 自动创建和管理。

  • Custom Resource Definitions (CRDs):用于定义 Prometheus、Alertmanager、ServiceMonitor 和 PrometheusRule 等资源的规范和行为,由 Prometheus Operator 自动创建和管理。

四.helm 安装 prometheus-operator


本文介绍如何使用 Helm 将 Prometheus Operator 部署到 Kubernetes 集群中,从而实现对集群的监控。关于 helm 的详细用法可以查看博客《Kubernetes(k8s)包管理工具Helm:Helm包管理》。

添加微软和阿里的源。

[root@k8scloude1 helm]# helm repo add azure http://mirror.azure.cn/kubernetes/charts/"azure" has been added to your repositories
[root@k8scloude1 helm]# helm repo add ali https://apphub.aliyuncs.com"ali" has been added to your repositories
复制代码

查看 helm 现在的仓库源。

[root@k8scloude1 helm]# helm repo listNAME 	URL                                      azure	http://mirror.azure.cn/kubernetes/charts/ali  	https://apphub.aliyuncs.com     
复制代码

搜索 prometheus-operator。

[root@k8scloude1 ~]# helm search repo prometheus-operatorNAME                     	CHART VERSION	APP VERSION	DESCRIPTION                                       ali/prometheus-operator  	8.7.0        	0.35.0     	Provides easy monitoring definitions for Kubern...azure/prometheus-operator	9.3.2        	0.38.1     	DEPRECATED Provides easy monitoring definitions...
复制代码

安装 prometheus-operator。

[root@k8scloude1 ~]# helm install prometheus ali/prometheus-operatorW0219 21:11:11.684133  125088 warnings.go:70] apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinitionW0219 21:11:11.707883  125088 warnings.go:70] apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition......W0219 21:11:46.261737  125088 warnings.go:70] policy/v1beta1 PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+W0219 21:11:47.064316  125088 warnings.go:70] policy/v1beta1 PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+W0219 21:11:55.302140  125088 warnings.go:70] policy/v1beta1 PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+NAME: prometheusLAST DEPLOYED: Sat Feb 19 21:11:14 2022NAMESPACE: helmSTATUS: deployedREVISION: 1NOTES:The Prometheus Operator has been installed. Check its status by running:  kubectl --namespace helm get pods -l "release=prometheus"
Visit https://github.com/coreos/prometheus-operator for instructions on howto create & configure Alertmanager and Prometheus instances using the Operator.
复制代码

查看安装的应用。

[root@k8scloude1 ~]# helm lsNAME      	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART                    	APP VERSIONprometheus	helm     	1       	2022-02-19 21:11:14.316586608 +0800 CST	deployed	prometheus-operator-8.7.0	0.35.0     
复制代码

查看 pod,发现一个 pod 拉取镜像失败 ImagePullBackOff。

[root@k8scloude1 ~]# kubectl get pod -o wideNAME                                                     READY   STATUS             RESTARTS   AGE     IP                NODE         NOMINATED NODE   READINESS GATESalertmanager-prometheus-prometheus-oper-alertmanager-0   1/2     ImagePullBackOff   0          5m14s   10.244.112.152    k8scloude2   <none>           <none>prometheus-grafana-74578c7898-xb7h6                      2/2     Running            0          5m36s   10.244.112.143    k8scloude2   <none>           <none>prometheus-kube-state-metrics-6b4d9598d9-c9xv9           1/1     Running            0          5m36s   10.244.251.218    k8scloude3   <none>           <none>prometheus-prometheus-node-exporter-nwgck                1/1     Running            0          5m36s   192.168.110.129   k8scloude2   <none>           <none>prometheus-prometheus-node-exporter-rq96m                1/1     Running            0          5m36s   192.168.110.130   k8scloude1   <none>           <none>prometheus-prometheus-node-exporter-w4bhq                1/1     Running            0          5m36s   192.168.110.128   k8scloude3   <none>           <none>prometheus-prometheus-oper-operator-5b57575c97-6x4th     2/2     Running            0          5m36s   10.244.251.221    k8scloude3   <none>           <none>prometheus-prometheus-prometheus-oper-prometheus-0       3/3     Running            1          5m4s    10.244.112.147    k8scloude2   <none>           <none>
复制代码

查看 pod 的日志。

[root@k8scloude1 ~]# kubectl logs alertmanager-prometheus-prometheus-oper-alertmanager-0error: a container name must be specified for pod alertmanager-prometheus-prometheus-oper-alertmanager-0, choose one of: [alertmanager config-reloader]
复制代码

因为 alertmanager-prometheus-prometheus-oper-alertmanager-0 这个 pod 里有 2 个容器,查看日志需要指明看哪个容器的日志,使用-c 指定容器名,查看 alertmanager-prometheus-prometheus-oper-alertmanager-0 这个 pod 里 alertmanager 容器的日志,报错了,但是只是说镜像拉取失败,没说具体是哪个镜像拉取失败。

[root@k8scloude1 ~]# kubectl logs alertmanager-prometheus-prometheus-oper-alertmanager-0 -c alertmanagerError from server (BadRequest): container "alertmanager" in pod "alertmanager-prometheus-prometheus-oper-alertmanager-0" is waiting to start: trying and failing to pull image
复制代码

查看 alertmanager-prometheus-prometheus-oper-alertmanager-0 这个 pod 里 config-reloader 容器的日志,没报错。

[root@k8scloude1 ~]# kubectl logs alertmanager-prometheus-prometheus-oper-alertmanager-0 -c config-reloader
复制代码

kubectl describe 查看 pod 的描述信息,可以看到报错:Back-off pulling image "registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager:v0.20.0",由此判定是 registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager:v0.20.0 镜像下载失败。

[root@k8scloude1 ~]# kubectl describe pod alertmanager-prometheus-prometheus-oper-alertmanager-0Name:         alertmanager-prometheus-prometheus-oper-alertmanager-0Namespace:    helmPriority:     0Node:         k8scloude2/192.168.110.129............Events:  Type     Reason     Age                   From               Message  ----     ------     ----                  ----               -------  Normal   Scheduled  7m39s                 default-scheduler  Successfully assigned helm/alertmanager-prometheus-prometheus-oper-alertmanager-0 to k8scloude2  Normal   Pulling    6m13s                 kubelet            Pulling image "registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-configmap-reload:v0.0.1"  Normal   Started    5m25s                 kubelet            Started container config-reloader  Normal   Pulled     5m25s                 kubelet            Successfully pulled image "registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-configmap-reload:v0.0.1" in 48.034472085s  Normal   Created    5m25s                 kubelet            Created container config-reloader  Normal   BackOff    111s (x5 over 4m10s)  kubelet            Back-off pulling image "registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager:v0.20.0"  Warning  Failed     111s (x5 over 4m10s)  kubelet            Error: ImagePullBackOff  Normal   Pulling    97s (x4 over 7m38s)   kubelet            Pulling image "registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager:v0.20.0"  Warning  Failed     26s (x4 over 6m13s)   kubelet            Failed to pull image "registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager:v0.20.0": rpc error: code = Unknown desc = context canceled  Warning  Failed     26s (x4 over 6m13s)   kubelet            Error: ErrImagePull
复制代码

我们去 kubernetes 集群的 worker 节点手动下载 registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager:v0.20.0 镜像,k8scloude3 节点下载镜像。

[root@k8scloude3 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager:v0.20.0v0.20.0: Pulling from kubeapps/quay-alertmanager0f8c40e1270f: Already exists 626a2a3fee8c: Already exists 05ec5ff61d82: Pull complete 3e4eb9050294: Pull complete c920019f84ec: Pull complete 59ee938b06a9: Pull complete Digest: sha256:b9323917a2eda265bec69e59a457f001c529facbbc8166df277f4850cdac61a0Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager:v0.20.0registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager:v0.20.0
[root@k8scloude3 ~]# docker images | grep quay-alertmanagerregistry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager v0.20.0 0881eb8f169f 2 years ago 52.1MB
复制代码

因为 k8scloude2 节点镜像下载不下来,所以把 k8scloude3 节点的镜像导出为 tar 包,然后 k8scloude2 节点导入 tar 包加载镜像,关于 docker 更多操作,请查看博客《一文搞懂docker容器基础:docker镜像管理,docker容器管理》。

[root@k8scloude3 ~]# docker save registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager:v0.20.0 >quay-alertmanager0.20.tar
[root@k8scloude3 ~]# lsquay-alertmanager0.20.tar
复制代码

把 quay-alertmanager0.20.tar 包传到 k8scloude2 节点。

[root@k8scloude3 ~]# scp quay-alertmanager0.20.tar k8scloude2:~/
复制代码

k8scloude2 加载镜像包,此时两个 worker 节点都已经存在了 registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager 镜像。

[root@k8scloude2 ~]# docker load -i quay-alertmanager0.20.tar fd718f46814b: Loading layer [==================================================>]  3.584kB/3.584kBLoaded image: registry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager:v0.20.0
[root@k8scloude2 ~]# docker images | grep quay-alertmanagerregistry.cn-hangzhou.aliyuncs.com/kubeapps/quay-alertmanager v0.20.0 0881eb8f169f 2 years ago 52.1MB
复制代码

查看 pod,此时 alertmanager-prometheus-prometheus-oper-alertmanager-0 也变为 Running 状态。

[root@k8scloude1 helm]# kubectl get pod -o wideNAME                                                     READY   STATUS    RESTARTS   AGE   IP                NODE         NOMINATED NODE   READINESS GATESalertmanager-prometheus-prometheus-oper-alertmanager-0   2/2     Running   0          15m   10.244.112.152    k8scloude2   <none>           <none>prometheus-grafana-74578c7898-xb7h6                      2/2     Running   0          15m   10.244.112.143    k8scloude2   <none>           <none>prometheus-kube-state-metrics-6b4d9598d9-c9xv9           1/1     Running   0          15m   10.244.251.218    k8scloude3   <none>           <none>prometheus-prometheus-node-exporter-nwgck                1/1     Running   0          15m   192.168.110.129   k8scloude2   <none>           <none>prometheus-prometheus-node-exporter-rq96m                1/1     Running   0          15m   192.168.110.130   k8scloude1   <none>           <none>prometheus-prometheus-node-exporter-w4bhq                1/1     Running   0          15m   192.168.110.128   k8scloude3   <none>           <none>prometheus-prometheus-oper-operator-5b57575c97-6x4th     2/2     Running   0          15m   10.244.251.221    k8scloude3   <none>           <none>prometheus-prometheus-prometheus-oper-prometheus-0       3/3     Running   1          15m   10.244.112.147    k8scloude2   <none>           <none>
复制代码

此时 prometheus-operator 就安装完毕了。

五.配置 prometheus-operator

5.1 修改 grafana 的 svc 类型

查看 svc,grafana 是可视化界面,此时 prometheus-grafana 的 svc 类型为 ClusterIP,外界访问不了,我们修改 grafana 的 svc 发布类型,使其外界能够访问 grafana web 界面。关于 svc 的发布类型,详情请查看博客《Kubernetes(k8s)服务service:service的发现和service的发布》。

[root@k8scloude1 helm]# kubectl get svc -o wideNAME                                      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE   SELECTORalertmanager-operated                     ClusterIP   None             <none>        9093/TCP,9094/TCP,9094/UDP   16m   app=alertmanagerprometheus-grafana                        ClusterIP   10.108.86.134    <none>        80/TCP                       16m   app=grafana,release=prometheusprometheus-kube-state-metrics             ClusterIP   10.105.107.5     <none>        8080/TCP                     16m   app.kubernetes.io/instance=prometheus,app.kubernetes.io/name=kube-state-metricsprometheus-operated                       ClusterIP   None             <none>        9090/TCP                     15m   app=prometheusprometheus-prometheus-node-exporter       ClusterIP   10.109.42.88     <none>        9100/TCP                     16m   app=prometheus-node-exporter,release=prometheusprometheus-prometheus-oper-alertmanager   ClusterIP   10.104.36.37     <none>        9093/TCP                     16m   alertmanager=prometheus-prometheus-oper-alertmanager,app=alertmanagerprometheus-prometheus-oper-operator       ClusterIP   10.107.93.11     <none>        8080/TCP,443/TCP             16m   app=prometheus-operator-operator,release=prometheusprometheus-prometheus-oper-prometheus     ClusterIP   10.102.189.146   <none>        9090/TCP                     16m   app=prometheus,prometheus=prometheus-prometheus-oper-prometheus
复制代码

kubectl edit 编辑 svc,把 svc 的类型从 ClusterIP 改为 NodePort。

[root@k8scloude1 helm]# kubectl edit svc prometheus-grafanaservice/prometheus-grafana edited
复制代码

查看 svc,此时 prometheus-grafana 的类型变为了 NodePort,外界访问节点 IP:30355,即可访问 grafana 界面。

[root@k8scloude1 helm]# kubectl get svc -o wideNAME                                      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE   SELECTORalertmanager-operated                     ClusterIP   None             <none>        9093/TCP,9094/TCP,9094/UDP   17m   app=alertmanagerprometheus-grafana                        NodePort    10.108.86.134    <none>        80:30355/TCP                 17m   app=grafana,release=prometheusprometheus-kube-state-metrics             ClusterIP   10.105.107.5     <none>        8080/TCP                     17m   app.kubernetes.io/instance=prometheus,app.kubernetes.io/name=kube-state-metricsprometheus-operated                       ClusterIP   None             <none>        9090/TCP                     16m   app=prometheusprometheus-prometheus-node-exporter       ClusterIP   10.109.42.88     <none>        9100/TCP                     17m   app=prometheus-node-exporter,release=prometheusprometheus-prometheus-oper-alertmanager   ClusterIP   10.104.36.37     <none>        9093/TCP                     17m   alertmanager=prometheus-prometheus-oper-alertmanager,app=alertmanagerprometheus-prometheus-oper-operator       ClusterIP   10.107.93.11     <none>        8080/TCP,443/TCP             17m   app=prometheus-operator-operator,release=prometheusprometheus-prometheus-oper-prometheus     ClusterIP   10.102.189.146   <none>        9090/TCP                     17m   app=prometheus,prometheus=prometheus-prometheus-oper-prometheus
复制代码

5.2 查询 grafana 的账号密码

打开浏览器访问:物理机 IP:30355,即可访问 grafana,我们访问http://192.168.110.130:30355/login,grafana 需要输入账号密码才可以登录。



现在需要查询 grafana 的账号密码,grafana 的账号密码都是放在 secret 里保存的。

查看 secret,grafana 的账号密码保存在 prometheus-grafana 里。

[root@k8scloude1 helm]# kubectl get secret -o wideNAME                                                          TYPE                                  DATA   AGEalertmanager-prometheus-prometheus-oper-alertmanager          Opaque                                1      21mdefault-token-ztjjd                                           kubernetes.io/service-account-token   3      5h49mprometheus-grafana                                            Opaque                                3      21mprometheus-grafana-test-token-hvdpz                           kubernetes.io/service-account-token   3      21mprometheus-grafana-token-4hvvc                                kubernetes.io/service-account-token   3      21m。。。。。。
复制代码

以 yaml 文件的方式查看 prometheus-grafana 的信息,可以看到账号密码如下:

  • 账号 admin-user: YWRtaW4=

  • 密码 admin-password: cHJvbS1vcGVyYXRvcg==

不过账号密码被加密了,需要进行解密。

[root@k8scloude1 helm]# kubectl get secrets prometheus-grafana -o yamlapiVersion: v1data:  admin-password: cHJvbS1vcGVyYXRvcg==  admin-user: YWRtaW4=  ldap-toml: ""kind: Secretmetadata:  annotations:    meta.helm.sh/release-name: prometheus    meta.helm.sh/release-namespace: helm  creationTimestamp: "2022-02-19T13:11:43Z"  labels:    app: grafana    app.kubernetes.io/managed-by: Helm    chart: grafana-4.3.0    heritage: Helm    release: prometheus  name: prometheus-grafana  namespace: helm  resourceVersion: "2359089"  selfLink: /api/v1/namespaces/helm/secrets/prometheus-grafana  uid: 1e081320-13cf-422e-b7b9-bc08b6ea8d23type: Opaque
复制代码

解密账号。

[root@k8scloude1 helm]# kubectl get secrets prometheus-grafana -o jsonpath='{.data.admin-user}' | base64 -dadmin
复制代码

解密密码。

[root@k8scloude1 helm]# kubectl get secrets prometheus-grafana -o jsonpath='{.data.admin-password}' | base64 -dprom-operator
复制代码

5.3 访问 grafana web 界面

得到账号密码之后,登录http://192.168.110.130:30355/login就可以进入 grafana 了,grafana 首页如下所示:



接下来添加数据源,configuration-->data source-->Add data source 添加数据源。



默认已经存在了 prometheus 这个数据源,选择 prometheus。



此时查看节点的资源使用情况,选择 nodes 节点。



现在展示的就是 kubernetes 集群的节点资源使用情况了。



如果觉得默认的 dashboard 不好看,可以去 grafana 官网找其他模板,访问 grafana 官网:https://grafana.com/grafana/dashboards/。在 grafana 官网觉得 9873 这个模板好看,点击 copy ID to Clipboard,复制 ID。



在 Import,输入模板 ID 9873 进行导入。



选择 prometheus 进行导入。



这样就成功导入了新的模板。

六.删除 prometheus operator

查看已经安装的应用。

[root@k8scloude1 helm]# helm lsNAME      	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART                    	APP VERSIONprometheus	helm     	1       	2022-02-19 21:11:14.316586608 +0800 CST	deployed	prometheus-operator-8.7.0	0.35.0  
复制代码

删除 prometheus。

[root@k8scloude1 helm]# helm delete prometheusW0219 22:12:41.986757   52171 warnings.go:70] rbac.authorization.k8s.io/v1beta1 RoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 RoleBindingW0219 22:12:42.000754   52171 warnings.go:70] rbac.authorization.k8s.io/v1beta1 Role is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 RoleW0219 22:12:42.026096   52171 warnings.go:70] rbac.authorization.k8s.io/v1beta1 ClusterRoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 ClusterRoleBinding......W0219 22:12:42.599013   52171 warnings.go:70] admissionregistration.k8s.io/v1beta1 ValidatingWebhookConfiguration is deprecated in v1.16+, unavailable in v1.22+; use admissionregistration.k8s.io/v1 ValidatingWebhookConfigurationrelease "prometheus" uninstalled
[root@k8scloude1 helm]# helm lsNAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
复制代码

删除 prometheus-operator 之后,对应的 pod 和 svc 都被删除了。

[root@k8scloude1 helm]# kubectl get pod -o wideNo resources found in helm namespace.
[root@k8scloude1 helm]# kubectl get svc -o wideNo resources found in helm namespace.
复制代码

七.总结

在本文中,我们介绍了如何使用 Helm 将 Prometheus Operator 部署到 Kubernetes 集群中,并添加了自定义配置以满足我们的需求。通过这种方式,我们可以更加方便地管理和部署 Prometheus Operator,同时也可以提高我们对 Kubernetes 集群的监控能力。

除了使用 Helm 部署 Prometheus Operator 之外,我们还可以使用其他工具来进行部署和管理。例如,kube-prometheus 是一种用于在 Kubernetes 上运行和管理 Prometheus 的解决方案,它也可以自动创建、配置和管理 Prometheus 实例。如果您需要更高级的功能,可以尝试使用 kube-prometheus 进行部署和管理。


文章转载自:人生的哲理

原文链接:https://www.cnblogs.com/renshengdezheli/p/17484619.html

用户头像

还未添加个人签名 2023-06-19 加入

还未添加个人简介

评论

发布
暂无评论
无痛调度!使用Helm在Kubernetes上一键搭建Prometheus Operator监控_教程分享_不在线第一只蜗牛_InfoQ写作社区