当我尝试安装 Prometheus helm chart 时,出现此错误

Posted

技术标签:

【中文标题】当我尝试安装 Prometheus helm chart 时,出现此错误【英文标题】:When I am trying to install Prometheus helm chart, I get this error 【发布时间】:2021-08-25 04:56:11 【问题描述】:

我正在执行下面提到的命令来安装 Prometheus。

helm install my-kube-prometheus-stack prometheus-community/kube-prometheus-stack

我收到以下错误消息。请指教。

Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: [ValidationError(Alertmanager.spec): unknown field "alertmanagerConfigNamespaceSelector" in com.coreos.monitoring.v1.Alertmanager.spec, ValidationError(Alertmanager.spec): unknown field "alertmanagerConfigSelector" in com.coreos.monitoring.v1.Alertmanager.spec]

【问题讨论】:

您好@saerma,欢迎来到 ***!您能否检查一下您的设置中是否已经有任何与 Prometheus 相关的 CRD? 【参考方案1】:

你好@saerma,欢迎来到 Stack Overflow!

@rohatgisanat 可能是对的,但如果没有看到您当前的配置,就无法验证这一点。请检查是否是这种情况。

您还应该寻找其他两件事:

    如果之前安装过其他与 prometheus 相关的清单文件,请删除以下内容:
crd alertmanagerconfigs.monitoring.coreos.com alertmanagers.monitoring.coreos.com crd podmonitors.monitoring.coreos.com crd probes.monitoring.coreos.com crd prometheuses.monitoring.coreos.com crd prometheusrules.monitoring.coreos.com crd servicemonitors.monitoring.coreos.com crd thanosrulers.monitoring.coreos.com

另外,检查是否有任何其他与 Prometheus 相关的配置文件:

kubectl get configmap --all-namespaces

并删除它们。

请注意,删除 CRD 将导致删除之前由其他图表创建的任何 servicemonitors 等。

之后,您可以尝试从头开始重新安装。

    如果安装全新,请运行:

kubectl apply -f  https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.45.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml

因为 CRD 随着新版本的变化而变化,您需要使用更新后的。

Source.

【讨论】:

你好@aerma。请记得react to answers for your questions。这样我们就知道答案是否有帮助,其他社区成员也可以从中受益。尝试accept answer,这是您问题的最终解决方案,对有帮助的答案进行投票,并对可以改进或需要额外关注的答案发表评论。祝您住宿愉快!【参考方案2】:

看起来alertmanagerConfigNamespaceSelector 的缩进是错误的。它应该与alertmanagerConfigSelector 处于同一级别。检查您的 values.yaml 是否相同。

【讨论】:

以上是关于当我尝试安装 Prometheus helm chart 时,出现此错误的主要内容,如果未能解决你的问题,请参考以下文章

通过helm安装prometheus

k8s Helm安装Prometheus Operator

helm 安装prometheus operator 并监控ingress

如何配置 kube-prometheus-stack helm 安装来抓取 Kubernetes 服务?

如何将抓取目标添加到使用 Kubernetes-Helm 安装的 Prometheus 服务器?

已安装 prometheus-community / helm-charts 但我无法获取“默认”命名空间的指标