k8s之Kube-prometheus

本文不包含持久化存储,所以数据会随pod丢失,请自行搜索相关教程(其实就是我不会)

数据收集当然是prometheus了,可是看到安装教程我人都麻了,又臭又长,经过不断搜索后终于发现kube-prometheus 可以理解成别人整合好的轮子,一键安装
prometheus ⟶ \longrightarrow prometheus-operator ⟶ \longrightarrow kube-prometheus
中杯 ⟶ \longrightarrow 大杯 ⟶ \longrightarrow 超大杯
首先按官方安装喜闻乐见的镜像拉不下来

# 失败的镜像
k8s.gcr.io/prometheus-adapter/prometheus-adapter:v0.9.1
k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.5.0

# 平替镜像
docker pull lbbi/prometheus-adapter:v0.9.1
docker pull bitnami/kube-state-metrics

# 打标签替换
docker tag lbbi/prometheus-adapter:v0.9.1 k8s.gcr.io/prometheus-adapter/prometheus-adapter:v0.9.1
docker tag bitnami/kube-state-metrics:latest  k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.5.0

ok啦,这时候应该都running了吧,不出意外的话还是有意外node-exporter还是没启动起来

Error: failed to start container "node-exporter": 
Error response from daemon: path / is mounted on / but it is not a shared or slave mount

当你搜索了一圈发现这么个解决方案

kubectl patch ds monitoring-prometheus-node-exporter --type "json" -p '[{"op": "remove", "path" : "/spec/template/spec/containers/0/volumeMounts/2/mountPropagation"}]'

尽管你修改成你本地正确的参数指令却还是得到这样的提示

The request is invalid

找到资源文件nodeExporter-daemonset.yaml 手动修改吧

で,mountPropagation: HostToContainerの行を削除する(2箇所) 咦,为什么是日语呢,因为我是从一个日本网站上扒到的

然后重新apply一下 ok 正常running

接下来试验下ingress-nginx吧,正好把kube-prometheus里的grafana等乱七八糟的用ingress暴露出来

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: prometheus-ingress
  namespace: monitoring
spec:
  ingressClassName: nginx
  rules:
    - host: grafana.test.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: grafana
                port:
                  number: 3000
    - host: alertmanager.test.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: alertmanager-main
                port:
                  number: 9093
    - host: prometheus.test.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: prometheus-k8s
                port:
                  number: 9090

直接域名访问就完事了,全都ok啦,host文件 127.0.0.1映射域名不要忘记

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kube-prometheus是一个监控解决方案,它使用Prometheus采集集群指标,Grafana进行展示。它包含了多个组件,包括Prometheus Operator、高可用的Prometheus、高可用的Alertmanager、Prometheus node-exporter、Prometheus Adapter for Kubernetes Metrics APIs(k8s-prometheus-adapter)、kube-state-metrics和Grafana。\[1\] 要部署kube-prometheus,你可以通过以下步骤进行操作: 1. 下载kube-prometheus代码,可以使用git clone命令,并切换到适合你的Kubernetes版本的分支。\[1\] 2. 下载Prometheus server,可以通过wget命令获取相应的版本。\[2\] 3. 修改镜像源为国内镜像源,可以在kube-prometheus的manifests目录下修改相关文件,将镜像源替换为国内镜像源。\[3\] 4. 将类型修改为NodePort,以便能够通过Node的IP和端口访问kube-prometheus。 希望以上信息对你有帮助。如果还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* *3* [Kube-Prometheus 部署](https://blog.csdn.net/qq_43164571/article/details/124802412)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [使用kube-prometheus部署prometheus时遇到的问题](https://blog.csdn.net/qq_37332827/article/details/101228764)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值