首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >k8s 插件管理工具之krew使用

k8s 插件管理工具之krew使用

原创
作者头像
KaliArch
发布2026-08-07 08:38:34
发布2026-08-07 08:38:34
960
举报
文章被收录于专栏:KaliArchKaliArch

一 简介

Krew 是 类似于系统的apt、dnf或者brew的 kubectl插件包管理工具,利用其可以轻松的完成kubectl 插件的全上面周期管理,包括搜索、下载、卸载等。

kubectl 其工具已经比较完善,但是对于一些个性化的命令,其宗旨是希望开发者能以独立而紧张形式发布自定义的kubectl子命令,插件的开发语言不限,需要将最终的脚步或二进制可执行程序以kubectl- 的前缀命名,然后放到PATH中即可,可以使用kubectl plugin list查看目前已经安装的插件。

二 安装配置

  • 确保节点安装有git工具
代码语言:go
复制
# yum -y install git
  • 安装
代码语言:go
复制
(
  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/')" &&
  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.tar.gz" &&
  tar zxvf krew.tar.gz &&
  KREW=./krew-"${OS}_${ARCH}" &&
  "$KREW" install krew
)
  • 添加环境变量
代码语言:bash
复制
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
source ~/.bashrc
  • 确认插件安装
代码语言:go
复制
 # kubectl plugin list
/usr/local/bin/kubectl-debug
/usr/local/bin/kubectl-v1.10.11
/usr/local/bin/kubectl-v1.20.0
/Users/xuel/.krew/bin/kubectl-df_pv
/Users/xuel/.krew/bin/kubectl-krew
// 或者

三 使用

代码语言:bash
复制
kubectl krew update								# 更新
kubectl krew search               # 显示所有插件
kubectl krew install view-secret  # 安装名为view-secret的插件
kubectl view-secret               # 使用该插件
kubectl krew upgrade              # 升级安装的插件
kubectl krew remove view-secret   # 卸载插件

krew自身也作为一个“kubectl 插件”,因此,可以使用命令kubectl krew upgrade命令来升级krew。

3.1 安装插件

kubectl 无法直接查看pv的大小相关信息,可以安装一个查看pv大小的插件

代码语言:go
复制
# kubectl krew install df-pv
Updated the local copy of plugin index.
Installing plugin: df-pv
Installed plugin: df-pv
\
 | Use this plugin:
 | 	kubectl df-pv
 | Documentation:
 | 	https://github.com/yashbhutwala/kubectl-df-pv

#  kubectl krew list
PLUGIN  VERSION
df-pv   v0.2.7
krew    v0.4.1

3.2 使用

代码语言:go
复制
# kubectl df-pv

3.3 卸载

代码语言:bash
复制
kubectl krew uninstall df-pv

四 其他

K8s社区为方便其他开发这开发插件,提供了一个github.com/kubernetes/…

官方也给了一个使用Go编写kubectl插件的例子github.com/kubernetes/…

krew 仅仅兼容kubectl v1.12或更高版本。

参考链接

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一 简介
  • 二 安装配置
  • 三 使用
    • 3.1 安装插件
    • 3.2 使用
    • 3.3 卸载
  • 四 其他
  • 参考链接
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档