Kubectl Plugins and Krew

From WilliamsNet Wiki
Revision as of 00:16, 2 August 2020 by DrEdWilliams (talk | contribs)
Jump to navigation Jump to search

Krew helps you discover and install kubectl plugins on your machine.

There are a lot of kubectl plugins you can install and use to enhance your Kubernetes experience.

Prerequisites: A recent copy of the git command (such as available from the IUS repo) must be installed for krew to operate.

Let’s get started:

1. Install and set up Krew on your machine and add krew's bin directory to your path

(
  set -x; cd "$(mktemp -d)" &&
  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.{tar.gz,yaml}" &&
  tar zxvf krew.tar.gz &&
  KREW=./krew-"$(uname | tr '[:upper:]' '[:lower:]')_amd64" &&
  "$KREW" install --manifest=krew.yaml --archive=krew.tar.gz &&
  "$KREW" update
)
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

2. Download the plugin list:

kubectl krew update

3. Discover plugins available on Krew:

kubectl krew search
NAME                            DESCRIPTION                                         INSTALLED
access-matrix                   Show an RBAC access matrix for server resources     no
advise-psp                      Suggests PodSecurityPolicies for cluster.           no
auth-proxy                      Authentication proxy to a pod or service            no
[...]

4. Choose a plugin from the list and install it:

kubectl krew install access-matrix

5. Use the installed plugin:

kubectl access-matrix

6. Keep your plugins up-to-date:

kubectl krew upgrade

7. Uninstall a plugin you no longer use:

kubectl krew uninstall access-matrix

This is pretty much all you need to know as a user to use Krew. Interesting plugins already installed and useful include:

Plugin Description Documentation/source
ctx Switch between contexts in your kubeconfig https://github.com/ahmetb/kubectx
ns Switch between Kubernetes namespaces https://github.com/ahmetb/kubectx
get-all Like `kubectl get all` but _really_ everything https://github.com/corneliusweig/ketall
tail Stream logs from multiple pods and containers https://github.com/boz/kail
plugin description URL

(copied from https://krew.sigs.k8s.io/docs/user-guide/quickstart/)