Helm Pv和Pvc in service.yaml

问题描述 投票:0回答:3

他伙计们!

在我的模板目录中,我有两个文件--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"}}}|
kubernetes-helm
3个回答
0
投票

为了解决这个问题,我从我的pv.yaml和pvc.yaml中删除了以下行

storageClassName: {{ .Values.persistence.storageClassName | quote }}

0
投票

当存储类属性未在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属性,然后将显示完整的清单输出,并计算并注入所有属性,以便您可以与工作版本进行比较等。

© www.soinside.com 2019 - 2024. All rights reserved.