我正在尝试在运行于Amazon AWS EC2实例(Ubuntu 18.04)的kubernetes集群上创建持久卷。尝试创建kubectl时出现错误。
我尝试查找错误,但没有得到令人满意的搜索结果。
这是我正在使用的pv.yaml文件。
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv001
labels:
type: local
spec:
capacity:
storage: 1Gi
storageClassName: manual
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
hostPath:
path: /home/ubuntu/data/pv001
这是我得到的错误:
Error from server (BadRequest): error when creating "./mysql-pv.yaml":
PersistentVolume in version "v1" cannot be handled as a
PersistentVolume: v1.PersistentVolume.Spec:
v1.PersistentVolumeSpec.PersistentVolumeSource: HostPath: Capacity:
unmarshalerDecoder: quantities must match the regular expression
'^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$', error found in #10 byte
of ...|":"manual"},"hostPat|..., bigger context ...|city":
{"storage":"1Gi","storageClassName":"manual"},"hostPath":
{"path":"/home/ubuntu/data/pv001"},"p|...
我无法从消息中找出真正的错误是什么。
任何帮助表示赞赏。
答案 0 :(得分:1)
从pv定义中删除存储类。动态配置pv需要存储类。
在您的情况下,您正在使用主机路径卷。它应该在没有存储类的情况下工作。
如果您使用的是k8s 1.14,请查看本地卷。请参考以下链接 https://kubernetes.io/blog/2018/04/13/local-persistent-volumes-beta/
答案 1 :(得分:0)
我认为这与path
中的引号无关。更多关于为storageClassName
使用正确的缩进。应该是这样:
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv001
labels:
type: local
spec:
capacity:
storage: 1Gi
storageClassName: manual
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
hostPath:
path: /home/ubuntu/data/pv001
您也可以将其删除,它将使用默认的StorageClass
答案 2 :(得分:0)
尝试一下:
(base) Mac-Pro:~ ash$ /Applications/Backup\ and\ Sync.app/Contents/MacOS/Backup\ and\ Sync
/Applications/Backup and Sync.app/Contents/Resources/lib/python2.7/site-packages.zip/wx/_core.py:16633: UserWarning: wxPython/wxWidgets release number mismatch
2020-05-14 17:04:47.318 Backup and Sync[1538:17017] GsyncAppDeletegate.py : Finder debug level logs : False
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv001
labels:
type: local
spec:
capacity:
storage: 1Gi
storageClassName: manual
accessModes: ["ReadWriteOnce"]
persistentVolumeReclaimPolicy: Recycle
hostPath:
path: /home/ubuntu/data/pv001
在storageClassName
下,并且与spec
处于同一级别(您将capacity
放在storageClassName
下是错误的)。
了解更多: