如何使用 kubectl 修改 Kubernetes 密钥中的值?
我用kubernetes create secret generic
创建了secret,但似乎没有办法修改secret。例如,向其添加新的secret值,或改变其中的secret值。
我能想到一个比较"low"的方式,写个yaml文件,做一个kubectl edit
,但我希望有一个更简单的方法。
(我使用的是kubernetes 1.16.x)
如何使用 kubectl 修改 Kubernetes 密钥中的值?
我用kubernetes create secret generic
创建了secret,但似乎没有办法修改secret。例如,向其添加新的secret值,或改变其中的secret值。
我能想到一个比较"low"的方式,写个yaml文件,做一个kubectl edit
,但我希望有一个更简单的方法。
(我使用的是kubernetes 1.16.x)
如果你喜欢非交互式的更新,这是一种方法。
kubectl get secret mysecret -o json | jq '.data["foo"]="YmFy"' | kubectl apply -f -
注意,
YmFy
是一个base64编码的bar
字符串。如果你想把这个值作为一个参数,jq
可以做到。kubectl get secret mysecret -o json | jq --arg foo "$(echo bar | base64)" '.data["foo"]=$foo' | kubectl apply -f -
我更喜欢使用
jq
。搞定,谢谢。
你的答案