尝试创建持久卷时出现错误

时间:2019-04-30 00:38:00

标签: kubernetes

我正在尝试在运行于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|...

我无法从消息中找出真正的错误是什么。

任何帮助表示赞赏。

3 个答案:

答案 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下是错误的)。 了解更多:enter image description here