【问题标题】:Assigning Environment Variables from Consul KV using consul-template使用 consul-template 从 Consul KV 分配环境变量
【发布时间】:2021-09-21 14:50:21
【问题描述】:

我对领事很陌生。我只想使用 consul-template 从 consul kv 加载我的环境变量。我有一个带有键“iamdbusername”的领事 kv 条目。我想在 consul-template 的帮助下在环境变量 IAM_DB_USER 中分配它的值。我的应用程序使用环境变量 IAM_DB_USER 来获取数据库用户名。

这方面的任何线索都会对我很有帮助。

谢谢!!!

【问题讨论】:

    标签: environment-variables consul consul-template consul-kv


    【解决方案1】:

    envconsul 可用于启动具有从 Consul 填充的环境变量的子进程。

    https://stackoverflow.com/a/67888502/12384224 提供了一个使用 envconsul 以及名为 Teller 的附加工具启动进程的示例。

    【讨论】:

    • 是的,它起作用了,但是当我想回显我的环境变量时,它会显示空白值。这有什么原因???
    • 你能分享你正在使用的确切命令,以及你从 Consul 查询的 KV 吗?这将有助于帮助您进行调试。谢谢。
    • 当然。以下是详细信息 consul kv put iamuser/IAM_PG_DBUSER iamadmin envconsul -pristine -prefix iamuser -once env 它返回输出为: - IAM_PG_DBUSER=iamadmin 但是当我使用 echo $IAM_PG_DBUSER 回显它时,它显示为空白。
    • -once 标志被用作示例,以便 envconsul 不会尝试永久运行 env 命令。您需要使用您的实际进程的名称运行envconsul,并且没有-once 标志,以便它保持您的进程处于活动状态。例如,envconsul -pristine -prefix iamuser /path/to/your-app
    • 好的,现在我明白了。这意味着我需要使用envconsul 运行我的应用程序。请您指导我的情况,即我有一个 ASP .NET CORE 3.1 Web 应用程序,并且我想在其中使用一些凭据访问数据库。我把这些凭据放在领事 KV 中。现在我的应用程序在某些环境变量中需要这些凭据。有没有其他方法可以做到这一点,它只会设置我想要的环境变量,以便我可以以正常方式运行我的应用程序(没有envconsul)。是否可以使用consul-template
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-05
    • 2019-11-10
    • 1970-01-01
    • 2019-12-16
    • 2020-03-21
    • 2023-02-17
    • 1970-01-01
    相关资源
    最近更新 更多