【问题标题】:No environment variable displayed through kubectl通过 kubectl 没有显示环境变量
【发布时间】:2020-12-18 12:17:39
【问题描述】:

为了在 Kubernetes 的 pod 中显示一些环境变量,我尝试了两种方式。

(1) 在 pod 内连接

我在一个 pod 中连接到 shell,并执行了如下所示的“echo”命令..

kubectl exec -it <pod-name> /bin/bash

then...

echo $KUBERNETES_SERVICE_HOST 

我看到了预期的正确结果。

(2) 向 pod 发送命令

kubectl exec <pod-name> -- echo $KUBERNETES_SERVICE_HOST

在这种情况下,没有输出。

你可以看到我所做的截图。

这里有什么问题? 两种情况有什么区别?

谢谢你:)

【问题讨论】:

    标签: linux bash kubernetes environment-variables sh


    【解决方案1】:

    在第二种情况下,命令中的 '$' DOllar 引用您的本地主机环境变量。并且本地主机上没有这样的变量 KUBERNETES_SERVICE_HOST,运行的命令如下所示

    kubectl 执行——回显

    改用下面

    kubectl exec c-hub-admin-app-systest-6dc46bb776-tvb99 -- printenv | grep KUBERNETES_SERVICE_HOST

    【讨论】:

    • 你知道为什么要那样做吗?我阅读了官方文档和参考资料,我没有弄清楚为什么 kubectl 停止从 '$' 读取。
    猜你喜欢
    • 2020-03-08
    • 2019-08-03
    • 2013-10-18
    • 2013-10-24
    • 2016-10-02
    • 2020-03-08
    • 2019-10-09
    • 2020-10-24
    • 1970-01-01
    相关资源
    最近更新 更多