首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在helm部署中连接环境变量?

在helm部署中连接环境变量?
EN

Stack Overflow用户
提问于 2019-12-12 04:15:21
回答 2查看 2.6K关注 0票数 2

假设我希望在helm模板内的db连接字符串中使用以下秘密:

代码语言:javascript
复制
- name: DBUSER
  valueFrom:
   secretKeyRef:
     name: dbadmin
     key: username
- name: DBPASS
   valueFrom:
    secretKeyRef:
      name: dbadmin
      key: password

稍后,我想创建以下内容:

代码语言:javascript
复制
- name: Database__ConnectionString
  value: "server=something.com;port=3306;user=$DBUSER;password=$DBPASS;database=dbname"

如何访问该连接字符串值内的DBUSER和DBNAME的env值?

EN

回答 2

Stack Overflow用户

发布于 2019-12-12 09:29:05

pod规范中的许多地方都支持$(VARIABLE_NAME)语法。特别是,API documentation for an EnvVar object指定了

value (string):使用容器中先前定义的环境变量和任何服务环境变量扩展变量引用$(VAR_NAME)。

所以你应该能够说一些类似这样的话

代码语言:javascript
复制
- name: Database__ConnectionString
  value: "server=something.com;port=3306;user=$(DBUSER);password=$(DBPASS);database=dbname"

(请注意$(DBUSER)$(DBPASS)周围的括号。)

(在这种特定情况下,一些数据库库允许您将连接字符串的所有单独部分指定为单独的环境变量,因此,如果您使用的是PostgreSQL,则可以设置环境变量PGUSER and PGPASSWORD而不是这样做。)

票数 3
EN

Stack Overflow用户

发布于 2019-12-12 04:25:02

您必须在容器中处理此问题,通常通过命令包装器进行处理,例如

代码语言:javascript
复制
command:
- bash
- -c
- export Database_ConnectionString=server=...;user=$DBUSER && exec mycommand 

或者类似的东西

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59293399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档