作者:imuxin 灵雀云后端工程师
kubectl-watch:一个能够监听 kubernetes 资源的变更信息的 kubectl 插件。其中变更的内容通过应用 delta 或 difftastic 工具提供丑陋的终端界面展现。
应用 delta 概览 | 应用 difftastic 概览 |
---|---|
装置阐明
【举荐】形式一:应用 Docker 镜像
- 您须要在环境里事后装置好 Docker,参考 官网;或者装置 containerd,参考 装置教程 和 nerdctl 命令行工具。
-
拷贝 script 目录下的 kubectl-watch 脚本到环境的 $PATH 其中的一个目录下,比方
/usr/local/bin
。cp script/kubectl-watch /usr/local/bin/ chmod +x /usr/local/bin/kubectl-watch
形式二:从 release assets 下载可执行制品。
形式三:应用 Cargo 进行源码编译装置。
cargo install kubectl-watch --locked
Cmd 帮忙
USAGE:
kubectl-watch [OPTIONS] [ARGS]
ARGS:
<RESOURCE> Support resource 'plural', 'kind' and 'shortname'
<NAME> Resource name, optional
OPTIONS:
-A, --all If present, list the requested object(s) across all namespaces
--diff-tool <DIFF_TOOL> Diff tool to analyze delta changes [default: delta] [possible values: delta, difft]
--export <EXPORT> A path, where all watched resources will be strored
-h, --help Print help information
--include-managed-fields Set ture to show managed fields delta changes
-l, --selector <SELECTOR> Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)
-n, --namespace <NAMESPACE> If present, the namespace scope for this CLI request
-s, --skip-delta Skip show delta changes view
--use-tls Use tls to request api-server
-V, --version Print version information
参考实例
监听所有命名空间下的 deployment 资源
kubectl-watch deployment -A
监听某个命名空间下的 depoyment 资源
kubectl-watch deployment -n {namespace}
监听某个命名空间下的某个 depoyment 资源
kubectl-watch deployment -n {namespace} {name}
追加 --skip-delta
选项,仅监听变动资源,同 kubectl get -w
kubectl-watch {resource} --delta
追加 --diff-tool difft
选项来应用 difftastic
工具显示变动内容
kubectl-watch {resource} --diff-tool difft
追加 --export "/to/your/path"
选项,导出监听的资源到本地存储
kubectl-watch {resource} --export "/to/your/path"
managed-fields
默认是不进行比对的, 追加 --include-managed-fields
选项,展现 managed fields 的变动
kubectl-watch {resource} -include-managed-fields
致谢
- delta
- difftastic
- kube-rs
- rust
云原生技术社区有 20+ 技术交换群,想进群跟技术大牛们聊天,或退出志愿者队伍,请加小助手微信: