2

我正在通过 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 has unbound immediate PersistentVolumeClaims

我该如何解决?

4

1 回答 1

1

pod 有未绑定的立即 PersistentVolumeClaims

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

根据安装方法,您的 Kubernetes 集群可能会使用标记为默认的现有 StorageClass 进行部署。然后,此默认 StorageClass 用于为不需要任何特定存储类的 PersistentVolumeClaims 动态配置存储。有关详细信息,请参阅PersistentVolumeClaim 文档

可用于使新创建的存储类成为默认存储类的命令。

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
于 2019-10-31T10:40:50.250 回答