首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用envconsul在pod中设置ENV变量

如何使用envconsul在pod中设置ENV变量
EN

Stack Overflow用户
提问于 2019-09-12 04:14:32
回答 1查看 978关注 0票数 0

我正在尝试使用envconsul将环境变量推送到运行openliberty的docker容器中。变量将从vault中提取。Consul,Vault和Openliberty应用程序pod在minikube上运行。pod还从configmap中提取非机密变量。

根据日志,变量被拉出,但当我运行env命令时,我无法在pod中查看它们。

此外,configmap中的变量在服务器启动时不可用,但是一旦pod启动,env命令就会显示它们。

应用程序docker文件包含CMD./startup.sh。

startup.sh有这个命令

代码语言:javascript
复制
"/usr/local/bin/envconsul -log-level debug -config "/etc/envconsul/envconsul-config.hcl" /opt/ol/wlp/bin/server run defaultServer"

pod/mp

代码语言:javascript
复制
2019/09/11 19:05:38.723258 [INFO] envconsul v0.9.0 (fd1ee3c7)
2019/09/11 19:05:38.723278 [INFO] (runner) creating new runner (once: false)
2019/09/11 19:05:38.723492 [DEBUG] (runner) final config: 9/09/11 19:05:38.723536 [INFO] (runner) creating watcher
2019/09/11 19:05:38.723615 [INFO] looking at vault secret/myapp/config
2019/09/11 19:05:38.724356 [INFO] (runner) starting
2019/09/11 19:05:38.724379 [DEBUG] (watcher) adding vault.read(secret/myapp/config)
2019/09/11 19:05:38.739500 [DEBUG] (runner) receiving dependency vault.read(secret/myapp/config)
2019/09/11 19:05:38.739527 [INFO] (runner) running
2019/09/11 19:05:38.739562 [DEBUG] (runner) setting USERNAME="appuser" from vault.read(secret/myapp/config)
2019/09/11 19:05:38.739659 [INFO] (child) spawning: /opt/ol/wlp/bin/server run defaultServer

Launching defaultServer (Open Liberty 19.0.0.8/wlp-1.0.31.cl190820190813-1136) on Eclipse OpenJ9 VM, version 1.8.0_222-b10 (en_US)

[AUDIT   ] CWWKE0001I: The server defaultServer has been launched.
[AUDIT   ] CWWKG0093A: Processing configuration drop-ins resource: /opt/ol/wlp/usr/servers/defaultServer/configDropins/defaults/keystore.xml
[AUDIT   ] CWWKG0093A: Processing configuration drop-ins resource: /opt/ol/wlp/usr/servers/defaultServer/configDropins/defaults/open-default-port.xml
[WARNING ] CWWKG0011W: The configuration validation did not succeed. Value "${env.DB_MF_PORT}" is not a number.
[WARNING ] CWWKG0083W: A validation failure occurred while processing the [portNumber] property, value = [${env.DB_MF_PORT}]. Default value in use: [50000].
[WARNING ] CWWKG0033W: The value [myKeyStore] specified for the reference attribute [keyStoreRef] was not found in the configuration.
[AUDIT   ] CWWKS4104A: LTPA keys created in 1.419 seconds. LTPA key file: /opt/ol/wlp/output/defaultServer/resources/security/ltpa.keys
[AUDIT   ] CWPKI0803A: SSL certificate created in 2.867 seconds. SSL key file: /opt/ol/wlp/output/defaultServer/resources/security/key.p12
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://mp:9080/ibm/api/
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://mp:9080/metrics/
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://mp:9080/openapi/ui/
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://mp:9080/health/
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://mp:9080/openapi/
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://mp:9080/${app_context_root}/
[AUDIT   ] CWWKZ0001I: Application microprofile started in 13.021 seconds.
[AUDIT   ] CWWKF0012I: The server installed the following features: [appSecurity-2.0, cdi-2.0, distributedMap-1.0, jaxb-2.2, jaxrs-2.1, jaxrsClient-2.1, jaxws-2.2, jdbc-4.2, jndi-1.0, jpa-2.2, jpaContainer-2.2, json-1.0, jsonp-1.1, monitor-1.0, mpConfig-1.3, mpHealth-2.0, mpMetrics-2.0, mpOpenAPI-1.1, mpRestClient-1.3, servlet-4.0, ssl-1.0].
[AUDIT   ] CWWKF0011I: The defaultServer server is ready to run a smarter planet. The defaultServer server started in 23.484 seconds.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-13 03:04:43

我更改了dockerfile中的CMD和envconsul的配置文件,现在它可以工作了。

代码语言:javascript
复制
CMD ["/usr/local/bin/envconsul", "-log-level","debug", "-config","/etc/envconsul/envconsul-config.hcl"]

配置文件

代码语言:javascript
复制
# This block defines the configuration the the child process to execute and manage.
exec{
  # This is the command to execute as a child process. There can be only one command per process.
  command = "/opt/ol/wlp/bin/server run defaultServer"
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57896197

复制
相关文章

相似问题

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