将 Zip / 二进制文件添加到 configmap
Add Zip / Binary file to configmap
由于文件数量超过了 1mb 的限制,我正在尝试将一个 zip 文件添加到我们的配置映射中。我用 helm 部署了我们的图表,并正在研究 binaryData 但无法使其正常工作。我想看看是否有人对我如何将它与 helm 集成有任何建议,所以当工作完成时,它会删除配置映射
这是我的配置图:
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "db-migration.fullname" . }}
labels:
app: {{ template "db-migration.name" . }}
chart: {{ template "db-migration.chart" . }}
draft: {{ .Values.draft | default "draft-app" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
binaryData:
{{ .Files.Get "migrations.zip" | b64enc }}
immutable: true
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "db-migration.fullname" . }}-test
labels:
app: {{ template "db-migration.name" . }}
chart: {{ template "db-migration.chart" . }}
draft: {{ .Values.draft | default "draft-app" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
binaryData:
{{ .Files.Get "test.zip" | b64enc }}
immutable: true
这两个 zip 文件位于图表中,我有一个命令可以解压缩它们,然后 运行 之后进行迁移
binaryData
exepcts a map 但是你传递了一个 string 给它。
调试模板时我们可以看到
Error: INSTALLATION FAILED: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(ConfigMap.binaryData): invalid type for io.k8s.api.core.v1.ConfigMap.binaryData: got "string", expected "map"
解决这个问题的方法是在 {{ .Files.Get "test.zip" | b64enc }}
之前添加一个密钥。
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "db-migration.fullname" . }}
labels:
app: {{ template "db-migration.name" . }}
chart: {{ template "db-migration.chart" . }}
draft: {{ .Values.draft | default "draft-app" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
binaryData:
migrations: {{ .Files.Get "migrations.zip" | b64enc }}
immutable: true
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "db-migration.fullname" . }}-test
labels:
app: {{ template "db-migration.name" . }}
chart: {{ template "db-migration.chart" . }}
draft: {{ .Values.draft | default "draft-app" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
binaryData:
test: {{ .Files.Get "test.zip" | b64enc }}
immutable: true
由于文件数量超过了 1mb 的限制,我正在尝试将一个 zip 文件添加到我们的配置映射中。我用 helm 部署了我们的图表,并正在研究 binaryData 但无法使其正常工作。我想看看是否有人对我如何将它与 helm 集成有任何建议,所以当工作完成时,它会删除配置映射
这是我的配置图:
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "db-migration.fullname" . }}
labels:
app: {{ template "db-migration.name" . }}
chart: {{ template "db-migration.chart" . }}
draft: {{ .Values.draft | default "draft-app" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
binaryData:
{{ .Files.Get "migrations.zip" | b64enc }}
immutable: true
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "db-migration.fullname" . }}-test
labels:
app: {{ template "db-migration.name" . }}
chart: {{ template "db-migration.chart" . }}
draft: {{ .Values.draft | default "draft-app" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
binaryData:
{{ .Files.Get "test.zip" | b64enc }}
immutable: true
这两个 zip 文件位于图表中,我有一个命令可以解压缩它们,然后 运行 之后进行迁移
binaryData
exepcts a map 但是你传递了一个 string 给它。
调试模板时我们可以看到
Error: INSTALLATION FAILED: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(ConfigMap.binaryData): invalid type for io.k8s.api.core.v1.ConfigMap.binaryData: got "string", expected "map"
解决这个问题的方法是在 {{ .Files.Get "test.zip" | b64enc }}
之前添加一个密钥。
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "db-migration.fullname" . }}
labels:
app: {{ template "db-migration.name" . }}
chart: {{ template "db-migration.chart" . }}
draft: {{ .Values.draft | default "draft-app" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
binaryData:
migrations: {{ .Files.Get "migrations.zip" | b64enc }}
immutable: true
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "db-migration.fullname" . }}-test
labels:
app: {{ template "db-migration.name" . }}
chart: {{ template "db-migration.chart" . }}
draft: {{ .Values.draft | default "draft-app" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
binaryData:
test: {{ .Files.Get "test.zip" | b64enc }}
immutable: true