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
会对集群中名为 nginx
的 Deployment
对象进行跟踪,并将状态信息进行聚合,生成较高级的概要,并且进行实时更新。
kubespy status v1 Pod nginx
会等待创建一个叫做 nginx
的 Pod
,然后持续刷新其状态,并用高亮语法的 JSON 形式展现出来。
安装
获取最新版本,重命名为 kubespy
,chmod -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 资源进行跟踪,在整个集群范围内进行聚合,生成汇总信息,并保持实时更新。