认识
官网:https://krew.sigs.k8s.io/
文档:https://krew.sigs.k8s.io/docs/
仓库:https://github.com/kubernetes-sigs/krew
Krew is the plugin manager for kubectl command-line tool. 简而言之,Krew,其是个 kubectl 插件管理工具,其能够为 kubectl 安装和管理插件。
性质
提供插件升级功能 krew upgrade
# kubectl krew upgrade // 升级全部插件 # kubectl krew upgrade cert-manager Updated the local copy of plugin index. Upgrading plugin: cert-manager F0917 01:22:06.322701 391258 root.go:79] failed to upgrade plugin "cert-manager": can't upgrade, the newest version is already installed
构建
安装 krew 扩展
# wget https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.tar.gz
...
# tar zxvf krew.tar.gz
./LICENSE
./krew-darwin_amd64
./krew-darwin_arm64
./krew-linux_amd64
./krew-linux_arm
./krew-linux_arm64
./krew-windows_amd64.exe
# ./krew-linux_amd64 install krew
WARNING: To be able to run kubectl plugins, you need to add
the following to your ~/.bash_profile or ~/.bashrc:
export PATH="${PATH}:${HOME}/.krew/bin"
and restart your shell.
...
# echo 'export PATH="${PATH}:${HOME}/.krew/bin"' >> ~/.bashrc
# source ~/.bashrc
# kubectl krew help
krew is the kubectl plugin manager.
You can invoke krew through kubectl: "kubectl krew [command]..."
...
应用
通过 krew 安装其他插件
// -------------------------------------------------------- // 搜索插件 # kubectl krew search cert-manager NAME DESCRIPTION INSTALLED cert-manager Manage cert-manager resources inside your cluster no // -------------------------------------------------------- // 安装插件 // 在安装插件的最后步骤中,极会因为网络原因而导致下载失败 // 此时只能求助于手动安装,或者网络加速(配置环境变量即可) # kubectl krew install cert-manager Updated the local copy of plugin index. Installing plugin: cert-manager Installed plugin: cert-manager \ | Use this plugin: | kubectl cert-manager | Documentation: | https://github.com/jetstack/cert-manager /
参考
kubernetes-sigs/krew: 📦 Find and install kubectl plugins
Kubectl plugins available · Krew
Extend kubectl with plugins | Kubernetes