创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。如果未按模板创建问题,管理员有权关闭问题。
确保帖子格式清晰易读,用 markdown code block 语法格式化代码块。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。

Kubernetes版本信息
v1.29.9

容器运行时
crictl version

Version: 0.1.0

RuntimeName: containerd

RuntimeVersion: 1.6.33

RuntimeApiVersion: v1

KubeSphere版本信息
v4.1.2

问题是什么
kubectl log -n extension-whizard-alerting thanos-ruler-whizard-alerting-agent-0

thanos: error: expected argument for flag ‘–tsdb.retention’

查看statefulset如下

spec:

  containers:

  - args:

    - rule

    - --data-dir=/thanos/data

    - --eval-interval=1m

    - --tsdb.retention

  …

--tsdb.retention这个配置没有值,查了下thanosio/thanos官方文档这个参数要赋值啊

手动修改statefulset,改完自动恢复,话说如果想自定义这些配置要改哪里?

尝试在”集群Agent配置“的差异化配置定义tsdb.retention的值试了Chart.yaml语法都不行呢

xulai 感谢大佬回复

是安装组件自动配置的,没有自定义任何配置,尝试修改thanos-ruler-whizard-alerting-agent这个statefulset删掉–tsdb.retention会自动恢复

thanosruler的crd说的是这个吗?这个要怎么改 - - github上找了下kind: ThanosRuler的写法 发现和args好像没关系啊

你上边贴的是cr,prometheus-operator负责更新这个cr对应的工作负载。

crd 是这个 https://github.com/WizTelemetry/prometheus-charts/blob/kube-prometheus-stack-61.3.6/charts/kube-prometheus-stack/charts/crds/crds/crd-thanosrulers.yaml#L4502,retention字段有默认值。

告警组件安装的这个cr里未设置这个字段,就会使用crd中指定的默认值。所以你需要检查下你环境的这个crd是不是较新的

    xulai 感谢大神 找到了,没学透 - -!

    确实没有默认值,手动加了一下,解决了

    不过这个thanosrulers.monitoring.coreos.com看创建时间 应该是在安装v3.4.1时创建的,集群没有安装过任何prometheus,为什么安装WhizardTelemetry告警组件没有更新它呢

    19 天 后