无法访问kubernetes pod中的环境变量



在我的pod我有一些环境变量。我写了一个bash脚本来进入pod并使用环境变量连接到数据库。但是我不能使用env变量。

kubectl exec $POD_ID  -- /bin/bash -c """
printenv DATABASE_HOST_NAME
echo $DATABASE_HOST_NAME
psql -h $DATABASE_HOST_NAME -U DATABASE_USER
"""

printenv返回正确的env变量值。Echo返回空。而psql语句不占用主机。任何人都有任何的想法,我如何在我的psql连接语句中使用pod中的环境变量。

当我手动进入容器并运行带有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
'

相关内容

  • 没有找到相关文章

最新更新