Cómo habilitar el autocompletado automático de Kubectl en Linux

Published:

En el mundo de la orquestación de contenedores, Kubernetes es el rey indiscutible. Su herramienta de línea de comandos, kubectl, se asemeja a una poderosa varita mágica en manos de los profesionales de la administración de contenedores. Sin embargo, esta varita mágica, a pesar de su potencia, a veces puede resultar abrumadora debido a la amplia gama de comandos y opciones que ofrece. Incluso los expertos en Kubernetes pueden encontrar dificultades para recordar todas las opciones y sus combinaciones.

La buena noticia es que hay una solución para hacer que kubectl sea más intuitivo y eficiente: la capacidad de autocompletar automáticamente las opciones, al igual que lo hacemos con otros comandos en Linux. ¿Te gustaría acelerar tus tareas de Kubernetes con la función de autocompletar de kubectl? ¡Entonces, sigue leyendo para descubrir cómo hacerlo!

Habilitando de autocompletado Automático de kubectl en bash y zsh

Lo primero que debes hacer es asegurarte de que tu sistema Linux tenga instalado el paquete «bash-completion». En la mayoría de las distribuciones, este paquete ya viene instalado de forma predeterminada. Sin embargo, si no lo tienes, puedes agregarlo fácilmente según el administrador de paquetes que utilices, ya sea APT, DNF, Pacman, u otros.

sudo apt install bash-completion

Para Bash

Ahora, pasemos a la parte divertida. El comando kubectl tiene una funcionalidad incorporada que te permite generar código de finalización de shell para un shell específico, ya sea Bash o Zsh. Dado que Bash es el más utilizado y suele estar presente en la mayoría de las distribuciones de Linux por defecto, lo utilizaremos.

Para habilitar la autocompletación en Bash, abre tu terminal, navega hasta tu directorio de inicio si no estás allí, y ejecuta el siguiente comando:

kubectl completion bash > .kubectl_completion_bash

Este comando creará un archivo llamado «.kubectl_completion_bash» en tu directorio de inicio. Este archivo contiene toda la información necesaria para habilitar la función de autocompletado para el comando kubectl.

El siguiente paso consiste en indicarle a tu sistema que utilice este archivo. Para hacerlo, abre el archivo «.bashrc» con tu editor de texto de terminal preferido:

nano ~/.bashrc

Luego, desplázate hasta el final del archivo y agrega la siguiente línea:

source ~/.kubectl_completion_bash
Guarda el archivo y ciérralo. Finalmente, para habilitar el autocompletado de kubectl de inmediato en la sesión de tu shell actual, ejecuta el siguiente comando:
source ~/.bashrc

Para ZSH

Creamos un directorio y llevamos todo a plugins.

mkdir -p ~/.oh-my-zsh/custom/plugins/kubectl-autocomplete/
kubectl completion zsh > ~/.oh-my-zsh/custom/plugins/kubectl-autocomplete/kubectl-autocomplete.plugin.zsh

Ahora editamos

nano ~/.zshrc

Y colocamos en la parte de plugins

plugins=(kubectl-autocomplete)

Y recargamos la sesión actual

source ~/.zshrc

USO

Para usarlo en mi caso tengo un alias que es k, en vez de kubectl, hago g y le doy tab para que complete, o nam y tab para que complete namespace.

kubectl g[TAB]
k get nam[TAB]

Conclusión

Habilitar la autocompletación para kubectl en Linux no es solo una cuestión de comodidad; es una mejora que puede optimizar significativamente tus operaciones en Kubernetes. Al integrar esta característica, no solo reducirás el riesgo de errores de comando, sino que también disfrutarás de una experiencia de línea de comandos de Kubernetes más eficiente y agradable.

Si deseas obtener información detallada sobre la herramienta de línea de comandos kubectl y todas las opciones que ofrece, te recomendamos consultar su documentación oficial. Esta mejora hará que tu experiencia de administración de contenedores en Kubernetes sea mucho más fluida y productiva.

- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles