¿Qué es un contenedor en Kubernetes??
Un contenedor es un paquete completo que contiene todo lo requerido para ejecutar una aplicación. Es una imagen de un paquete de software listo para ejecutar que permite que una aplicación realice su función deseada. Contiene código, bibliotecas de sistemas, valores de configuración predeterminados esenciales y cualquier otro requisito de tiempo de ejecución. Solo necesita codificar el contenedor una y después de eso, se puede ejecutar en cualquier lugar. Es independiente de la plataforma, por lo que no tendrá ningún problema al ejecutar sus aplicaciones en cualquier plataforma utilizando contenedores. Los contenedores pueden virtualizar el sistema operativo que le permite ejecutar sus aplicaciones desde cualquier lugar desde su plataforma o centro de datos privados o incluso hasta la nube pública.
¿Qué es un contenedor init en Kubernetes??
El contenedor init en Kubernetes es un método para ejecutar la rutina de inicialización de la primera ejecución en una vaina de Kubernetes. Es un contenedor especializado liviano que siempre se ejecuta antes de la aplicación o cualquier otro contenedor principal que se ejecute en una cápsula. Contiene el script de configuración y otras utilidades que generalmente no están presentes en la imagen de la aplicación. Por lo general, se define en la especificación POD junto con la matriz de contenedores. El uso básico de un contenedor init es arrancar a Appian con controladores JDBC o RDBMS que no están incluidos en la imagen de WebApp Docker. Se puede usar para retrasar o bloquear la aplicación u otros contenedores para comenzar cuando necesita esperar a que el script de arranque se complete o para que los recursos y dependencias estén disponibles.
Cómo crear un contenedor init en el entorno de Kubernetes?
A medida que se ejecutan varios contenedores de aplicaciones en la cápsula, más de un contenedor init también puede ejecutarse en una sola vaina. y todos completarán su ejecución antes de que cualquier contenedor de aplicaciones inicie su ejecución. Los contenedores init se ejecutan en una secuencia, cuando un contenedor init completa su ejecución, el siguiente inicia su ejecución y cuando todos los contenedores de inicio completan su ejecución, cualquier contenedor de aplicaciones inicia su ejecución.
Además, si la ejecución de cualquier contenedor init fallas, entonces Kubernetes reinicia repetidamente el contenedor hasta que completa su ejecución con éxito. Ahora, creemos un contenedor init en Kubernetes. Pero antes de eso, asegúrese de que su sistema satisfaga todas las necesidades básicas para crear un contenedor init. Para crear un contenedor init que debe tener:
Ahora, pasemos a la implementación.
Paso # 1: Comience el clúster de Minikube
Debe iniciar el clúster Minikube para usar el entorno Kubernetes para ejecutar los comandos Kubectl. Para iniciar el clúster de minikube, utilizaremos el siguiente comando:
> Minikube Start
Esto despertará el clúster de Minikube y le permitirá ejecutar los comandos Kubectl en el terminal.
Paso # 2: Crea el archivo de configuración YAML
Ahora, el proceso de crear un contenedor init ha comenzado. Lo primero y principal que necesita para crear el contenedor init es crear un archivo de configuración YAML. Puede usar el comando 'nano' para crear un nuevo archivo YAML o abrir un archivo YAML ya existente que contiene los detalles de configuración. El comando que se indica a continuación le permitirá crear un archivo YAML de su nombre elegido:
> nano podin.yamlUna vez que se ha creado el archivo YAML, puede guardar los detalles de configuración en él como el que se da en la instantánea a continuación:
Paso # 3: implementa el archivo YAML
Ahora que nuestro archivo de configuración está listo, implementémoslo utilizando el comando Kubectl Aplic. El siguiente comando le permitirá ejecutar el POD en el archivo de configuración que acabamos de crear:
> kubectl aplicar -f podin.yamlLa salida muestra claramente que se ha creado el POD llamado MyApp-POD.
Paso # 4: Verifique el estado de POD
Ahora, verifiquemos el estado de la cápsula con la ayuda del comando que se proporciona a continuación:
> kubectl get -f podin.yamlEsto simplemente muestra el nombre, listo, estado, reinicio y parámetros de edad de la cápsula. Si necesita observar el estado detallado de la cápsula, puede usar lo siguiente a continuación:
> kubectl describir -f podin.yamlAquí, puede ver el estado en deterioro, que le dice cuándo ha comenzado el POD, en qué dirección IP se ejecuta, en qué nodo se ejecuta, etc. dándole una imagen detallada del estado de la cápsula.
Paso # 5: Verifique los registros del contenedor init
Desde la salida dada en el paso anterior, puede ver que la cápsula que hemos creado está en funcionamiento. Ahora, si desea ver los registros del contenedor init que se está ejecutando en ese pod, puede usar el comando que se proporciona a continuación:
> Kubectl Logs MyApp-POD -C Init-MyserviceEl nombre del contenedor init es 'init-myservice' que mencionamos específicamente para verificar su registro. Ahora, cuando ejecute este comando, obtendrá una salida similar a la que se da a continuación:
Conclusión
En este artículo, aprendimos sobre el concepto básico de lo que son los contenedores mientras se centran específicamente en el contenedor init en Kubernetes. El contenedor init es un contenedor especializado liviano que se ejecuta antes de que se inicie cualquier otro contenedor en la cápsula. Sus funcionalidades a veces se superponen a las sondas de inicio y preparación. Estas sondas se pueden usar para realizar una actividad como bloquear o retrasar el inicio de la aplicación hasta que se haya cumplido una determinada condición. Al demostrar un ejemplo simple, aprendimos a crear un contenedor init en Kubernetes.