问题标签 [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 投票
1 回答
7963 浏览

python - 如何使用 Kubernetes Python 客户端创建秘密?

我一直在尝试使用 python 客户端为 Kubernetes 集群创建秘密。我不断收到一条错误消息

这是我试图执行以创建秘密的代码。

我在这里想念什么?

0 投票
0 回答
607 浏览

python - 无法使用 Kubernetes python 客户端进行身份验证?

我正在运行一个通过 python 客户端调用 kubernetes 的简单脚本:

.

但是,它似乎无法获得正确的凭据。我可以使用 kubectl 命令行界面,我注意到.kube/config每当我发出命令(例如,kubectl get pods)时,它都会使用访问令牌和到期时间填充我的文件。

只要该令牌尚未过期,我的 python 脚本就可以正常运行。但是,一旦该令牌过期,它似乎无法刷新它,而是失败并告诉我 set GOOGLE_APPLICATION_CREDENTIALS。当然,当我使用密钥文件创建服务帐户并指向GOOGLE_APPLICATION_CREDENTIALS该密钥文件时,它给了我以下错误:

我对这个客户的理解有问题吗?感谢您对此的任何帮助!

我正在使用 kubernetes python 库的 3.0.0 版本。如果它有帮助,这是我的.kube/config

0 投票
3 回答
10222 浏览

kubernetes - Kubernetes python客户端:身份验证问题

我们将 kubernetes python 客户端(4.0.0)与 google 的 kubernetes 引擎(master + nodepools 运行 k8s 1.8.4)结合使用,以定期在 kubernetes 上调度工作负载。我们用于创建 pod、附加到日志并报告 pod 结束状态的脚本的简化版本如下所示:

一切正常,但是我们遇到了一些身份验证问题。身份验证通过默认的auth-provider 进行,为此我通过在调度程序上手动gcp运行来获得初始访问令牌。kubectl container cluster get-credentials在某些随机时间范围内,某些 API 调用会导致来自 API 服务器的 401 响应。我的猜测是,只要访问令牌过期,就会发生这种情况,并且脚本会尝试获取新的访问令牌。但是,调度程序上会同时运行多个脚本,导致多次获取新的 API 密钥,其中只有一个仍然有效。我尝试了多种方法来解决这个问题(使用persist_config=True,重新加载配置后重试401,...)没有任何成功。由于我不完全了解 gcp 身份验证和 kubernetes python 客户端配置是如何工作的(两者的文档都相当稀缺),所以我有点不知所措。

我们应该使用另一种身份验证方法而不是gcpauth-provider 吗?这是 kubernetes python 客户端中的错误吗?我们应该使用多个配置文件吗?

0 投票
3 回答
4202 浏览

kubernetes - 我在哪里可以获得 Kubernetes 安装中的 API_KEY

一直试图让 kubernetes 的 python 客户端按预期工作。祝你好运config.load_kube_config() 现在我想从一台既没有也没有在它上面的远程机器上使用 Python 客户kubectl~/.kube/config尝试了这样的python客户端API参考

片段:

起初,我似乎需要使用默认的服务帐户令牌,它说:

configuration.api_key['authorization'] = 'YOUR_API_KEY

看了很多之后很快意识到不是这样的[SSL: CERTIFICATE_VERIFY_FAILED]

有人可以提示我可以从我的新安装中获得这个吗?使用 kubeadm 启动此集群。

<--------- 下面编辑 ---------->

使用以下方法管理从 master 获取令牌:

ApiToken上面的结果在下面的 Python 代码段中命名。

响应是一条HTTP/1.1 403 Forbidden消息。

现在解决这个阶段。

0 投票
1 回答
1073 浏览

kubernetes - 无法通过 kubernetes python 客户端删除 kubernetes 入口对象

删除入口对象时出现此错误。

这是我用来执行删除的代码片段......

我确保入口对象确实存在并具有正确的 API 版本控制。在尝试删除部署对象时遇到类似的错误!

0 投票
1 回答
3590 浏览

kubernetes - 使用 K8s Python 客户端获取服务选择器

我正在尝试label selectors通过Kubernetes Python Client获得服务。我正在使用list_service_for_all_namespaces方法来检索服务,并使用以下field_selector参数对其进行过滤:

我收到此错误:

因此,似乎只有namenamespace是有效参数,没有记录:

field_selector = 'field_selector_example' # str | 通过字段限制返回对象列表的选择器。默认为一切。(可选的)

现在我的解决方法是为服务设置与标签选择器相同的标签,然后通过参数检索它,但我希望能够通过.label_selectorlabel selectors

问题是从一开始我就需要获取服务背后的端点(后端 pod),但是 API 调用甚至没有返回此信息,所以我虽然会得到选择器,但将它们与 pod 上的标签进行匹配,然后我们开始了,但现在我意识到选择器也无法获得。

这限制太多了。我在想可能是我的方法是错误的。有谁知道label selectors从服务中获取的方法?

0 投票
1 回答
6438 浏览

python - 通过 pod 访问 kubernetes python api

所以我需要通过一个pod连接到python kubernetes客户端。我一直在尝试使用config.load_incluster_config(),基本上是按照这里的例子。但是它抛出了这些错误。

我正在使用 Python 2.7 和 Minikube 任何提示或建议将不胜感激。谢谢你。

0 投票
0 回答
1980 浏览

kubernetes - python kubernetes api连接未授权401

我在连接到 python kubernetes 客户端时遇到问题,但是我在运行时遇到了这个 404 url​​ not found 错误,curl -k https://ip-address:30000/pods这是我编写的用于连接到 kubernetes 和列出 pod 的端点。我正在通过 minikube 在本地运行它,有什么建议吗?

错误:

我如何连接到 api:

我获取 api 密钥的方式是从我创建的服务帐户中获取解码的令牌,但是根据此处的文档, 它说

在配置了令牌身份验证并启用匿名访问的服务器上,提供无效承载令牌的请求将收到 401 Unauthorized 错误。不提供不记名令牌的请求将被视为匿名请求。

所以看起来我的 api 令牌在某种程度上是无效的?但是我按照步骤对它和所有内容进行了解码。我非常关注这个

我的 yaml 文件:

0 投票
2 回答
2267 浏览

kubernetes - 是否可以使用 python API 观看 Kubernetes 集群上的所有事件?

使用 kubernetes Python API< 您必须指定要观看的事件吗?是否可以监视集群中的所有事件

0 投票
0 回答
86 浏览

python - Pycharm 对嵌套类属性缺乏 Intelisense

我正在使用 kubernate 客户端以这种方式获取节点列表。

我加粗的那一行我缺少来自 IDE 的 Intelisense 助手。我想遍历我的节点并获取一些关于状态的嵌套属性。

这是智能感知窗口的视图。 在此处输入图像描述

是否有可能让 pycharm 了解嵌套类属性(又名 intelisense)。正如您在图片中看到的那样,在浏览节点状态对象时,我没有智能感知的帮助。我曾经使用 Visual Studio 和 C#,这样的 IDE 操作不是问题。