好的,我有一个包含多个组件的巨大应用程序,每个组件都有大量的配置文件
目录树看起来像这样
# ls -1 .
Chart.yaml
configs
templates
values.yaml
# ls -1 configs
component1-config
component2-config
component3-config
component4-config
# ls -1 templates
component1.yaml
component2.yaml
component3.yaml
component4.yaml
_helpers.tpl
secrets.yaml
我正在为每个组件的多个文件夹创建配置映射,如下所示
---
apiVersion: v1
kind: ConfigMap
metadata:
name: config-component1-folder1
namespace: {{ .Values.nSpace }}
data:
{{ $currentScope := . }}
{{ range $path, $_ := .Files.Glob "configs/component1/folder1/**" }}
{{- with $currentScope}}
{{ (base $path) }}: |-
{{ .Files.Get $path | indent 6 }}
{{ end }}
{{ end }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: config-component1-folder2
namespace: {{ .Values.nSpace }}
data:
{{ $currentScope := . }}
{{ range $path, $_ := .Files.Glob "configs/component1/folder2/**" }}
{{- with $currentScope}}
{{ (base $path) }}: |-
{{ .Files.Get $path | indent 6 }}
{{ end }}
{{ end }}
一些标准部署和服务还包括问题是当我运行时helm install myapp .
它会抛出这个data too long error
我想避免的问题,因为我的应用程序可能会增长。
Error: INSTALLATION FAILED: create: failed to create: Secret "sh.helm.release.v1.myapp.v1" is invalid: data: Too long: must have at most 1048576 bytes
答案1
图表中的文件或文件夹(包括隐藏文件和文件夹)不能大于(大约)1MB。您需要删除它们或将它们放入.hemignore
要排除的文件中。
就我而言,.git
文件夹大于 1MB,不需要,删除后就helm install
可以了。