将主机/本地环境变量传递到Kubectl'exec'命令中

时间:2019-02-21 13:57:53

标签: kubernetes kubectl

我想将环境变量传递到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,但这不适合我的用例。

1 个答案:

答案 0 :(得分:4)

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

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

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