linux - kubectl 没有显示环境变量

标签 linux bash kubernetes environment-variables sh

为了在 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
在这种情况下,没有输出。
你可以看到我所做的截图。
enter image description here
这里有什么问题?
两种情况有什么区别?
谢谢 :)

最佳答案

在第二种情况下,命令中的 '$' DOllar 引用本地主机环境变量。并且本地主机上没有这样的变量 KUBERNETES_SERVICE_HOST,运行的命令如下所示
kubectl exec -- echo
改用下面
kubectl exec c-hub-admin-app-systest-6dc46bb776-tvb99 -- printenv | grep KUBERNETES_SERVICE_HOST
enter image description here

关于linux - kubectl 没有显示环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65356924/

相关文章:

python - 多个目标syn扫描端口限速?

mongodb - 在 Kubernetes 上为 mongodb 创建 StatefulSet 时出错

linux - Kubernetes 无法在 Google Container Engine 上挂载 NFS FS

java - linux连接mysql后找不到数据库

linux - 使用命名管道创建 'loop'

bash - 如何在脚本本身内重定向整个 shell 脚本的输出?

linux - 在 bash 脚本中使用标志

php - virtctl 在通过命令行执行时有效,但在 php exec() 中无效

Python - 如何在完成写入后移动文件

linux - 通过 bash 脚本查找和 Xargs 复制和重命名