さて、それぞれが多数の構成ファイルを含む複数のコンポーネントで構成される巨大なアプリケーションがあります。
ディレクトリツリーは次のとおりです。
# 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
グラフのファイルまたはフォルダ(隠しファイルとフォルダを含む)は約1 MBを超えることはできません。.hemignore
除外するファイルを削除するか、ファイルに入れる必要があります。
私の場合は、.git
フォルダが1MBより大きくて必要ないので、helm install
削除してから大丈夫だと思います。