PersistentVolume无效:spec:必需值:必须指定卷类型

问题描述 投票:0回答:2

我正在尝试在现有存储类名称的基础上/在其基础上创建一个持久卷。然后我要在其上附加PVC;这样他们就被束缚了。运行下面的代码,将得到我想要的“ sftp-pv-claim”,但它未绑定到我的PV(“ sftp-pv-storage”)。状态为“待处理”。

我收到的错误消息是:“ PersistentVolume“ sftp-pv-storage”无效:spec:必需值:必须指定卷类型”。如果有人能指出我为什么收到错误消息的正确方向,将不胜感激。

规格:

我正在使用头盔图创建PV和PVC。

我正在使用Rancher UI来查看它们是否绑定以及是否已生成PV。

我正在使用的存储是带有Rook的Ceph(以允许对PV进行动态配置)。

错误:

我收到的错误消息是:“ PersistentVolume“ sftp-pv-storage”无效:spec:必需值:必须指定卷类型”。

尝试:

我尝试使用ClaimRef和matchLabels无济于事。

我在PV规格中添加了“ volumetype:none”。

如果我向PV添加“ hostPath:path:“ / mnt / data”“作为规范,它将显示为Available PV(具有本地节点路径),但我的PVC未绑定到该PV。 (此外,出于部署目的,我不想使用hostPath。

## Create Persistent Storage for SFTP
## Ref: https://www.cloudtechnologyexperts.com/kubernetes-persistent-volume-with-rook/

kind: PersistentVolume
apiVersion: v1
metadata:
  name: sftp-pv-storage
  labels:
    type: local
    name: sftp-pv-storage
spec:
  storageClassName: rook-ceph-block
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  allowVolumeExpansion: true
  volumetype: none

---
## Create Claim (links user to PV)
##  ==> If pod is created, need to automatically create PVC for user (without their input)

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: sftp-pv-claim
spec:
  storageClassName: sftp-pv-storage
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 2Gi
kubernetes kubernetes-helm rook kubernetes-rook rook-storage
2个回答
0
投票

请尝试使用此规范以获取持久的数量声明-

种类:PersistentVolumeClaimapiVersion:v1元数据:名称:sftp-pv-claim规格:storageClassName:sftp-pv-存储accessModes:-ReadWriteOnce资源:要求:存储:2GivolumeName:sftp-pv-storage


我刚刚在其中添加了卷名,我想这会束缚它。如果这甚至不起作用,也尝试在此规范中添加适当的volumeMode


-1
投票

这是因为不存在名为storageClassNamesftp-pv-storage,这在您得到的错误中提到:

The PersistentVolume "sftp-pv-storage" is invalid: spec: Required value: must specify a volume type

这里是Kubernetes Storage Classes的列表,这也是Persistent Volumes的文档列表。

从链接here的站点,您可以看到它们使用了:

spec:
  storageClassName: manual
© www.soinside.com 2019 - 2024. All rights reserved.