【问题标题】:Helm Pv and Pvc in service.yamlservice.yaml 中的 Helm Pv 和 Pvc
【发布时间】:2019-02-18 09:19:24
【问题描述】:

大家好!

在我的模板目录中,我有两个文件 - 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"}}}|

【问题讨论】:

  • 持久卷的size参数有问题,该字段不符合Kubernetes格式。我们可以看到 helm install --debug 的输出吗?这样我们就可以看到渲染的模板是怎样的

标签: kubernetes-helm


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    当存储类属性在 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 安装的对象中解决了问题。

    我检查了存储大小的正则表达式匹配,引用然后取消引用,最后发现了这个格式问题。希望它对处于相同位置的人有所帮助。

    注意:另外,为了更好地了解您的操作,请尝试在安装时使用 --dry-run 属性,因为您将看到完整的清单输出,其中包含计算的所有属性和注入,以便您可以与工作版本等进行比较。

    【讨论】:

      猜你喜欢
      • 2022-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      相关资源
      最近更新 更多