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
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.