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
Muchas gracias Epsilon, fue muy útil la guía, instalé el plugin konfig, que sirve para configurar un nuevo cluster. /* kubectl krew install konfig */, posteriormente se importa la configuración del cluster de la siguiente manera: /* kubectl konfig import –save new-cfg file_cluster.txt */, y con otra herramienta llamada kubie, se puede realizar el cambio entre clusters de manera sencilla –> kubie ctx
Saludos!