[英]Not able to access env variables in kubernetes pod
在我的 pod 中,我有一些环境变量。 我已经编写了一个 bash 脚本来进入 pod 并使用环境变量连接到数据库。 但是我无法使用环境变量。
kubectl exec $POD_ID -- /bin/bash -c """
printenv DATABASE_HOST_NAME
echo $DATABASE_HOST_NAME
psql -h $DATABASE_HOST_NAME -U DATABASE_USER
"""
这里 printenv 返回正确的环境变量值。 echo 返回空。 并且 psql 语句不占用主机。 任何人都知道如何在我的 psql 连接语句中使用 pod 中的 env 变量。
当我手动进入容器并使用 env 变量运行 psql 命令时,它可以运行文件。但是当运行脚本时,它显示错误。
由于DATABASE_HOST_NAME
在 k8s pod 中定义,您需要单引号以避免$DATABASE_HOST_NAME
在主机上扩展。
kubectl exec $POD_ID -- /bin/bash -c '
printenv DATABASE_HOST_NAME
echo $DATABASE_HOST_NAME
psql -h $DATABASE_HOST_NAME -U DATABASE_USER
'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.