如何迭代返回的 k8s 客户端对象中的项目?

问题描述 投票:0回答:1

我使用 python 3 和 k8s 客户端查询各种集群信息。

在某些情况下,客户端返回的不是格式良好的 json 对象,而是一个我不知道如何“读取”的自定义对象。

作为一个具体的例子,我使用的是k8s客户端方法:list_persistent_volume_claim_for_all_namespaces()

这将返回 V1PersistentVolumeClaim 类型的实例,如下所述:https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PersistentVolumeClaim.md

我的问题是如何处理这些实例并提取其中包含的信息?我想像遍历任何 Json 对象一样遍历内容,但这行不通。我可以将它作为一个字符串引用,但是,它在引用问题、未加引号的值、未加引号的数字、嵌入的换行符等方面非常脏。我已经能够用一堆正则表达式子来清理它,但是,它是噩梦,我永远不知道其他一些数据何时会出现并破坏它。有没有更好的方法来提取这些信息?或者关于如何解析返回结果的文档链接会很棒......我在这里错过了什么?

谢谢,丹尼斯

python kubernetes namespaces client
1个回答
0
投票

Duuuhhh... 还没有对 yaml 做太多。特别是像这样的原始 yaml 字符串。 yaml.safe_load(str) 将其转换为字典...方便...

© www.soinside.com 2019 - 2024. All rights reserved.