gpt4 book ai didi

kubernetes - Kubectl 设置环境变量并运行命令

转载 作者:行者123 更新时间:2023-12-04 00:50:45 27 4
gpt4 key购买 nike

我有一个在 Kubernetes 上运行的容器,我想从本地终端运行命令。容器基于其 yaml 文件的工作目录位于 /opt/gopath/src/a/ .但是,我想在目录 /opt/gopath/src/b/ 中运行命令.此外,我还需要在运行此命令之前设置某些临时环境变量。所以目前,这就是我正在做的事情:

kubectl exec $pod_name -- bash -c "cd ../b/; env ENV_VARIABLE_1=ENV_VALUE_2 && env ENV_VARIABLE_2=ENV_VALUE_2 && <cmd to run>".

这似乎目前正在起作用。但是,我不相信这是实现这一目标的最佳方式。此外,运行此命令会显示容器中的所有环境变量——如果可能的话,我不想打印这些变量。有人能指出我正确的方向吗?

最佳答案

如果是静态变量,我建议使用 Config maps .

由于您需要使用本地 shell 中的临时变量,因此无需使用冗长而复杂的命令,因为 exec 将您的终端连接到正在运行的容器(pod)。我测试了您的问题并在本地系统上创建了一个简单的环境变量。我使用了您提供的语法:

kubectl exec -it $pod_name -- sh -c 'key=123 key2=121; echo "$key $key2"'

要传递环境变量,您可以像这样设置它并添加分隔符 ';'在变量和您的命令之间。

关于kubernetes - Kubectl 设置环境变量并运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51128480/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com