随着 Kubernetes 成为主流的应用容器编排平台,其命令行客户端 kubectl
也成为了我们日常部署应用,维护集群最常用的工具。kubectl
自身提供了强大的内置自命令来满足我们对集群的操作,例如 get
获取集群内的资源对象,proxy
创建代理之类的,除了内置的这些自命令,kubectl
还提供了可扩展的能力,允许我们安装自己编写或者社区提供的插件来增强我们使用 kubectl
的生产力。
这里将给大家介绍如何在安装 kubectl
扩展插件,以及几款我在日常工作中常用到的社区提供的插件。
在安装和使用 kubectl
插件的之前,请确保以及安装和配置好 kubectl
命令行工具和 git
工具。
krew
首先介绍的第一款扩展插件就是 krew - k8s特别兴趣小组开发的一款用于安装和管理 kubectl
扩展插件的插件。
代码: https://github.com/kubernetes...
安装 krew (在macOS/Linux上):
-
在终端执行(Bash或者Zsh)执行
( 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/')" && KREW="krew-${OS}_${ARCH}" && curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" && tar zxvf "${KREW}.tar.gz" && ./"${KREW}" install krew )
-
将 $HOME/.krew/bin 加入到 PATH 环境变量,更新你的 .bashrc 或者 .zshrc 文件,添加下面一行
export PATH="${KREW_ROOT:-$HOME/.brew}/bin:$PATH"
然后重启你的终端。
-
测试 krew 已经安装成功
❯ k krew version OPTION VALUE GitTag v0.4.3 GitCommit dbfefa5 IndexURI https://github.com/kubernetes-sigs/krew-index.git BasePath /home/mengz/.krew IndexPath /home/mengz/.krew/index/default InstallPath /home/mengz/.krew/store BinPath /home/mengz/.krew/bin DetectedPlatform linux/amd64
-
(可选)设置 krew 别名
alias krew='kubectl-krew' echo "alias krew='kubectl-krew'" >> ~/.alias
这样就安装完成了,krew 是 kubectl
插件管理器,而 krew
自己又是插件,所以之后可以使用 krew
来更新 krew
。
在 Windows 上安装,请参考