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

red*_*123 6 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
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误:

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|...

Run Code Online (Sandbox Code Playgroud)

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

任何帮助表示赞赏。

Ric*_*ico 2

我不认为这与 中的引号有关path。更多的是关于使用正确的缩进storageClassName(你的选项卡太多,将其移到下面capacity)。应该是这样的:

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
Run Code Online (Sandbox Code Playgroud)

您也可以将其删除,它将使用默认的StorageClass.