【问题标题】:Marathon: How to specify environment variables in argsMarathon:如何在 args 中指定环境变量
【发布时间】:2016-12-25 11:52:19
【问题描述】:

我正在尝试在我的每个 Mesos 从节点上运行一个 Consul 容器。

对于 Marathon,我有以下 JSON 脚本:

{
    "id": "consul-agent",
    "instances": 10,
    "constraints": [["hostname", "UNIQUE"]],
    "container": {
        "type": "DOCKER",
        "docker": {
            "image": "consul",
            "privileged": true,
            "network": "HOST"
        }
    },
    "args": ["agent","-bind","$MESOS_SLAVE_IP","-retry-join","$MESOS_MASTER_IP"]
}

但是,marathon 似乎将args 视为纯文本。

这就是为什么我总是出错:

==> Starting Consul agent...
==> Error starting agent: Failed to start Consul client: Failed to start lan serf: Failed to create memberlist: Failed to parse advertise address!

所以我只是想知道是否有任何解决方法,以便我可以在我的每个 Mesos 从节点上启动一个 Consul 容器。


更新:

感谢@janisz 提供链接。

看了以下讨论后:

  • #3416: marathon 文件中的参数无法解析环境变量

  • #2679能够指定运行应用任务的主机名值

  • #1328: 通过 REST API 在配置中指定要在每个主机上使用的环境变量

  • #1828在应用定义中支持更多变量和变量扩展

以及Task Environment Variables 上的 Marathon 文档。

我的理解是:

  • 目前无法在 args 中传递环境变量
  • 一些帖子表明可以在"cmd" 中传递环境变量。但这些环境变量是 Marathon 提供的任务环境变量,而不是您主机上的环境变量。

如果我错了,请纠正。

【问题讨论】:

  • 我觉得这个问题和#3416有关

标签: microservices mesos marathon consul


【解决方案1】:

你可以试试这个。

{
    "id": "consul-agent",
    "instances": 10,
    "constraints": [["hostname", "UNIQUE"]],
    "container": {
        "type": "DOCKER",
        "docker": {
            "image": "consul",
            "privileged": true,
            "network": "HOST",
            "parameters": [
                "key": "env",
                "value": "YOUR_ENV_VAR=VALUE"
            ]
        }
    }
}

或者

{
    "id": "consul-agent",
    "instances": 10,
    "constraints": [["hostname", "UNIQUE"]],
    "container": {
        "type": "DOCKER",
        "docker": {
            "image": "consul",
            "privileged": true,
            "network": "HOST"
        }
    },
    "env": {
        "ENV_NAME" : "VALUE"
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 2015-02-27
    • 1970-01-01
    • 2020-03-29
    相关资源
    最近更新 更多