El comando Kubectl Exec facilita la gestión de tareas arbitrarias desde lejos dentro del contenedor existente de un pod. Cuando necesite inspeccionar el contenido, la condición y/o el entorno de un contenedor, esto facilita. Para todos los que interactúan con las aplicaciones contenedoras de Kubernetes regularmente, el comando kubectl exec es un salvavidas. Al ejecutar comandos dentro de nuestros contenedores, podemos analizar y depurar nuestras aplicaciones. Kubectl es una herramienta de línea de comandos para ejecutar los comandos de clúster de Kubernetes. Este artículo cubre la sintaxis de Kubectl, las acciones de comando y los ejemplos frecuentes. Para que su proceso funcione con éxito, es posible que deba configurar el entorno en su contenedor. En este caso, el método ideal es hacer que el contenedor comience con un script de shell. El objetivo principal de este script de shell es configurar el entorno e iniciar el proceso principal.
Si usa este método, el script de shell tendrá PID 1, no su proceso. Es por eso que tienes que usar el comando EXEC incorporado del script de shell para iniciar el proceso. El comando EXEC sustituye la aplicación deseada para el script. Entonces, el PID 1 se envía a su proceso. La guía explicará el uso del comando kubectl exec en detalle.
Requisitos previos
Debe tener el clúster de Minikube configurado en su sistema para ejecutar el comando EXEC con Kubectl. Para acceder a su sistema, también necesitará privilegios de sudo. Al implementar este artículo, hemos usado Ubuntu 20.04 LTS. Para la implementación, puede utilizar su sistema operativo preferido. Ya hemos instalado kubectl en nuestro sistema. Debe instalarlo antes de implementar esta guía.
Método para usar el comando kubectl exec
Para utilizar el comando exec con kubectl, primero debe instalar un clúster minikube. Tendremos que ejecutar el shell de la línea de comando en Ubuntu 20.04 LTS. Hay dos técnicas simples disponibles para lanzar la ventana del terminal. Una de esta manera es usar la barra de aplicación de su sistema operativo para acceder a ella. Otro enfoque es utilizar la combinación clave de acceso directo más simple de "Ctrl+Alt+T."El terminal de línea de comandos se abrirá tan pronto como use cualquiera de estas formas.
Primero, debe iniciar el clúster de Minikube que ya se ha instalado en su Ubuntu 20.04 Sistema operativo LTS. En la línea de comando, escriba el siguiente comando fijo para ejecutar minikube:
$ minikube comienzo
Para comenzar con Minikube, debes esperar unos momentos después de ejecutar este comando. También puede ver la versión de Minikube que se muestra después de que el comando se haya ejecutado correctamente. Usando el comando kubectl get pods, muestre los pods y elija uno para ejecutar con el comando EXEC:
$ kubectl consigue vainas
Estamos utilizando una cápsula de "shell-demo" para este propósito. Puede usar los parámetros -i y -t para el kubectl ejecutor para iniciar un shell vinculado a su terminal. Por ejemplo, use el siguiente comando fijo:
$ kubectl exec -it shell -demo -sh
Ahora estás listo para utilizar el caparazón. El siguiente comando puede ayudarlo a enumerar el directorio raíz:
# ls
La salida será similar a la que se muestra en la imagen. Puede actualizar el shell usando el siguiente comando:
# Actualización de apt-get
Dependiendo de su velocidad de Internet, la actualización se completará:
$ kubectl ex shell -demo -curl -s http: // 10.111.249.153
También necesitará conocer la IP de clúster de su servicio. Hemos agregado nuestro nombre de pod y servicio IP de servicio. Sin embargo, puede usar el nombre de la cápsula y el servicio de la ip de servicio deseados.
Conclusión
Kubernetes es un sistema complicado, pero a veces el enfoque más rápido y obvio para encontrar un problema es ejecutar comandos directamente en una cápsula en ejecución. Afortunadamente, la herramienta de línea de comandos de Kubernetes, Kubectl, tiene una función ejecutiva incorporada, particularmente para este propósito. Explicamos el uso del comando exec en detalle. Después de leer esta guía, le garantizo que no tendrá dudas sobre el comando kubectl exec.