乐趣区

关于kubernetes:kubectl-插件推荐-kubectlwatch

作者:imuxin 灵雀云后端工程师

kubectl-watch:一个能够监听 kubernetes 资源的变更信息的 kubectl 插件。其中变更的内容通过应用 delta 或 difftastic 工具提供丑陋的终端界面展现。

应用 delta 概览 应用 difftastic 概览

装置阐明

【举荐】形式一:应用 Docker 镜像

  1. 您须要在环境里事后装置好 Docker,参考 官网;或者装置 containerd,参考 装置教程 和 nerdctl 命令行工具。
  2. 拷贝 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+ 技术交换群,想进群跟技术大牛们聊天,或退出志愿者队伍,请加小助手微信:

退出移动版