0. 概述

在使用 Kubernetes 的时候不知道你有时是不是关注一个 Pod 是哪个 Deployment 创建的这类关系,这里我介绍一个 kubectl 插件可以一条命令列举所有的关联关系。

1. kube-tree

在之前的文章中我已经介绍过 Kubectl 可以添加插件来加强客户端的功能,同时,我写过一篇介绍: 通过 krew 管理 kubectl 插件 kubectl 插件管理工具的文章。

这里介绍的工具就是一款 kubectl 的插件,名字为:Kube-Tree,顾名思义,它的作用就是可以在客户端列举出 Kubernetes 中相关对象之间的关系。

2. 安装

自动使用 krew,安装 kubectl 插件简直不要太简单:

[[email protected]]# kubectl krew install tree

如果你没有安装,那么还等什么,我都在前面贴上指导链接了。

3. 使用示例

[[email protected]]# kubectl tree deployment prometheus-operator
NAMESPACE  NAME                                            READY  REASON  AGE 
default    Deployment/prometheus-operator                  -              101d
default    ├─ReplicaSet/prometheus-operator-85dbf5b55    -              101d
default    │ └─Pod/prometheus-operator-85dbf5b55-zz8kt  True           51d 
default    └─ReplicaSet/prometheus-operator-cc979f666    -              101d

4. 小结

虽然这个工具看上去挺强大的,但是,需要注意的是他只支持上层资源查询下层资源,不支持下层资源查询上层资源,例如通过 Pod 查询是哪个 Deployment 创建的;一个 Service 包含哪些 Pod 之类的。