假设我希望在helm模板内的db连接字符串中使用以下秘密:
- name: DBUSER
valueFrom:
secretKeyRef:
name: dbadmin
key: username
- name: DBPASS
valueFrom:
secretKeyRef:
name: dbadmin
key: password稍后,我想创建以下内容:
- name: Database__ConnectionString
value: "server=something.com;port=3306;user=$DBUSER;password=$DBPASS;database=dbname"如何访问该连接字符串值内的DBUSER和DBNAME的env值?
发布于 2019-12-12 09:29:05
pod规范中的许多地方都支持$(VARIABLE_NAME)语法。特别是,API documentation for an EnvVar object指定了
value(string):使用容器中先前定义的环境变量和任何服务环境变量扩展变量引用$(VAR_NAME)。
所以你应该能够说一些类似这样的话
- name: Database__ConnectionString
value: "server=something.com;port=3306;user=$(DBUSER);password=$(DBPASS);database=dbname"(请注意$(DBUSER)和$(DBPASS)周围的括号。)
(在这种特定情况下,一些数据库库允许您将连接字符串的所有单独部分指定为单独的环境变量,因此,如果您使用的是PostgreSQL,则可以设置环境变量PGUSER and PGPASSWORD而不是这样做。)
发布于 2019-12-12 04:25:02
您必须在容器中处理此问题,通常通过命令包装器进行处理,例如
command:
- bash
- -c
- export Database_ConnectionString=server=...;user=$DBUSER && exec mycommand 或者类似的东西
https://stackoverflow.com/questions/59293399
复制相似问题