千家信息网

k8s实践(十三):kubectl插件管理工具krew

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,环境说明:主机名操作系统版本ipdocker versionkubelet version配置备注masterCentos 7.6.1810172.27.9.131Docker 18.09.6V1.1
千家信息网最后更新 2026年11月02日k8s实践(十三):kubectl插件管理工具krew

环境说明:

主机名操作系统版本ipdocker versionkubelet version配置备注
masterCentos 7.6.1810172.27.9.131Docker 18.09.6V1.14.22C2Gmaster主机
node01Centos 7.6.1810172.27.9.135Docker 18.09.6V1.14.22C2Gnode节点
node02Centos 7.6.1810172.27.9.136Docker 18.09.6V1.14.22C2Gnode节点

k8s集群部署详见:Centos7.6部署k8s(v1.14.2)集群
k8s学习资料详见:基本概念、kubectl命令和资料分享

k8s高可用集群部署详见:Centos7.6部署k8s v1.16.4高可用集群(主备模式)

一、k8s核心组件

Kubernetes 主要由以下几个核心组件组成:

  • etcd 保存了整个集群的状态;
  • apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
  • controller manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
  • scheduler 负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
  • kubelet 负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
  • Container runtime 负责镜像管理以及Pod和容器的真正运行(CRI);
  • kube-proxy 负责为Service提供cluster内部的服务发现和负载均衡

二、kubectl简介

kubectl 是 Kubernetes 的命令行工具(CLI),是 Kubernetes 用户和管理员必备的管理
工具。该kubectl工具控制Kubernetes集群管理器。它可以让您检查集群资源,创建、删除和更新组
件以及更多功能。kubectl 提供了大量的子命令,方便管理 Kubernetes 集群中的各种功能。

1.kubectl用法
  • kubectl -h 查看子命令列表
  • kubectl options 查看全局选项
  • kubectl --help 查看子命令的帮助
  • kubectl [command] [PARAMS] -o= 设置输出格式(如 json、yaml、jsonpath 等)
  • kubectl explain [RESOURCE] 查看资源的定义
2.kubectl 插件krew

krew 是一个用来管理 kubectl 插件的工具,类似于 apt 或 yum,支持搜索、安装和管理kubectl 插件。

三、krew安装

1.git安装
[root@master ~]# yum -y install git
2.安装krew
  set -x; cd "$(mktemp -d)" &&  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/download/v0.3.2/krew.{tar.gz,yaml}" &&  tar zxvf krew.tar.gz &&  ./krew-"$(uname | tr '[:upper:]' '[:lower:]')_amd64" install \    --manifest=krew.yaml --archive=krew.tar.gz

可能由于网络原因介质无法下载,已上传github:https://github.com/loong576/krew-for-kubectl.git

3.加载环境变量
[root@master ~]# export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

可以永久写的用户的环境变量文件,避免登出后失效。

4.安装确认
[root@master ~]#  kubectl plugin list The following compatible plugins are available:/root/.krew/bin/kubectl-krew

安装完成

四、krew使用

1.插件索引更新
[root@master ~]# kubectl krew updateUpdated the local copy of plugin index.
2.插件搜索
[root@master ~]# kubectl krew search[root@master ~]# kubectl krew search crt

搜索全部插件和模糊搜索

3.安装插件
[root@master ~]# kubectl krew install get-all[root@master ~]# kubectl krew install ns tail

4.查看已装插件
[root@master ~]# kubectl krew listPLUGIN   VERSIONget-all  v1.2.1krew     v0.3.2ns       v0.7.1tail     v0.10.1
5.查看插件详情
[root@master ~]# kubectl krew info nsNAME: nsURI: https://github.com/ahmetb/kubectx/archive/v0.7.1.tar.gzSHA256: 6df4def2caf5a9c291310124098ad6c4c3123936ddd4080b382b9f7930a233ecVERSION: v0.7.1HOMEPAGE: https://github.com/ahmetb/kubectxDESCRIPTION: Also known as "kubens", a utility to set your current namespace and switchbetween them.CAVEATS:\ |  If fzf is installed on your machine, you can interactively choose |  between the entries using the arrow keys, or by fuzzy searching |  as you type. |   |  See https://github.com/ahmetb/kubectx for customization and details./
6.插件更新
[root@master ~]# kubectl krew upgrade nsUpdated the local copy of plugin index.F1118 17:21:47.271927   81116 root.go:58] failed to upgrade plugin "ns": can't upgrade, the newest version is already installed

更新插件ns,由于是最新版所以更新失败,可通过命令'kubectl krew upgrade'更新全部插件

7.使用插件--ns
[root@master ~]# kubectlkubectl          kubectl-get_all  kubectl-krew     kubectl-ns       kubectl-tail  [root@master ~]# kubectl ns weave[root@master ~]# kubectl-ns default

装完插件后可通过命令kubectl 或者kubectl- 使用插件,比如'kubectl ns weave'和'kubectl-ns default'都可以切换默认表空间

8.使用插件--get-all
[root@master ~]# kubectl-get_all

该命令类似'kubectl get all --all-namespaces',但更全。

9.使用插件--tail
[root@master ~]# kubectl-tail[root@master ~]# kubectl-tail --ns default [root@master ~]# kubectl-tail --rs kubeapps-8fd98f6f5[root@master ~]# kubectl-tail --rs kubeapps/kubeapps-8fd98f6f5 

tail为输出pod日志,以上命令分别为:输出全部pod日志、输出所有命名空间default的pod日志、输出全部命名空间中所有replicaset为kubeapps-8fd98f6f5的pod日志、输出命名空间为kubeapps且replicaset为kubeapps-8fd98f6f5的pod日志。

10.卸载插件
[root@master ~]# kubectl krew uninstall tailUninstalled plugin tail

卸载插件tail

五、krew卸载

1.查看安装目录
rm -rf ~/.krew[root@master ~]# kubectl krew versionOPTION        VALUEGitTag        v0.3.2GitCommit     bd754e1IndexURI      https://github.com/kubernetes-sigs/krew-index.gitBasePath      /root/.krewIndexPath     /root/.krew/indexInstallPath   /root/.krew/storeDownloadPath  /tmp/krew-downloadsBinPath       /root/.krew/bin
2.卸载
[root@master ~]# rm -rf  /root/.krew 


本文所有脚本和配置文件已上传:k8s实践(十三):kubectl插件管理工具krew

插件 管理 命令 集群 更新 输出 工具 日志 空间 资源 搜索 环境 组件 调度 管理工具 主机 功能 变量 容器 文件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网属科技 广州互联网科技公司 北京互联网科技公司 互联网科技论文 苏州互联网科技贷款公司 科技互联网创业计划书 华中科技有哪些互联网大佬 安控科技rtu产品工业互联网 金融科技与互联网金融相同和不同 深圳市优智互联网科技有限公司 国大互联网教育科技有限公司工作 广州新华互联网科技学校电竞方面 互联网金融科技元年 上海钢联属于互联网科技股吗 互联网科技实习生岗位 从那以后互联网科技有限公司 互联网与数字科技关系 广州有谷有贝互联网科技有限公司 科技信息时代互联网发展 广西泛欧互联网科技有限公司 互联网科技网 菲比寻常互联网科技 互联网 科技服务平台 镁科技互联网资讯平台 广西拼得多互联网科技有限公司 湖南洣水互联网科技有限公司扣款 互联网和高科技公司 温州喔噻互联网科技有限公司 全球顶尖互联网科技公司 互联网科技股为什么大涨
0