对于上下文,我有一个应用程序,它依赖于mysql图表。我已经将mysql stable图表设置为myapp图表中的依赖图表。
我有一组非常大的sql文件,由于它们的大小,我需要将它们打包到一个专门的种子容器中。使用标准的helm图表,我可以传入一个种子容器来初始化我的数据库,如下面的values.yaml片段所示。
是否有任何策略可以将在运行时创建的子图值取到我的values.yaml中
mysql:
extraInitContainers: |
- name: init-seed
image: foobar/seed:0.1.0
env:
- name: MYSQL_HOSTNAME
value: foobar-mysql
- name: MYSQL_USER
value: foo
- name: MYSQL_PASS
value: bar我已经尝试了下面的方法,但都没有用。
a.模板化服务名称并将其传递到MYSQL_HOSTNAME环境变量中
b.将{{ include "mangos_zero.fullname" . }}帮助器传入此值
c.在运行时在mysql pod中找到另一个容器的名称?
如何将mysql-chart的服务名称或容器名称传递到我的init pod中?
发布于 2020-07-14 13:47:43
不是进入你的values.yaml,而是进入你的模板。假设你正在使用Helm v3,你可以使用lookup function。例如,只要您需要MySQL DB中的服务名称来创建种子数据。
(lookup "v1" "Service" "mynamespace" "mysql-chart").metadata.namehttps://stackoverflow.com/questions/62888354
复制相似问题