You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装Prometheus Helm Chart遇BackoffLimitExceeded错误的解决咨询

解决kube-prometheus-stack安装时的BackoffLimitExceeded及API Server连接超时问题

问题现象

使用默认配置安装Prometheus Helm Chart:

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

出现超时错误:

Error: INSTALLATION FAILED: failed pre-install: timed out waiting for the condition

延长超时时间后执行:

helm install prometheus prometheus-community/kube-prometheus-stack --timeout 30m

错误变为:

Error: INSTALLATION FAILED: failed pre-install: job failed: BackoffLimitExceeded

查看prometheus-admission-create Pod日志,核心错误为:

W0404 01:47:16.302029       1 client_config.go:615] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
{"err":"Get \"https://10.96.0.1:443/api/v1/namespaces/default/secrets/prometheus-kube-prometheus-admission\": dial tcp 10.96.0.1:443: i/o timeout","level":"fatal","msg":"error getting secret","source":"k8s/k8s.go:232","time":"2023-04-04T01:47:46Z"}

同时事件中提示PVC绑定失败:

2m49s       Normal    FailedBinding          persistentvolumeclaim/storage-prometheus-alertmanager-0   no persistent volumes available for this claim and no storage class is set

核心原因分析

  1. Pod与K8s API Server连通性故障:Pod无法访问API Server的ClusterIP(10.96.0.1:443),导致admission前置任务无法创建所需的Secret,最终触发重试次数上限(BackoffLimitExceeded)。
  2. PVC存储类缺失:AlertManager的持久化存储声明未指定存储类,且集群无默认存储类,导致存储卷绑定失败。

解决方案

1. 修复集群网络连通性(根本解决)

  • 在Pod所在节点执行命令,测试API Server连通性:
    curl -k https://10.96.0.1:443/api/v1/namespaces/default
    
  • 检查节点防火墙、iptables规则,确保未阻挡Pod到ClusterIP段的流量。
  • 验证CNI插件(如Calico、Flannel)运行状态,确认Pod网络可正常路由至集群内部IP。

2. 临时禁用Admission Webhook(测试环境快速绕过)

若为测试环境需快速完成安装,可直接禁用admission webhook组件:

helm install prometheus prometheus-community/kube-prometheus-stack --set admissionWebhooks.enabled=false

3. 配置存储类解决PVC绑定问题

  • 创建集群默认存储类,或安装时显式指定存储类:
    helm install prometheus prometheus-community/kube-prometheus-stack \
      --set alertmanager.persistentVolume.storageClass="your-storage-class" \
      --set prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.spec.storageClass="your-storage-class"
    

4. 调整Job重试次数(仅临时缓解)

若需增加admission任务的重试次数,可通过以下参数设置(不同Chart版本参数可能略有差异):

helm install prometheus prometheus-community/kube-prometheus-stack --set admissionWebhooks.jobBackoffLimit=10

注意:此方法仅增加重试次数,无法解决网络连通性问题,建议优先排查网络故障。


内容的提问来源于stack exchange,提问作者Đăng Lương

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 06:55:38