kubectl-tree

kubectl-tree 资源归属树

补充说明

kubectl-tree 是 kubectl 插件,用 ownerReferences 展开资源的归属关系,例如 Deployment → ReplicaSet → Pod、Service → EndpointSlice、PVC → PV。排障时能快速看清“这个 Pod 是谁创建的”。

核心原理是递归读取 metadata.ownerReferences,不依赖标签,因此比手动 grep 更准确。

语法

安装 Krew:

(
  set -x
  cd "$(mktemp -d)" &&
  OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
  ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew-${OS}_${ARCH}.tar.gz" &&
  tar zxvf "krew-${OS}_${ARCH}.tar.gz" &&
  ./krew-"${OS}_${ARCH}" install krew
)
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

安装插件:

kubectl krew install tree

查看 Deployment 的归属树:

kubectl tree deploy demo -n demo

查看所有命名空间:

kubectl tree deploy demo -n demo -A

查看 Service:

kubectl tree svc demo -n demo

查看 CRD 资源:

kubectl tree rollouts demo -n demo

注意

相关命令

参考链接