问题标签 [kubernetes-python-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1319 浏览

python-3.x - 使用 Python 使用 kubernetes-client 在 Kubernetes pod 中连接到 MongoDB

我有一个在 Kubernetes 上运行的 MongoDB 实例,我正在尝试使用带有 Kubernetes 库的 Python 连接到它。

我正在使用以下命令连接到 cmd 行上的上下文:

使用 Python,我正在使用:

要在 cmd 行中连接到 MongoDB:

然后我打开一个新终端并使用 PORT_FORWARD_PID=$! 连接

我正在尝试使用带有 Kubernetes 客户端库的 Python 连接到 MongoDB 实例,关于如何完成上述操作有什么想法吗?

0 投票
1 回答
148 浏览

kubernetes - 删除 pvc 上的 volumeMount 删除

我的用例如下:我有一个多租户服务的部署。此部署具有与其关联的许多 mountVolume,它们是特定于租户的 pvc。当我删除一个租户时,我也想删除关联的 pvc。反过来也将其从部署中删除。

我尝试为此使用战略合并:

x.yaml - 这包含补丁 yaml:

========================= 调用方法:

漂亮=真)

======================== 调用 patch_namespaced_deployments 时出现异常:

"status": "Failure", "message": "Deployment.apps \"test-ms\" is invalid: spec.template.spec.containers[0].volumeMounts[9].name: Not found: \"tenant-helloworld\"", "reason": "Invalid", "details": { "name": "test-ms", "group": "apps", "kind": "Deployment", "causes": [ { "reason": "FieldValueNotFound", "message": "Not found: \"tenant-helloworld\"", "field": "spec.template.spec.containers[0].volumeMounts[9].name" } ] }, "code": 422 }

该字段存在于 volumeMount[9]。关于我哪里出错的任何指示。

0 投票
2 回答
2926 浏览

python - 使用 kubernetes python 客户端将文件从 pod 复制到主机

我需要使用 kubernetes python 客户端将文件从 pod 复制到主机。这将是类似的东西kubectl cp pod:file file

我正在测试来自:https ://github.com/prafull01/Kubernetes-Utilities/blob/master/kubectl_cp_as_python_client.py 的代码。

特别是这段代码:

我正在使用官方的 Kubernetes Python 库版本 10.0.1 和 Python 3.6.8 稳定

但它不能正常工作:

  • 当我复制小文本文件时它正在工作
  • 但它不适用于其他文件,例如 tar 或 zip 文件。它会复制与原始文件大小相同的损坏文件。

代码中是否有任何错误?你有没有其他方法可以通过使用 kubernetes python 客户端来做到这一点?

一切顺利。

谢谢。

0 投票
2 回答
2329 浏览

json - 无法使用 python kubernetes-client 库修补 Kubernetes 节点

我正在尝试使用 Python kubernetes-client库修补 kube 节点。

具体来说,我正在尝试封锁节点。使用 kubectl,我能够成功地做到这一点:

但是使用 python kubernetes-client 库失败:

返回包含以下消息:

一些研究使我发现了这个错误。它是指直接使用kubernetes api,但问题似乎是一样的。不幸的是,解决方案 - 传递一个数组 - 没有帮助。

不幸的是,这里的文档没有帮助。所需的类型body显示为UNKNOWN_BASE_TYPE,没有用处。我查看了代码,但没有关于我应该如何格式化正文的线索 - 我很茫然。

0 投票
3 回答
1246 浏览

kubernetes - 如何通过类似于kubectl apply -f的kubernetes python客户端使用多个kubernetes资源文件

我有一个 kubernetes 多资源文件,其中包含要应用的不同资源,例如部署定义、服务定义、pv、pvc 等。有没有办法通过 kubernetes python 客户端使用这个单个文件来部署所有这些资源一下子?虽然我的情况有点不同。我有一个文件,它使用 CRD 以及自定义 kubernetes 资源对象,例如Deployment + Ambassador's Mapping。如何使用kubernetes python 客户端来实现这一点?

0 投票
1 回答
661 浏览

python - 无法从 Python SDK 修补 Kubernetes 自定义资源

尝试修补我的自定义资源以将额外元素添加到数组中。

使用 kubectl 可以正常工作:

但无法使用 Python 使其工作:

得到回应

奇怪的是,当我放下 [ ] 并通过 {}

它有效,但效果不是我想要的——它完全覆盖了“数据”数组,而我想追加。

我错过了什么?

0 投票
1 回答
1116 浏览

python - Python Kubernetes client equivalent of kubectl describe pod | grep Events

I'm creating a custom monitoring script for my self hosted kubernetes cluster on AWS. Among all other tools, Python client was of much interest for me. I have got a dictionary of pod and their status. Now I want to iterate the dict.keys (the pods in them basically) to check their Events from kubelet. I'm looking for the below data:

I looked over the web and could only find examples related to namespace but not for individual pods.

Kindly help me to get this data over Python client. Thanks in Advance !

0 投票
0 回答
469 浏览

python - Kubernetes python客户端:线程响应问题

我正在尝试获取 Kubernetes 集群中不健康 pod 的列表,然后尝试查看事件以获取消息,将它们放入列表并报告。但是,我无法获得所有线程的回复。响应非常不寻常,每次我为某些 pod 或其他 pod 运行脚本时,我都没有得到任何响应。我怀疑线程有问题,因为在循环上做同样的事情就可以了。请建议。

代码:

输出:

0 投票
1 回答
592 浏览

python - 将文件复制到 Kubernetes Pod

我正在尝试使用以下方式将二进制文件复制到 Kubernetes pod。如果文件是文本格式而不是二进制文件,则脚本可以工作。

在 STDERR 上,我收到以下日志“tar:这看起来不像 tar 存档”

0 投票
1 回答
4898 浏览

kubernetes - 如何编辑/修补 kubernetes 部署以使用 python 添加标签

我对 kubernetes 相当陌生 - 我已经开发了 Web UI/API,它使用 Azure 机器学习服务到 Azure Kubernetes 服务 (AKS) 自动部署模型。作为一项强化措施,我打算使用此文档为 AKS 中部署的 pod 设置托管标识。其中一个步骤是编辑部署以在部署中添加身份特征标签(请参阅本节/spec/template/metadata/labels中开头Edit the deployment to add ...的段落)。

我希望使用 python kubernetes 客户端(https://github.com/kubernetes-client/python)自动执行此步骤。浏览可用的 API,我想知道这可能patch_namespaced_deployment允许我编辑部署并在/spec/template/metadata/labels. 我一直在寻找一些使用 python 客户端的示例代码 - 任何帮助实现上述目标将不胜感激。