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

Helm部署Loki-Stack后Prometheus相关Pod处于Pending状态排查

问题分析与解决方案

问题场景

通过Helm部署loki-stack集成Grafana和Prometheus,执行命令:

helm upgrade --install my-grafana grafana/loki-stack  --set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false -n monitoring

部署后多数组件运行正常,但loki-prometheus-server和loki-prometheus-node-exporter Pod持续处于Pending状态。Pod事件提示找不到PVC loki-prometheus-server,但执行kubectl get pvc能看到该PVC已处于Bound状态。

排查与解决步骤

1. 确认命名空间匹配

执行kubectl get pvc时未指定-n monitoring,可能看到的是其他命名空间下的同名PVC,而Pod所在的monitoring命名空间内实际不存在该PVC。

  • 执行以下命令验证目标命名空间的PVC状态:
    kubectl get pvc -n monitoring
    
  • 如果monitoring命名空间内无该PVC:删除非目标命名空间的同名PVC,重新部署时确保所有资源归属monitoring命名空间;如果存在,继续排查。

2. 修复Helm配置冲突

部分loki-stack版本中,仅设置prometheus.server.persistentVolume.enabled=false无法彻底禁用PVC挂载,模板仍会生成Pod的PVC挂载配置。

  • 先查看Pod定义确认挂载配置:
    kubectl describe pod loki-prometheus-server-$(kubectl get pods -n monitoring -l app=prometheus,component=server -o jsonpath='{.items[0].metadata.name}') -n monitoring | grep -C5 "PersistentVolumeClaim"
    
  • 彻底卸载并重新部署,补充额外参数禁用存储卷模板:
    # 卸载现有部署
    helm uninstall my-grafana -n monitoring
    # 删除残留PVC
    kubectl delete pvc loki-prometheus-server -n monitoring --ignore-not-found
    # 重新部署,添加存储卷模板禁用参数
    helm upgrade --install my-grafana grafana/loki-stack \
      --set grafana.enabled=true \
      --set prometheus.enabled=true \
      --set prometheus.alertmanager.persistentVolume.enabled=false \
      --set prometheus.server.persistentVolume.enabled=false \
      --set prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.enabled=false \
      -n monitoring
    

3. 刷新调度器缓存

Kubernetes调度器可能缓存了PVC不存在的旧状态,未同步最新的Bound状态。

  • 删除Pending状态的Pod,触发重新调度:
    kubectl delete pod -l app=prometheus,component=server -n monitoring
    kubectl delete pod -l app=prometheus,component=node-exporter -n monitoring
    
  • 等待Pod重建后观察调度状态。

4. 检查存储卷兼容性

PVC显示Bound但实际节点无法访问存储卷(比如azurefile存储类与节点网络不兼容),也会导致调度失败。

  • 查看PV的详细状态和访问信息:
    kubectl describe pv pvc-ce598aa9-ff7d-428f-83c8-ac2bea07f417
    
  • 如果发现存储卷访问异常,切换为集群兼容的存储类(比如默认存储类)重新创建PVC,或调整存储类的访问模式配置。

内容的提问来源于stack exchange,提问作者Container-Man

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 05:30:00