Cómo crear contenedores init en Kubernetes

Cómo crear contenedores init en Kubernetes
Este tutorial le dará una visión general de los contenedores init en Kubernetes. Kubernetes funciona bien con contenedores, que es la razón por la que se ha convertido en la principal preferencia de los desarrolladores. Kubernetes le permite administrar todos los contenedores en un solo lugar con solo un panel de control. En este artículo, vamos a discutir qué contenedores se encuentran en Kubernetes y nos centraremos específicamente en contenedores init en Kubernetes. Con la ayuda de ejemplos, le mostraremos cómo puede crear fácilmente un contenedor init en Kubernetes.

¿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:

  • Ubuntu 20.04 o cualquier otra última versión
  • Herramienta de línea de comandos kubectl
  • Clúster de minikube

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

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

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

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

Aquí, 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-Myservice

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