Krew: En qué consiste y para qué sirve
Actualmente los entornos de contenedores, también llamados microservicios, tienen en Kubernetes su principal baluarte, sobre todo en lo que respecta a nivel empresarial. La herramienta de la que vamos a hablar hoy, llamada krew, busca facilitarnos la vida con la gestión de los complementos que funcionan con kubectl, la herramienta principal para trabajar con Kubernetes.
Simplificando, podemos decir que krew es un gestor que facilita el uso de complementos de kubectl. Esto es, nos ayuda a descubrir complementos, instalarlos y administrarlos. Es similar en su funcionamiento a herramientas de paquetería como apt, dnf o brew. Actualmente existen más de 200 complementos de kubectl disponibles desde krew.
Su instalación es bien sencilla, podemos encontrar las instrucciones para GNU/Linux y macOS desde su página web. Eso sí, debemos tener en cuenta que es compatible únicamente con versiones de kubectl 1.12 o superior, además de necesitar para su instalación git y shells como Bash o ZSH. A partir de aquí ya podemos disponer de los cientos de complementos que ofrece kubectl.
Trabajando con Krew
Una vez instalado, ya podemos empezar a trabajar. Lo primero que haremos es actualizar los datos de los complementos, para más tarde buscar el complemento que nos interese e instalarlo:
kubectl krew update
kubectl krew search
kubectl krew install nombre-de-complemento
Si nos interesa subir de versión un complemento ya en uso:
kubectl krew upgrade nombre-de-complemento
Y para eliminar complementos:
kubectl krew uninstall nombre-de-complemento
Y para listar los que ya tenemos instalados en el sistema:
kubectl krew list
Algunos ejemplos de complementos
Por ejemplo, el complemento «change-ns«, permite cambiar fácilmente de namespace:
kubectl change-ns nombre-de-namespace
Otro interesante es «view-secret«, podemos ver el valor de los secrets sin hace la decodificación de los hash en formato base64. De esta manera:
kubectl view-secret secret-name kubectl view-secret "secret-name" "key"
Por último, otro complemento interesante, similar al anterior, llamado «modify-secret«, que nos permite modificar los secretos, desde el editor vi.
kubectl modify-secret secret-name
Si nos interesa ver toda la lista de complementos, hemos de escribir lo siguiente:
kubectl get-all
Y esto es todo. Esta herramienta la iremos viendo en entradas que estoy preparando, en la que trabajaremos en un entorno con Kubernetes.
Fuentes consultadas y para saber más
Documentación de Krew (en inglés)
Web donde se comentan los plugins que he mencionado