gpt4 book ai didi

kubernetes - 如何使用 "kubectl patch --type=' json' 更新 secret

转载 作者:行者123 更新时间:2023-12-03 16:46:58 27 4
gpt4 key购买 nike

我创建了一个这样的 secret :

kubectl create secret generic test --from-literal=username=testuser --from-literal=password=12345

我想将用户名更新为 testuser2但我只想用 kubectl patch --type='json' .

这就是我尝试这样做的方式:
kubectl patch secret test --type='json' -p='[{"data":{"username": "testuser 2"}}]' -v=1  

但我收到了:

The "" is invalid



请记住,我想使用 --type='json' 选项来执行此操作。 ,没有其他解决方法。

最佳答案

我在阅读后找到了方法here把我推荐给 this很棒的文章。
这是 JSON 的 secret :

{
"apiVersion": "v1",
"data": {
"password": "aWx1dnRlc3Rz",
"username": "dGVzdHVzZXI="
},
"kind": "Secret",
"metadata": {
"creationTimestamp": "2019-04-18T11:37:09Z",
"name": "test",
"namespace": "default",
"resourceVersion": "3017",
"selfLink": "/api/v1/namespaces/default/secrets/test",
"uid": "4d0a763e-61ce-11e9-92b6-0242ac110015"
},
"type": "Opaque"
}

因此,要更新用户的字段,我需要创建 JSON 补丁格式:
[
{
"op" : "replace" ,
"path" : "/data/username" ,
"value" : "dGVzdHVzZXIy" # testuser2 in base64
}
]

请注意,该值应为 base64。

结果是:
kubectl patch secret test --type='json' -p='[{"op" : "replace" ,"path" : "/data/username" ,"value" : "dGVzdHVzZXIy"}]'

关于kubernetes - 如何使用 "kubectl patch --type=' json' 更新 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55744582/

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