首页 文章

kubernetes秘密在环境变量中有尾随空格

提问于
浏览
0

我在GKE上运行的Kubernetes 1.9中创建了一个部署,它利用了放入环境变量的秘密 . 我使用带有秘密base64编码的yaml文件将秘密上传到GKE .

我在容器中看到的是环境变量在那里,但值包括尾随空格 . 这是我设置一个值为“bar”的环境变量FOO时的样子,其中我在秘密yaml中放入的base64将是“YmFyCg ==”:

$ echo $FOO
bar 
$ echo \"$FOO\"
"bar "
$ echo $FOO | base64
YmFyCg==
$ echo "$FOO" | base64
YmFyIAo=

这对于从环境变量读取的应用程序而言没有任何困难,这些应用程序期望在没有附加空格的情况下编码该值,例如 postgres:9.6 图像中的 POSTGRES_PASSWORDPOSTGRES_USER . 环境中的其他变量(包括我的部署yaml中没有保密的那些变量)不包括尾部空格;这是唯一有问题的秘密 .

1 回答

  • 2

    你的回音是添加换行符 . 添加-n以省略尾随换行符

相关问题