问题:

pod一直处于pending状态,describe pod查看报错信息,发现pvc一直处于pending状态。
报错信息如下:

waiting for a volume to be created, either by external provisioner "data-wordpress-mariadb-0" or manually created by system administrator

解决:

当前集群版本是v1.22。k8s从v1.20开始默认删除了 metadata.selfLink 字段,然而,部分应用仍然依赖于这个字段,例如 nfs-client-provisioner。
而wordpress-mariadb正是使用的nfs作为存储卷。

修改api server配置,添加如下字段:

- --feature-gates=RemoveSelfLink=false

file

修改后,apiserver会自动重启,删除pod后,再次查看pvc状态恢复正常。
file

PS:
网上也有第二种解决方案:
更改nfs-subdir-external-provisioner为v4.0.0以上的版本,就会自动解决这个问题。
相关文档:https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/issues/25
我当前的版本是3.1.0,没有测试。

file

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐