Crear un servicio sin cabeza de Kubernetes

Crear un servicio sin cabeza de Kubernetes
En este artículo, discutiremos cómo crear un servicio sin cabeza en Kubernetes. Si eres un principiante y quieres saber sobre los servicios sin cabeza en Kubernetes, entonces estás en el lugar correcto. Aquí, explicaremos cómo los usuarios configuran los servicios sin cabeza en diferentes aplicaciones de Kubernetes. Caminaremos por diferentes pasos para comprender el proceso de configuración de servicio sin cabeza en Kubernetes. En la sección a continuación, también explicamos los servicios sin cabeza en detalle y los requisitos del sistema que son imprescindibles para ejecutar todos los procesos que queremos aprender. Dejanos empezar.

¿Qué es un servicio sin cabeza en Kubernetes??

En Kubernetes, se crea un servicio sin cabeza sin el uso de una dirección IP de clúster. En algunos casos, no necesitamos una sola IP de servicio para el clúster, por lo que utilizamos el servicio sin cabeza de Kubernetes. En esta configuración sin cabeza, el servicio aún se puede utilizar para mantener la identidad de la red y DNS para una colección de vainas incluso cuando no se puede acceder a través del clúster IP. Principalmente usamos sin cabeza cuando se requirió acceso individual de POD sin el uso de un proxy. No podemos usar un equilibrador de carga aquí porque no podemos obtener direcciones IP. Este servicio a menudo se usa para aplicaciones con estado, como bases de datos, donde es crucial tener una identidad de red consistente para cada iteración.

Requisitos previos

El usuario debe tener la versión más reciente de Ubuntu instalada en su sistema y comprender qué comando se utiliza para iniciar todos los procesos. El usuario debe estar familiarizado con Kubernetes, clústeres, vainas y la línea de comandos Kubectl, así como tenerlos instalados en el sistema. Para los usuarios de Windows, Virtual Box o VMware proporciona la instalación del uso de otro sistema operativo al mismo tiempo. Para los usuarios de Windows, se debe instalar una caja virtual, y Ubuntu o Linux deben estar ejecutándose de manera eficiente. Después de instalar todos los paquetes como Kubernetes en la aplicación, instale un minikube en la aplicación y luego avanzamos hacia la descripción del servicio sin cabeza, que dividimos en diferentes pasos con ejemplos adecuados para su comprensión. Entonces, eche un vistazo a lo siguiente:

Paso 1: crear un archivo de configuración

Al principio, creamos un archivo de configuración en el que explicamos todo sobre los servicios sin cabeza en detalle. Entonces, ejecutamos el comando en el clúster local de Minikube para el archivo de configuración:

> nano deplomani.yaml

Cuando se ejecuta el comando mencionado anteriormente, el archivo de configuración se abre con el nombre "Deplomani.Yaml ". El archivo de configuración para el contenedor se creó correctamente, como podemos ver en la captura de pantalla adjunta.

Paso 2: implementa el archivo de configuración en Kubernetes

En este paso, aprenderemos cómo implementar el archivo de configuración definido en el paso anterior en Kubernetes. Ejecutamos el comando para la implementación de archivos de la siguiente manera:

> kubectl crea -f deplomani.yaml

La implementación se crea después de la ejecución de este comando. El contenedor, o pod, se crea con éxito aquí.

Paso 3: Crea Service Manifest en Kubernetes

En este paso, creamos un archivo para iniciar un servicio regular en Kubernetes. Entonces, ejecutamos el comando para crear un manifiesto para el servicio regular, que es:

> nano regsev. yaml

Ejecute el comando en el terminal y presione Entrar. Cuando se ejecuta el comando, el "regsev.El archivo YAML "se crea correctamente, como se muestra en la captura de pantalla a continuación. Aquí, el tipo de POD es el servicio, el nombre de la cápsula es de servicio regular y los puertos están vinculados con direcciones IP.

Paso 4: Implementación del manifiesto de servicio regular

En este paso, implementamos el servicio de servicio regular definido en Kubernetes. Entonces, ejecutamos el comando aquí para este propósito:

> kubectl create -f regsev.yaml

El servicio se implementa y se crea con éxito después de la ejecución de comandos.

Paso 5: Cree un servicio de servicio sin cabeza

En este paso, queremos crear un manifiesto de servicio en el que definamos los servicios sin cabeza. Entonces, ejecutamos el comando para crear un archivo YAML:

> Nano Headsv.yaml

Ingrese el comando en la línea de comando kubectl y presione Entrar. Cuando creamos un manifiesto para un servicio sin cabeza en Kubernetes, podemos especificar "ninguno" como la IP del clúster al definir el servicio en el archivo manifiesto.

Paso 6: Implementar el servicio sin cabeza

Este paso implica implementar este archivo YAML sin cabeza a Kubernetes. Entonces, ejecutamos el comando aquí:

> Kubectl Crear -f Headsv. yaml

Siguiendo la ejecución de comandos, el servicio sin cabeza del sistema "Headless SVC" se crea correctamente. Este comando crea un servicio sin una IP de clúster, pero sin embargo crea registros DNS para las cápsulas que se ajustan al selector para que podamos alcanzarlos por sus nombres DNS.

Paso 7: Agregar clúster temporal en Kubernetes

En este paso, ejecutamos el comando para crear algunos grupos temporales configurando su imagen en la aplicación.

> Kubectl Run Temporal --Image = Radial/BusyBoxplus: Curl -i --tty

Cuando ejecutamos el comando, la captura de pantalla adjunta anteriormente muestra grupos temporales que tienen sus propios espacios en la aplicación de Kubernetes.

Paso 8: Obtenga el servidor y la dirección IP del servicio sin cabeza

En este paso, queremos ver la dirección del servidor y la dirección IP del servicio sin cabeza en Kubernetes. Ejecutamos el comando que devuelve un valor como una dirección y lo sirve desde el servidor DNS. La herramienta de línea de comandos de búsqueda se utiliza para consultar los servidores DNS para obtener información.

> nslookup Headless-SVC

Este comando nos dio un servidor e IP, y la búsqueda nos devolvió un nombre de host de "SVC sin cabeza."Si el nombre de host no se resuelve, entonces DNS devuelve un mensaje de error.

Paso 9: Elimine todos los servicios en ejecución en Kubernetes

En este paso, terminamos todos los servicios en ejecución porque estos servicios involucran espacio y almacenamiento en aplicaciones Kubernetes. En primer lugar, eliminamos el servicio regular de Kubernetes ejecutando el comando:

> Servicio regular de Kubectl Delete SVC

Cuando ejecutamos este comando, el "servicio regular" se elimina con éxito.

Ahora, eliminamos el servicio sin cabeza del clúster Kubernetes. Ejecutamos el comando Eliminar ingresando el nombre del servicio sin cabeza "Headless-SVC" en la herramienta de línea de comandos Kubectl.

> Kubectl Delete SVC Headless-SVC

Este comando termina con éxito el servicio sin cabeza desde el clúster Kubernetes.

El siguiente paso es la eliminación de implementaciones después de la terminación de todos los servicios de Kubernetes Aplicaciones. Ejecutamos el comando para eliminar la implementación de la aplicación.

> aplicación de implementación de eliminación kubectl

Como resultado, la implementación de la aplicación se puede eliminar fácilmente utilizando un comando.

Por último, creamos una cápsula temporal en la sesión anterior. Aquí, también vemos la eliminación de estas vainas temporales de Kubernetes. Ejecutamos el comando para la eliminación:

> kubectl eliminar pod temporal

Los servicios y los pods de Kubernetes se eliminaron con éxito.

Conclusión

Los servicios sin cabeza son muy útiles para manejar los servicios en Kubernetes. Los servicios sin cabeza nos proporcionan clúster sin IP. También aprendimos cómo eliminamos los servicios de ejecución de Kubernetes cuando no hay necesidad de estos servicios. También puede practicar estos ejemplos en su aplicación.