首页 > 解决方案 > 部署 Yaml 中的 Google Cloud Kubernetes Persistent Volume Claim 错误

问题描述

我有一个持久卷声明文件,以前在部署阶段由 buildkite 读取。直到最近,它在构建过程中一直出现此错误:

error: error validating "kube/common/01-redis-volume-claim.yml": error validating data: field
spec.dataSource for v1.PersistentVolumeClaimSpec is required; if you choose to ignore these
errors, turn validation off with --validate=false

我最近两次看到此问题出现,立即解决方法是添加缺少的字段 ( spec.dataSource) 并将其设置为null.

我的问题是,如果它在第一个实例中不存在,那么将它设置为与null以前的不同吗?

标签: kubernetesgoogle-cloud-platformpersistent-volumespersistent-volume-claims

解决方案


基于文档

spec.dataSource应该有:

名称:现有-src-pvc-名称

种类:PersistentVolumeClaim

在我看来,您应该做的就是在您的 yaml 文件中添加名称种类,这样就不应该再出现任何错误了。

我的问题是,如果它在第一个实例中不存在,那么将它设置为 null 与以前的设置有什么不同吗?

回答这个问题,就我而言,它正在发生,因为您没有创建新的 pvc,但您可能会克隆它。

添加了卷克隆功能以仅支持 CSI 卷插件。有关详细信息,请参阅卷克隆

CSI 卷克隆功能增加了对在dataSource字段中指定现有 PVC 以指示用户想要克隆卷的支持。


推荐阅读