pot*_*ato 4 kubernetes google-kubernetes-engine kubectl kubernetes-helm
我正在尝试将服务帐户放入秘密中 - 一年前我这样做过,它可以工作,但现在 - 无论我如何处理它,应用程序都看不到它,并说存在Input byte array has incorrect ending byte- 创建正常秘密时我知道你必须换一条新线所以
echo -n "secret" | base64
Run Code Online (Sandbox Code Playgroud)
并将该值秘密保存并应用,但我的多行文件
cat secret.json
{
"type": "service_account",
"project_id": "smth-smth",
"private_key_id": "blabla"
...
}
Run Code Online (Sandbox Code Playgroud)
无论我如何处理 - 无论是像第一个示例中那样手动放置,还是用
cat secret.json | base64
# or
base64 < secret.json
Run Code Online (Sandbox Code Playgroud)
秘密已创建,但应用程序抛出
Constructor threw exception; nested exception is java.lang.IllegalArgumentException: Input byte array has incorrect ending byte at 3104
Run Code Online (Sandbox Code Playgroud)
当我将新密钥与服务帐户的最后一个密钥进行比较时,差异在于输出的样子
工作原理是这样的 - 当我尝试解密 Base64 时
echo -n "<long string of base64 encrypred sa> | base64 -D
{ "type": "service_account", "project_id": "blabla"... }
Run Code Online (Sandbox Code Playgroud)
所以它在一行中,我尝试解密的新 SA 以文件中的格式输出 - 所以 json 的每个部分都在新行中 - 我尝试手动将其全部放在一行中,但没有成功
有人知道吗?如何正确地将多行文件放入秘密(base64)中?
从文件创建机密的最简单方法是使用kubectl create secret generic.
将文件放入secret.json文件夹中config,然后运行:
kubectl create secret generic my-secret --from-file=config
Run Code Online (Sandbox Code Playgroud)
my-secret您将获得一个包含您的文件的密钥的秘密secret.json(然后您可以将其挂载到 Pod 卷)。
| 归档时间: |
|
| 查看次数: |
7083 次 |
| 最近记录: |