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

本地K8s集群部署Vault用于证书管理遇Pod/PV Pending问题

问题:Vault StatefulSet Pod 持续处于 Pending 状态

按照HashiCorp的Vault+Kubernetes证书管理教程部署后,vault-0 Pod一直处于Pending状态,对应的data-vault-0 PersistentVolumeClaim(PVC)也无法绑定到PersistentVolume(PV)。

Pod 状态信息

NAME      READY   STATUS    RESTARTS   AGE
vault-0   0/1     Pending   0          12m

Pod 事件详情

LAST SEEN              TYPE      REASON             OBJECT                                      MESSAGE
50m (x5 over 65m)      Warning   FailedScheduling   Pod/vault-0                                 0/2 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/2 nodes are available: 2 Preemption is not helpful for scheduling.
49m (x2 over 65m)      Normal    SuccessfulCreate   StatefulSet/vault                           create Pod vault-0 in StatefulSet vault successful
45m (x82 over 65m)     Normal    FailedBinding      PersistentVolumeClaim/data-vault-0          no persistent volumes available for this claim and no storage class is set
44m (x2 over 49m)      Warning   FailedScheduling   Pod/vault-0                                 0/2 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/2 nodes are available: 2 Preemption is not helpful for scheduling.
44m                    Normal    Killing            Pod/vault-agent-injector-66f45b5fd5-nmhtx   Stopping container sidecar-injector
29m                    Warning   FailedScheduling   Pod/vault-0                                 0/2 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/2 nodes are available: 2 Preemption is not helpful for scheduling.
26m                    Normal    SuccessfulDelete   StatefulSet/vault                           delete Pod vault-0 in StatefulSet vault successful
23m (x24 over 29m)     Normal    FailedBinding      PersistentVolumeClaim/data-vault-0          no persistent volumes available for this claim and no storage class is set
23m (x2 over 29m)      Normal    SuccessfulCreate   StatefulSet/vault                           create Claim data-vault-0 Pod vault-0 in StatefulSet vault success
23m (x2 over 29m)      Normal    SuccessfulCreate   StatefulSet/vault                           create Pod vault-0 in StatefulSet vault successful
2m48s (x82 over 23m)   Normal    FailedBinding      PersistentVolumeClaim/data-vault-0          no persistent volumes available for this claim and no storage class is set
2m36s (x5 over 23m)    Warning   FailedScheduling   Pod/vault-0                                 0/2 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/2 nodes are available: 2 Preemption is not helpful for scheduling.

解决方案

事件日志明确指出核心问题:no persistent volumes available for this claim and no storage class is set(PVC未指定存储类,且集群无可用PV自动绑定),按以下步骤解决:

1. 检查集群存储类

执行命令查看当前集群的存储类:

kubectl get storageclasses

记录可用存储类的名称(如云厂商的gp2、standard,或本地集群的自定义存储类)。

2. 为Vault PVC指定存储类

方式一:修改StatefulSet的PVC模板

编辑Vault StatefulSet:

kubectl edit statefulset vault

找到spec.volumeClaimTemplates节点,添加storageClassName字段:

volumeClaimTemplates:
- metadata:
    name: data
  spec:
    accessModes: [ "ReadWriteOnce" ]
    storageClassName: "你的存储类名称"
    resources:
      requests:
        storage: 10Gi

保存退出后,StatefulSet会自动重建PVC和Pod。

方式二:直接修改已存在的PVC

若不想重建StatefulSet,直接编辑data-vault-0 PVC:

kubectl edit pvc data-vault-0

添加storageClassName字段:

spec:
  storageClassName: "你的存储类名称"
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

3. 无可用存储类时创建存储类

如果集群没有任何存储类,需根据环境创建对应存储类:

  • 测试集群(如Minikube):可创建hostPath存储类
  • 云厂商集群:参考云服务商文档创建存储类(如AWS EBS、Azure Disk)

示例:创建hostPath存储类(仅用于测试)

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer

保存为storageclass.yaml后执行:

kubectl apply -f storageclass.yaml

再按步骤2为PVC指定该存储类。

4. 验证状态

执行以下命令查看PVC和Pod状态,当PVC变为Bound后,Pod会自动调度:

kubectl get pvc data-vault-0
kubectl get pod vault-0

内容的提问来源于stack exchange,提问作者Delyan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 00:03:10