登录
首页 >  Golang >  Go问答

使用 OwnerRef 获取 k8s 集群中的所有 pod 层级结构

来源:stackoverflow

时间:2024-02-11 09:00:26 310浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《使用 OwnerRef 获取 k8s 集群中的所有 pod 层级结构》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

我们想要获取集群中的所有 pod,因此我们使用如下所示的内容:

pods, err := client.CoreV1().Pods("").List(context.Background(), metav1.ListOptions{})

此代码将接收集群中的所有 pod。

我的问题是:是否有一个代码或库可以将所有带有 owner 引用的 pod 带到 。 也就是说,如果 pods 由 deploymentstatfulset 等拥有,您将获得所有层次结构,这里的 trick 是如果我需要像某些递归一样获得额外的级别,例如 statefulset ,它由具有自定义类型的控制器拥有


正确答案


正如 @CoolNetworking 所建议的,有一个库或代码可以为您提供所有 pod 及其所有者引用,但您可以使用 k8s API 检索每个 pod 的所有者引用。然后,您可以使用 k8s API 检索每个所有者引用的所有者对象。这将允许您创建集群中所有 Pod 的层次结构。

Kubernetes API 是通过 HTTP 提供的基于资源的 (RESTful) 编程接口。它支持通过标准 HTTP 动词(POST、PUT、PATCH、DELETE、GET)检索、创建、更新和删除主要资源。

大多数 Kubernetes API 资源类型都是对象:它们代表集群上概念的具体实例,例如 Pod 或命名空间。

请参阅文档 kubernetes API 了解更多信息

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《使用 OwnerRef 获取 k8s 集群中的所有 pod 层级结构》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>