在项目管理中,评估范围内的场是一个关键的任务,它有助于确定项目的可行性和成功的可能性。评估范围内的场需要考虑多个因素,包括项目目标、资源可用性、时间限制、成本预算等。在评估过程中,项目经理需要进行详细的分析和调查,以便制定出合理的计划和策略。本文将介绍一些评估范围内的场的方法和技巧,帮助项目经理更好地完成这一任务。
问题内容
我尝试为许多类似的应用程序创建默认模板,我需要与两个或多个 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
这是我的 pvclaim.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 的创建(假设在本例中 pvc vol2
已经存在于其他 helm 图表中)。
如果可能的话,我希望 helm 读取范围内的 create
字段,这样我会收到错误:
evaluate 字段在类型接口 {}
如果您有任何其他想法,欢迎提出,谢谢!
解决方法
volumes
是一个数组,它没有 create
字段。
元素具有该字段。所以 .values.volumes.create
没有任何意义。在 range
内,您可以使用 .create
检查元素的 create
字段,例如
{{- range .Values.volumes }}
{{if .create}}do something here{{end}}
{{- end}}
以上就是如何评估范围内的场?的详细内容,更多请关注编程网其它相关文章!