基础知识

简介

Krew 为 1.12 版本以上的 Kubectl 插件提供了类似于 apt/yum 的包管理功能。在 Krew 的帮助下,用户可以方便的安装和使用 Kubectl 插件,能够完成很多有趣有用的功能。本文对安装使用做一点初步的介绍,然后会讲解一下目前提供的插件功能。

安装

Windows 安装请参考项目文档

在 OSX 或者 Linux 系统中,首先需要安装 git,然后在 Bash/zsh 之中,用如下命令进行安装:

(
  set -x; cd "$(mktemp -d)" &&
  curl -fsSLO "https://storage.googleapis.com/krew/v0.2.1/krew.{tar.gz,yaml}" &&
  tar zxvf krew.tar.gz &&
  ./krew-"$(uname | tr '[:upper:]' '[:lower:]')_amd64" install \
    --manifest=krew.yaml --archive=krew.tar.gz
)

然后把 Krew 加入路径:

export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

重启 Shell 即完成安装。

使用

更新仓库

$ kubectl krew update
Updated the local copy of plugin index.

列出所有支持插件

$ kubectl krew search
NAME                           DESCRIPTION                                        STATUS
access-matrix                  Show an access matrix for server resources         available
bulk-action                    Do bulk actions on Kubernetes resources.           available
ca-cert                        Print the PEM CA certificate of the current clu... available
change-ns                      View or change the current namespace via kubectl.  available
...

查看插件说明

$ kubectl krew info access-matrix
kubectl krew info access-matrix
NAME: access-matrix
URI: https://github.com/corneliusweig/rakkess/releases/download/v0.4.0/bundle.tar.gz
...
VERSION: v0.4.0
CAVEATS:
\
 |  Usage:
 |    kubectl access-matrix
 |
 |  Documentation:
 |    https://github.com/corneliusweig/rakkess/blob/v0.4.0/doc/USAGE.md#usage
/

安装插件

$ kubectl krew install access-matrix
CAVEATS:
\
 |  Usage:
 |    kubectl access-matrix
 |
 |  Documentation:
 |    https://github.com/corneliusweig/rakkess/blob/v0.4.0/doc/USAGE.md#usage
/
Installed plugin: access-matrix

参考链接

  • Krew:https://github.com/kubernetes-sigs/krew
  • Kubectl 插件:https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/