首页 > 解决方案 > 通过 kubectl 没有显示环境变量

问题描述

为了在 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

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

你可以看到我所做的截图。 在此处输入图像描述

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

谢谢 :)

标签: linuxbashkubernetesenvironment-variablessh

解决方案


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

kubectl 执行 - 回声

改用下面

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

在此处输入图像描述


推荐阅读