gpt4 book ai didi

Kubernetes/Kubectl打印所有 secret

转载 作者:行者123 更新时间:2023-12-02 11:28:38 24 4
gpt4 key购买 nike

我想使用kubectl打印出我的“ secret ”中的所有键值对。我无法弄清楚如何用-o --jsonpath标志或通过管道传递到jq来做到这一点。我当然可以编写一个脚本来执行此操作,但是我认为必须有一种更好的方法,因为在让您查看Secrets时kubernetes GUI非常简单和自由。

假设我这样创建 secret :
kubectl create secret generic testsecret --from-literal=key1=val1 --from-literal=key2=val2
现在,我可以运行kubectl get secret testsecret -o json来获取类似的信息:

{
"apiVersion": "v1",
"data": {
"key1": "dmFsMQ==",
"key2": "dmFsMg=="
},
...
}

我可以做类似的事情
kubectl get secret testsecret -o jsonpath='{.data}'
或者
kubectl get secret testsecret -o json | jq '.data'
要以非列表格式获取我的键值对,则必须 base64 --decode这些值。

清除所有键值对的最简单方法是什么?在所有 secret 上执行此操作的加分点(而不是像我在这里所做的那样仅针对一个特定的)。

最佳答案

足够新近的jq版本具有用于解码base64的过滤器,但是仅当编码的值是有效的JSON字符串时才可以使用它。

无论如何,您可以先尝试:

.data | map_values(@base64d)

关于Kubernetes/Kubectl打印所有 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50286066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com