他伙计们!
在我的模板目录中,我有两个文件--pvc.yaml - pv.yaml
我不知道如何配置我的service.yaml使用PersistentVolumeCLaim和PersistentVolume。
我在service.yaml上写了这个
#PersistentVolumeClaim
master:
persistence:
size: 20Mi
## PersistentVolume
persistence:
enabled: true
storageClassName: generic
accessMode: ReadWriteOnce
size: 50Mi
path: "/apps/karaf/etc"
但是当我执行helm install我的时候
release pondering-zorse failed: 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 ...|:"generic"},"hostPat|..., bigger context ...|ty":{"storage":"50Mi","storageClassName":"generic"},"hostPath":{"path":"/apps/karaf/etc"}}}|
为了解决这个问题,我从我的pv.yaml和pvc.yaml中删除了以下行
storageClassName: {{ .Values.persistence.storageClassName | quote }}
当存储类属性未在PVC定义中正确缩进时,也会显示此错误消息。
例如:
spec:
accessModes:
- ReadWriteMany
mountOptions:
resources:
requests:
storage: {{ .Values.persistence.app.size }}
storageClassName: {{ .Values.persistence.class }} #Notice indentation here
volumeName: {{ .Values.persistence.app.name }}
与:
spec:
accessModes:
- ReadWriteMany
mountOptions:
resources:
requests:
storage: {{ .Values.persistence.app.size }}
storageClassName: {{ .Values.persistence.class }} #Notice indentation here
volumeName: {{ .Values.persistence.app.name }}
OP:它会停止表面问题,因为你基本上已经解决了helm安装的对象的问题。
我检查了存储大小的Regex匹配,然后引用它,然后最终发现了这个格式化问题。希望它能帮助处于相同位置的人。
注意:为了更好地了解您的操作,请尝试在安装时使用--dry-run属性,然后将显示完整的清单输出,并计算并注入所有属性,以便您可以与工作版本进行比较等。