使用的 bitnami etcd helm 部署。 在阿里云 kubernetes 上面出现 pod has unbound PersistentVolumeClaims。 然后查看 pvc 的信息,

kubectl --namespace my-cluster get pvc

都是 pending 状态。

NAME                 STATUS    VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS         AGE
data-etcd-server-0   Pending                                                           14s
data-etcd-server-1   Pending                                                           14s
data-etcd-server-2   Pending                                                           14s

看一下 PVC 的详细状态

kubectl --namespace my-cluster describe pvc data-etcd-server-0

错误提示: no persistent volumes available for this claim and no storage class is set

这个错误说明没有可以使用的存储卷,且没有设置 storage class。 为啥部署为 aws 或者 GKE. 上面都是正常的? 因为AWS/GKE 上面都有默认的 StorageClass,而阿里云的 k8s 上面没有默认的 StorageClass,k8s 不能使用默认的 StorageClass 来创建存储卷,需要手工设置默认的 StorageClass,即可解决这个问题。 

运行如下命令:

kubectl patch storageclass alicloud-disk-ssd -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

然后删除 etcd-server, 删除 PVC, 重新再部署即可。如下(我这里 etcd server 有3个实例,对应3个 PVC)

kubectl --namespace my-cluster delete pvc data-etcd-server-0 data-etcd-server-1 data-etcd-server-2

如果出现 “Message: The specified parameter "Size" is not valid.” 这个错误信息, 说明设置的文件系统大小不正确,阿里云上最小的 SSD/ESSD 文件系统大小是 20G,小于 20G 会报这个错误。

参考:

https://help.aliyun.com/document_detail/189288.html

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐