【发布时间】:2021-07-29 19:40:07
【问题描述】:
使用 Kubernetes,您可以使用 Garbage Collector 在删除拥有资源时自动删除依赖资源。我想知道打印出拥有资源的依赖树的最简单方法,如果需要,可能会限制树的深度。
我了解 API 服务可能会崩溃,因为它能够扇出到集群中的所有资源,并且很可能为什么这不是一个容易实现的壮举,但我一直在努力寻找可用的、社区支持的解决方法甚至与该主题相关的讨论/问题(可能是我的搜索技能不佳),因此任何帮助实现这一点都会很棒!
为了使事情更具体,我想实现的抽象kubectl get 查询的具体示例类似于kubectl get scheduledworkflow <workflow name> --dependents:
- 这将找到 Kubeflow Pipelines
ScheduledWorkflow资源然后递归, - 这将找到所有 Argo
Workflow资源, - 然后对于每个
Workflow资源,许多Pod和Volume资源(还有一些其他类型,但想描绘这些资源类型不同)。
我们通常每次只在集群中保留少量的 Argo Workflow 资源,因为我们 Workflow 的大部分产生 1k+ Pod 所以我们制定了非常激进的 GC 策略。即便如此,列出这些目前也很痛苦,需要使用自定义脚本来完成,但想知道是否有更高级别的 CLI、SDK 或 API 可用(或社区中任何致力于此问题的小组!)。
【问题讨论】:
标签: kubernetes garbage-collection kubectl