【问题标题】:Passing host/local env vars into Kubectl 'exec' commands将主机/本地环境变量传递给 Kubectl 'exec' 命令
【发布时间】:2019-02-21 13:57:52
【问题描述】:

我想将环境变量传递给exec 命令。

到目前为止,我已经尝试了以下方法

SOME_VAR="A String"

kubectl exec -it a-pod-name -- sh -c 'env NEW_VAR=$SOME_VAR; echo $NEW_VAR > some-file-name.txt'

我意识到如果我想复制文件,我可以使用 kubectl cp,但这不适合我的用例。

【问题讨论】:

    标签: kubernetes kubectl


    【解决方案1】:

    您需要将命令放在双引号中,它的工作方式如下:

    kubectl exec -it a-pod-name -- sh -c "env new_var=$var; echo $new_var > some-file-name.txt"
    

    其背后的原因是 bash 不会将变量提取到单引号中的值中,因此您需要使用双引号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-08
      • 1970-01-01
      • 2020-10-23
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-10
      相关资源
      最近更新 更多