小编Ala*_*lan的帖子

在 kubectl jsonpath 中解码 base64

我有一个与此类似的命令

kubectl get secrets \
--selector='my-selector' \
-o jsonpath='{range .items[*] }{"\n"}{.metadata.labels.cluster-name}{"."}{.metadata.namespace {":"}{"5432"}{"postgres" }{":"}{.data.password}{end}'
Run Code Online (Sandbox Code Playgroud)

它输出这样的列表(需要格式)

cluster-name.namespace:5432:postgres:YbHF....==
cluster-name.namespace:5432:postgres:YbHF....==
cluster-name.namespace:5432:postgres:YbHF....==

Run Code Online (Sandbox Code Playgroud)

我需要解码该文件的 base64 并使用kubectl 备忘单作为参考,其中给出了以下示例:

# Output decoded secrets without external tools
kubectl get secret my-secret -o go-template='{{range $k,$v := .data}}{{"### "}}{{$k}}{{"\n"}}{{$v|base64decode}}{{"\n\n"}}{{end}}'
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法

cluster-name.namespace:5432:postgres:YbHF....==
cluster-name.namespace:5432:postgres:YbHF....==
cluster-name.namespace:5432:postgres:YbHF....==

Run Code Online (Sandbox Code Playgroud)

结果是除了现在为空的密码字段之外的所有内容都显示出来,例如:

cluster-name.namespace:5432:postgres:
Run Code Online (Sandbox Code Playgroud)

任何指示将不胜感激。

base64 kubernetes kubectl json-path-expression

3
推荐指数
1
解决办法
4790
查看次数