rancher上kube-prometheus部署报错处理

琉璃1年前技术文章2160

问题描述

rancher 上安装kube-prometheus,版本:8.3.9  ,Chart 仓库:bitnami

image.png

服务 pod: prometheus-kube-prometheus-prometheus 启动异常

image.png

问题处理

kubectl  describe po -n monitoring  prometheus-kube-prometheus-prometheus-0

报错如下:

caller=main.go:468 level=error msg="Error loading config (--config.file=/etc/prometheus/config_out/prometheus.env.yaml)" file=/etc/prometheus/config_out/prometheus.env.yaml err="parsing YAML file /etc/prometheus/config_out/prometheus.env.yaml: empty duration string"

image.png

查看具体报错信息:

kubectl  describe po -n monitoring  prometheus-kube-prometheus-prometheus-0   | grep  /etc/prometheus/config_out/prometheus.env.yaml

image.png

查看挂载信息

image.png

查看卷信息 ,config-out Type类型为 EmptyDir
备注:

emptyDir类型的volume在pod分配到node上时被创建,kubernetes会在node上自动分配 一个目录,因此无需指定宿主机node上对应的目录文件。这个目录的初始内容为空,当Pod从node上移除时,emptyDir中的数据会被永久删除。

image.png


查看在宿主机上EmptyDir映射信息

image.png

image.png

docker inspect 8ce86e673faa

image.png


cd /var/lib/kubelet/pods/878476b9-4d09-4aca-a2b4-2e3fcc85ed57/volumes/kubernetes.io~empty-dir/config-out

image.png


github 查询资料发现此issues:

What steps will reproduce the bug?

  1. deploy chart v8.2.1+

  2. see error and restarting prometheus pod

it seems setting these values fixes the issue:

在values中添加如下scrapeInterval 、evaluationInterval 值

prometheus:

 scrapeInterval: 1m

 evaluationInterval: 1m

Prometheus以scrape_interval规则周期性从监控目标上收集数据,然后将数据存储到本地存储上。

Prometheus以evaluation_interval规则周期性对告警规则做计算,然后更新告警状态。

 # 评估告警周期   evaluation_interval

# 数据采集间隔   scrape_interval

添加完成后服务正常启动

image.png



image.png


image.png

参考文档:https://github.com/bitnami/charts/issues/13874


相关文章

ReadConcern与WriteConcern

一、ReadConcern1、ReadConcern vs ReadPreferenceReadPreference 主要控制从副本集哪个节点来读取数据,该参数可以实现读写分离、就近读取的功能prim...

MySQL运维实战(4.7) SQL_MODE之ANSI_QUOTES

默认情况下,mysql使用反引号(`)作为标识符的引号。使用mysql关键字作为表名、字段名会报语法错误,这时可以加上反引号( `),避免报错。设置ANSI_QUOTES后,使用双引号(")...

C++ 编程:程序组成部分 & 函数 & 输入

C++ 编程:程序组成部分 & 函数 & 输入

程序结构首先从一个最简单的程序来看 C++ 程序结构:第一部分:#include <iostream> 专业名词叫:预处理器编译指令 其实效果就类似于导包; 第二部分:main() 程序的...

K8s数据持久化

K8s数据持久化

一、为什么需要持久化为了解决pod里面的容器被删除后数据不丢失,则引入了存储类型,类似于docker中的数据卷。在kubernetes集群中,其是支持多种存储类型,包括但不限于emptyDir,Hos...

image.png

kvm相关命令

一、管理kvm虚拟机1、创建虚拟机virt-install --name=centos1 –ram 1024 --vcpus=1 –disk path=/root/centos1.img,size...

HBase Shell操作

基本操作1.进入HBase客户端命令行[root@cdh02 current]# hbase shell2.查看帮助命令hbase(main):001:0> help3.查看当前数据库中有哪些表...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。