kube-prometheus-stack 升级失败,并出现错误:“调用 webhook x509 失败:证书由未知机构签名”和“字段不可变”

问题描述 投票:0回答:2

我刚刚使用 Terraform 在 Kubernetes 集群上使用 Helm 图表升级了

kube-prometheus-stack
,并开始看到以下 2 个错误:

  • 错误1:
failed calling webhook "prometheusrulemutate.monitoring.coreos.com": 
failed to call webhook: 
Post "https://kube-prometheus-stack-operator.infra.svc:443/admission-prometheusrules/mutate?timeout=30s": 
x509: certificate signed by unknown authority
  • 错误2:
Error: cannot patch "kube-prometheus-stack-prometheus-node-exporter" with kind DaemonSet: 
DaemonSet.apps "kube-prometheus-stack-prometheus-node-exporter" is invalid: spec.selector: 
Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app.kubernetes.io/instance":"kube-prometheus-stack", "app.kubernetes.io/name":"prometheus-node-exporter"}, 
MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable && 
cannot patch "kube-prometheus-stack-kube-state-metrics" with kind Deployment: 
Deployment.apps "kube-prometheus-stack-kube-state-metrics" is invalid: spec.selector: 
Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app.kubernetes.io/instance":"kube-prometheus-stack", "app.kubernetes.io/name":"kube-state-metrics"}, 
MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable

您可以在下表中找到查看旧版和新版 Kube Prometheus Stack 图像和图表的升级路径:

组件 旧版本(日期:2021 年 4 月 14 日) 新版本(日期:2023年7月24日)
图片 v0.46.0 v0.66.0
图表 14.9.0 48.2.0

如何修复这两个错误?

kubernetes prometheus kubernetes-helm prometheus-node-exporter kube-state-metrics
2个回答
0
投票

为了修复第一个错误,我更改了

prometheusOperator
配置,将 Helm 图表默认值文件中
failurePolicy
下的
Ignore
设置为
admissionWebhooks
,如下所示:

prometheusOperator:
  enabled: true
  admissionWebhooks:
"Fail"
    failurePolicy: "Ignore"

为了修复第二个错误,我通过将

kubeStateMetrics
设置为
nodeExporter
,在 Helm 图表的默认值文件中禁用了
enabled
false
配置,然后应用 Helm 图表,然后通过设置
enabled
启用这两个配置到
true
,然后应用 Helm 图表,效果很好。也许,在新版本中成功安装需要删除资源。不知道是什么原因造成的。升级过程中默认值文件中可能有一些不正确的配置。

参考:kube-prometheus-stack / v48.2.0


0
投票

我的 grafan 在 Pod 和容器上显示没有数据,所有其他指标都很好,k8s 1.24,cri Docker,44.1.0 k8sProm,

© www.soinside.com 2019 - 2024. All rights reserved.