问题标签 [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.
kubernetes - 如何使用 kubernetes python sdk 重新部署部署
版本信息:
文档:https ://github.com/kubernetes-client/python/tree/release-8.0/kubernetes
我只找到了更新API,没有找到重新部署API。</p>
谢谢
kubernetes - 添加/删除 kubernetes 注释的 API 等效项是什么?
我正在尝试找到与如何在 Kubernetes 中删除(删除)注释的 API 等效项,以删除 Python 中服务类型的注释。从命令行执行此操作非常有效。
最新的kubernetes-client/python没有任何允许修补注释的 API。我总是可以删除并重新创建服务,但我想修补它。
如果有人愿意,这是一个简单的 MCVE。一个测试服务 YAML
和我正在使用的 Python 代码
kubernetes - 如何以编程方式修改正在运行的 k8s pod 状态条件?
我正在尝试修改我的 pod 的运行状态,由部署控制器通过命令行kubectl patch
和 k8s python 客户端 API 管理。他们似乎都没有工作
从命令行,我尝试了策略合并匹配和 JSON 合并补丁,但它们都不起作用。例如,我正在尝试修补 pod 条件以使该status
字段False
来自 python API
在运行上面的代码片段时,我没有看到任何错误,并且响应p_status
中的所有 pod 条件都已修改为应用于 中patch
,但我没有看到来自 API 服务器的任何与此 pod 状态更改相关的事件。
可能是部署控制器正在回滚对工作配置的更改?我正在寻找修补 pod 条件的方法,并测试我的自定义控制器(与问题无关)是否能够看到这些新的 pod 条件。
kubernetes - How to apply patch to make pod phase go to Succeeded or Failed?
This is a follow-up from my last question - How to programmatically modify a running k8s pod status conditions? after which I realized, you can only patch the container spec from the deployment manifest to seamlessly let the controller apply the patch changes to the pods through the ReplicaSet it created.
Now my question is how to apply patch to make the Pod phase to go to Succeeded
or Failed
. I know for e.g. for pod phase to go to Succeeded
, all the containers need to terminate successfully and shouldn't be restarted. My intention is to not modify the original command and arguments from the container image, but apply a patch to introduce a custom command which will override the one from the container image.
So I attempted to do below to run exit 0
as below
But since my container file system layers are built from FROM scratch
, there aren't any native commands available other than the original executable supposed to run i.e. exit
as a built-in is not even available.
What's the best way to do this? by patching the pod to make it transition to either of those Pod phases.
python - 在 python 客户端中关闭客户端与 kubernetes API 服务器的连接
我在 python 中使用kubernetes-client库并查看各种示例,看来我们不需要显式关闭与 API 服务器的客户端连接。客户端连接是否会自动终止,或者示例是否缺少关闭连接的调用?我还找到了 API 的文档页面(例如AppsV1),其中显示的示例使用上下文管理器进行调用,因此连接会在那里自动断开,但我仍然对不使用上下文管理器方法的脚本有疑问。
python - 使用 patch_namespaced_deployment 从部署中删除卷不起作用
我正在尝试使用带有以下参数的patch_namespaced_deployment
(https://github.com/kubernetes-client/python)修补部署并删除其卷,但它不起作用。
如何重现它:
创建此文件 app.yaml
** 编辑 ** 运行kubectl patch
命令按预期工作。但是在执行 Python 脚本并运行describe deployment
命令后,persistentVolumeClaim 被替换为如下所示的 emptyDir
openshift - 使用 Python 管理 Openshift 集群
我需要使用 Python 将一些东西部署到 Openshift 集群(我已经被其他任何解决方案抢先使用),所以我正在尝试使用该kubernetes
模块:
可悲的是,v1 对象没有使用我给它的用户名/密码对集群进行身份验证:
我正在寻找一种在 OCP 集群上抛出配置 YAML 并让它坚持下去的方法......
kubernetes - Kubernetes 的 Pod 之间使用代码进行内部通信
也许这个问题是非常错误的,但到目前为止我的研究并没有太大帮助。
我的计划是将服务器应用程序部署到多个 Pod,作为副本(在多个 Pod 中运行相同的代码),我希望每个 Pod 能够与其余 Pod 通信。
更具体地说,我需要每 x 分钟向所有其余的 pod 广播一条消息。
我找不到如何使用 Python 代码或与 Pod 之间的内部通信相关的任何有用的示例。我可以看到一些关于我应该使用的 yaml 配置的说明,但没有实际的例子,这让我认为使用 Kubernetes 可能不是我想要做的最好的技术服务(?)。
任何建议/建议/文档都超出了需要。谢谢
python - 等效于“kubectl wait --for”命令的 Kubernetes python 客户端
我正在使用 kubernetes-client/python 并想编写一个方法来阻止控制,直到一组 Pod 处于就绪状态(运行状态)。我发现 kubernetes 支持通过命令执行相同操作的wait --for 命令。有人可以帮助我如何使用 kubernetes python 客户端实现相同的功能。
确切地说,我最感兴趣的是等效的-
docker - Kubernetes 内部的 Python Docker SDK
我点击了这个链接 - https://docs.docker.com/engine/api/sdk/examples/并且在我使用 Docker 容器时 docker SDK 运行良好。现在我已经转移到 K8s,当我运行代码时,我会收到类似 "Container Not Found" 的错误。有没有办法在 Kubernetes PODS 中使用 Python Docker SDK?错误:
注意:作为普通 Docker 容器运行时,我没有遇到此错误。仅当代码在 k8s PODS 内运行时才会发生这种情况。
注意:由于所有容器都在 K8s PODS 中运行,所以 docker ps 也不返回任何内容
您可以在此处参考 Python Docker SDK: https ://docker-py.readthedocs.io/en/stable/