koe*_*ehn 3 kubernetes google-kubernetes-engine docker-secrets
我在 GKE 上运行的 Kubernetes 1.9 中创建了一个部署,该部署利用了放入环境变量中的机密。我使用 yaml 文件将机密上传到 GKE,其中机密经过 Base64 编码。
我在容器中看到的是环境变量在那里,但值包含尾随空格。如果我设置一个值为“bar”的环境变量 FOO,它会是这样的,其中我在机密 yaml 中放入的 base64 将为“YmFyCg==”:
$ echo $FOO
bar
$ echo \"$FOO\"
"bar "
$ echo $FOO | base64
YmFyCg==
$ echo "$FOO" | base64
YmFyIAo=
Run Code Online (Sandbox Code Playgroud)
这对于从环境变量中读取值的应用程序来说造成了无穷无尽的困难,这些变量期望在没有额外空格的情况下对值进行编码,例如POSTGRES_PASSWORD在图像POSTGRES_USER中postgres:9.6。环境中的其他变量(包括从我的部署 yaml 中设置的没有秘密的变量)不包含尾随空格;只有秘密才有问题。
Jor*_*itt 12
你的回声正在添加换行符。添加 -n 以省略尾随换行符
| 归档时间: |
|
| 查看次数: |
3022 次 |
| 最近记录: |