Krew: Un administrador de plugins para Kubectl

En esta ocasión quiero compartir una herramienta muy útil que conocí hace poco  y que muy seguramente les va a gustar a todos aquellos que trabajen a diario con Kubernetes. Se trata de Krew un administrador de plugins para kubectl.

Con Krew podemos extender muchas funcionalidades de kubectl a traves de mas de 170 plugins,  haciendo el trabajo diario con kubernetes mucho mas sencillo y  agil. Inicialmente debemos instalar krew, para esto debemos seguir las indicaciones que muestra su pagina oficial, en este caso  para los entornos GNU/Linux, se instala de la siguiente manera:

(
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/')" &&
KREW="krew-${OS}_${ARCH}" &&
curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
tar zxvf "${KREW}.tar.gz" &&
./"${KREW}" install krew
)


Posteriormente lo que debemos hacer es agregar el directorio $HOME/.krew/bin a la variable de entorno PATH, Para esto puedes añadir la siguiente linea en tu bashrc.

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

Con esto tendrás listo krew y podrás empezar a instalar y usar los plugins.

Comandos de Krew

Teniendo nuestro gestor de plugins para kubectl instalado, podemos usar los comandos bastante intuitivos:

kubectl krew update
kubectl krew search
kubectl krew install plugin-name

Algunos buenos plugins para kubectl

Como se dijo inicialmente, krew tiene mas de 170 plugins para kubectl, sin embargo personalmente he podido probar 3 de ellos, los cuales son:

kubectl change-ns

Con este plugin podemos muy facilmente cambiarnos de namespaces:

kubectl change-ns nombre-ns

kubectl view-secret

Con este plugin podemos muy facilmente ver el valor de los secrets directamente sin tener que hacer el decode del hash en bas64, ya que se vuelve un poco tedioso hacerlo cada que quieras conocer el valor de una variable. Su uso es de la siguiente manera:

kubectl view-secret secret-name
kubectl view-secret <secret-name> <key>

kubectl modify-secret

Este plugin es muy similar al anterior, la ventaja de este ultimo es que nos abre un vi con el contenido del secret para editarlo directamente. Su uso:

kubectl modify-secret secret-name

Y tu cual plugin te animas a probar? muy seguramente encontraras alguno que te ayude a mejorar tu productividad en el trabajo del dia a dia con kubernetes.

Nota: Cabe aclarar que krew solamente es compatible con kubectl >= 1.12

Comparte!
Etiquetas:, ,

Añadir un comentario

Tu dirección de correo electrónico no será publicada.