kubernetes - 有状态集部署期间出现错误 "pod has unbound immediate PersistentVolumeClaim"

标签 kubernetes kubernetes-statefulset

我正在通过 statefulset 部署 stolon(默认来自 stolon repo)。
我在 statefulset 配置中定义了

volumeClaimTemplates:     
    - metadata:    
        name: data   
      spec:   
        accessModes: ["ReadWriteOnce"]   
        storageClassName: stolon-local-storage  
        resources:
          requests:
            storage: 1Gi

这是我的存储类:
apiVersion: storage.k8s.io/v1   
kind: StorageClass   
metadata:   
  name: stolon-local-storage  
provisioner: kubernetes.io/no-provisioner  
volumeBindingMode: WaitForFirstConsumer

statefulset 创建得很好,但 pod 有错误:
pod 有未绑定(bind)的立即 PersistentVolumeClaims

我该如何解决?

最佳答案

pod has unbound immediate PersistentVolumeClaims



在这种情况下,pvc 无法连接到 storageclass,因为它不是 default。 .

Depending on the installation method, your Kubernetes cluster may be deployed with an existing StorageClass that is marked as default. This default StorageClass is then used to dynamically provision storage for PersistentVolumeClaims that do not require any specific storage class. See PersistentVolumeClaim documentation for details.



可用于使新创建的存储类成为默认存储类的命令。
kubectl patch storageclass <name_of_storageclass> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

然后你可以使用 kubectl get storageclass它应该看起来像这样
NAME                 PROVISIONER               AGE
stolon-local-storage   (default)   kubernetes.io/gce-pd      1d

关于kubernetes - 有状态集部署期间出现错误 "pod has unbound immediate PersistentVolumeClaim",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58607949/

相关文章:

kubernetes - 将单独的环境变量传递给 statefulset pod

kubernetes - 为什么K8S中的Redis老是重启?

kubernetes - 如何在 kubernetes 上设置基本的 rabbitmq

java - 如何在 tomcat 中设置 org.apache.tomcat.util.digester.EnvironmentPropertySource

kubernetes - K8无法在GKE上访问Kube-UI

mongodb - 跨区域创建 StatefulSet 集群

kubernetes - StatefulSets 中并行 podManagementPolicy 相对于 OrderedReady podManagementPolicy 的优缺点是什么?

docker - 无法更新 Kubernetes 中 StatefulSet 的镜像

kubernetes - 如何修复 Flannel CNI 插件。错误 : [plugin flannel does not support config version ""]

python - 如何从 Python 将竖线 (|) 添加到 yaml 文件中