Kubernetes配置映射升级

2024-07-03 06:39:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个python脚本,以编程方式更新configmaps。在

示例脚本如下所示。在

import requests

headers = {"Content-Type": "application/json-patch+json"}
configData = {
"apiVersion": "v1",
"kind": "ConfigMap",
"data": {
    "test2.load": "testimtest"
},
"metadata": {
    "name": "nginx2"
}
}

r = requests.patch("http://localhost:8080/api/v1/namespaces/default/configmaps/nginx2", json=configData)

这个问题有趣的一面是,我对POST和GET方法没有问题,但是当我想用HTTP的PATCH方法更新kubernetes configmaps时

^{pr2}$

我如何处理这个问题。在


Tags: 方法import脚本json示例编程方式content
2条回答

我建议您使用Kubernetes客户机库,而不是自己进行原始HTTP调用。然后你就不需要找出底层连接的东西,因为库会为你抽象出来。在

我一直在使用Pykube,它提供了一个很好的pythonicapi,不过现在看来它已经被放弃了。在

您还可以使用官方的client-python,它是主动维护的。这个库有点笨重,因为它基于一个自动生成的OpenAPI客户机,但是它涵盖了很多用例,比如流式结果。在

你需要读一点书才能弄清楚这个HTTP动词是否受支持,也许你有权限问题?在

不管怎样,我给你的建议是使用kubectl的冗长选项来解决类似的问题。在

例如,假设我要删除一个pod,我会:

kubectl -v=9 delete pod myapp

输出(我清理了一下)应该包含您要查找的信息:

^{pr2}$

所以现在,如果我已经掌握了用python或其他任何方法构造方法所需的所有细节,希望这有意义和/或有帮助,请尝试使用patch命令。在

相关问题 更多 >