Kubespy:实时查看 Kubernetes 资源

原文:kubespy: tools for observing Kubernetes resources in real time

一个 Pod 启动时会发生些什么?一个 Service 拿到公共 IP 之前又会干点啥?Deployment 的状态是怎么切换的?

kubespy 是个小工具,能够轻松的实时查看 Kubernetes 集群里的资源变化。这一工具源自于 Pulumi CLI ,其中对 Kubernetes Deployment 的预测做出了一些常识。可以在任何时机运行 kubespy,它会持续对 Kubernetes 资源进行监控和报告,直到杀掉进程为止。

例如

kubespy trace deployment nginx 会对集群中名为 nginxDeployment 对象进行跟踪,并将状态信息进行聚合,生成较高级的概要,并且进行实时更新。

trace deployment rollout

kubespy status v1 Pod nginx 会等待创建一个叫做 nginxPod,然后持续刷新其状态,并用高亮语法的 JSON 形式展现出来。

status

安装

获取最新版本,重命名为 kubespychmod -x kubespy 并将其拷贝到可执行路径之中(例如 /usr/local/bin)。

或者

安装 Go 1.11 以上版本,然后运行:

export GO111MODULE=on

# If $GOBIN is not on your path, you'll need to install the library elsewhere.
go install github.com/pulumi/kubespy

两种方式都能够完成安装。

用法

kubespy 有三个子命令:

status <apiVersion> <kind> [<namespace>/]<name>:实时跟踪任意 Kubernetes 对象的 .status 字段,并用 JSON Diff 的方式进行展示。

changes <apiVersion> <kind> [<namespace>/]<name>:实时获取一个 Kubernetes 资源的所有字段的所有变化,用 JSON Diff 进行展示。

trace <kind> [<namespace>/]<name>:对复杂 Kubernetes 资源进行跟踪,在整个集群范围内进行聚合,生成汇总信息,并保持实时更新。

相关

comments powered by Disqus