所以我有一个马里亚布子图。mariadb图表使用以下内容填充来自不同init文件的配置映射:
{{ (.Files.Glob "files/docker-entrypoint-initdb.d/*[sh|sql|sql.gz]").AsConfig | indent 2 }}不管怎样,我可以注入init文件吗?
是否可以覆盖.Files.Glob的上下文以使其访问我的父目录?或者,是否还有另一种创建初始sql文件的推荐方法?
maridb子图是这样在requirements.yaml中实现的。
dependencies:
- name: mariadb
version: 5.x.x
repository: https://kubernetes-charts.storage.googleapis.com/
condition: mariadb.enabled发布于 2018-12-19 15:07:09
因为您的mariadb是第三方管理的子图,所以.Files.Glob只引用mariadb目录中的文件。
如果您想在子图表中放置任何启动脚本,则必须将其解压缩。
假设您拥有包含父图表中所有init脚本的custom-init-scripts目录。
$ ls custom-init-scripts/
init.sh insert.sql
# download mariadb chart package in charts directory
$ helm dependency update
# unarchive and delete package
$ tar -xvf charts/mariadb-5.*.tgz -C charts && rm charts/mariadb-5.*.tgz
# copy init scripts to mariadb subchart
$ cp -a custom-init-scripts/. charts/mariadb/files/docker-entrypoint-initdb.d/现在init文件出现在mariadb子图中。
helm install --debug --dry-run --set mariadb.enabled=true .
...
---
# Source: mychart/charts/mariadb/templates/initialization-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: elevated-dragonfly-mariadb-master-init-scripts
labels:
app: mariadb
component: "master"
chart: mariadb-5.2.5
release: "elevated-dragonfly"
heritage: "Tiller"
binaryData:
data:
init.sh: "echo \"hi\"\r\n"
insert.sql: INSERT INT Users (FirstName, LastName) VALUES ('A', 'B');https://stackoverflow.com/questions/53851816
复制相似问题