我正在通过statefulset部署stolon(默认值来自stolon回购)。 我已经在statefulset配置中定义
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: stolon-local-storage
resources:
requests:
storage: 1Gi
这是我的storageClass:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: stolon-local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
statefulset创建良好,但pod出现错误: pod具有未绑定的即时PersistentVolume声明
我该如何解决?
答案 0 :(得分:0)
pod具有未绑定的立即PersistentVolume声明
在这种情况下,pvc无法连接到storageclass,因为它不是作为default创建的。
根据安装方法,您的Kubernetes群集可能会使用标记为默认值的现有StorageClass进行部署。然后,此默认StorageClass用于为不需要任何特定存储类的PersistentVolumeClaims动态设置存储。有关详细信息,请参见PersistentVolumeClaim documentation。
可用于使您新创建的存储类成为默认存储类的命令。
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