将kubernetes定义中定义的env值展开到容器

时间:2018-03-27 14:00:38

标签: docker kubernetes environment-variables containers newrelic

我正在尝试在docker容器中设置一些环境变量,下面是kubernetes pod定义中的env定义部分。

              env:
                - name: NRIA_LICENSE_KEY
                  value: NRIA_LICENSE_KEY
                -name:  NRIA_DISPLAY_NAME
                  value: abc-$HOSTNAME

然而,当我回显容器中的NRIA_DISPLAY_NAME变量的值时,我的输出低于输出,这是预期的。

echo $NRIA_DISPLAY_NAME
NRIA_DISPLAY_NAME=abc-\$HOSTNAME

预期产出:

    echo $NRIA_DISPLAY_NAME
    NRIA_DISPLAY_NAME=abc-myhostname ($HOSTNAME should be replaced with the actual hostname value)

我也尝试在命令标记中设置它,但是没有用。

 command: [ "bash", "-c", "export NRIA_DISPLAY_NAME=abc-$HOSTNAME" ]

1 个答案:

答案 0 :(得分:1)

"message": "Expected Iterable, but did not find one for field Query.meRecipe

应该对其进行两处更改:

  1. 确保您希望替换的内容出现在- name: NRIA_DISPLAY_NAME value: abc-$HOSTNAME 块中 - 我知道您可能认为env:已普遍填充,但是& #39;并非总是如此,而且在kubernetes心理模型中肯定不是真的

  2. 使用语法$HOSTNAME而不是以bash为中心的$(INTERPOLATION_HERE)$VAR。该语法记录在${VAR}参考

  3. 因此:

    PodSpec