我正在尝试在现有存储类名称的基础上/在其基础上创建一个持久卷。然后我要在其上附加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
请尝试使用此规范以获取持久的数量声明-
种类:PersistentVolumeClaimapiVersion:v1元数据:名称:sftp-pv-claim规格:storageClassName:sftp-pv-存储accessModes:-ReadWriteOnce资源:要求:存储:2GivolumeName:sftp-pv-storage
我刚刚在其中添加了卷名,我想这会束缚它。如果这甚至不起作用,也尝试在此规范中添加适当的volumeMode
这是因为不存在名为storageClassName
的sftp-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