我试图为许多类似的应用程序创建一个默认模板,我需要与两个或更多的pod 共享相同的PVC,需要修改创建或不创建PVC的图表,如果已经存在的话.
以下是我在values.yml中关于卷的部分:
persistence:
enabled: true
volumeMounts:
- name: vol1
mountPath: /opt/vol1
- name: vol2
mountPath: /opt/vol2
volumes:
- name: vol1
create: true
claimName: claim-vol1
storageClassName: gp2
accessModes: ReadWriteOnce
storage: 1Gi
- name: vol2
create: false
claimName: claim-vol2
storageClassName: gp2
accessModes: ReadWriteOnce
storage: 1Gi
这是我的pvCla.yml:
{{- if .Values.persistence.enabled }}
{{- if .Values.volumes.create }}
{{- range .Values.volumes }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ .claimName }}
spec:
storageClassName: {{ .storageClassName }}
accessModes:
- {{ .accessModes }}
resources:
requests:
storage: {{ .storage }}
{{- end }}
{{- end }}
{{- end }}
我想我应该将字段create
添加到volumes
的范围中,以管理PVC的创建(在本例中,假设从其他舵图中已经存在PVCvol2
).
如果可能,我希望Helm读取范围内的create
字段,这样我会得到一个错误:
evaluate field create in type interface {}
如果您有任何其他的 idea ,欢迎他们,谢谢!