¿Cuáles son los diferentes tipos de servicios en Kubernetes??

¿Cuáles son los diferentes tipos de servicios en Kubernetes??
Un servicio en Kubernetes es una abstracción que describe una colección de vainas conceptuales en la que se ejecuta una aplicación y una política de acceso para este tipo de pods. Si una cápsula tiene que conectarse con algún otro pod, primero debe determinar su dirección IP. Los servicios de Kubernetes también proporcionan una forma de encontrar ciertos vainas. Las direcciones IP POD son abstractas en el modelo de red Kubernetes; Si una cápsula se rompe o se destruye, una nueva cápsula seguramente obtendrá una nueva dirección IP. Un servicio en Kubernetes a menudo otorga acceso a la red a una vaina o grupo de vainas. Los servicios elegirán las cápsulas dependiendo de sus nombres, y cuando la demanda de la red se envíe a dichos servicios, identificará todos los pods en el clúster que se ajustan a la etiqueta del servicio, elija una de ellas y luego le enviará la solicitud de la red.

Categorías de servicios de Kubernetes

Los servicios de Kubernetes se dividen en cuatro categorías básicas:

Clúster
En Kubernetes, el servicio de clúster es de hecho la forma estándar de servicio. Proporciona un servicio dentro del clúster Kubernetes que otras aplicaciones de Kubernetes pueden administrar sin proporcionar acceso desde el exterior. Es una dirección IP que el clúster Kubernetes y todos sus servicios pueden usar internamente. A diferencia de la dirección IP del POD, la dirección IP utilizada en el clúster no se puede acceder más allá del clúster.

Nodo
Cada nodo en su clúster tiene un puerto abierto llamado nodeport. Incluso si su aplicación se ejecuta en un nodo diferente, Kubernetes enruta directamente el tráfico desde el nodeport al servicio. Cada clúster de Kubernetes acepta Nodeport, pero debe modificar sus firewalls si está utilizando un proveedor de servicios en la nube como Google Cloud.

Quilancista
Un LoadBalancer es una forma popular de introducir un servicio de Kubernetes al mundo exterior a través de Internet. LoadBalancer se puede usar de manera similar a Clusterip y Nodeport.El clúster se acercará al proveedor de la nube y construirá un equilibrador de carga si selecciona LoadBalancer como la categoría de servicio. El tráfico se redirigirá a las cápsulas de backend cuando llegue a este equilibrador de carga. Los detalles de este método están determinados por cómo cada proveedor de equilibrio de carga implementa su tecnología.

Nombre externo
Dado que los servicios de nombre externo no tienen selectores ni puertos fijos o puntos finales, pueden redirigir el tráfico a un servicio externo. Este formulario asocia el servicio con los elementos del campo de nombre externo. Completa esto devolviendo el valor de registro de un CNAME.

Crear una implementación junto con el servicio

Una implementación de Kubernetes monitorea la salud del Pod y, si es necesario, restablezca el contenedor del POD. Las implementaciones son el método para administrar la formación y escala de la POD. Entonces, para administrar una cápsula, vamos a crear una implementación. Para este propósito, abramos la terminal de su Ubuntu 20.04 Sistema operativo LTS. Puede usar el área de aplicación o la tecla de acceso directo para este propósito. Asegúrese de tener Minikube instalado en su sistema.

Ejecutar el comando estado a continuación para iniciar minikube.

$ minikube comienzo

En la salida de este comando, verá la versión de Minikube. Después de este comando, debes abrir el tablero de minikube con la ayuda de este comando a continuación.

$ Minikube Panel

Ahora todos estamos listos para crear una implementación utilizando el comando Crear. Tienes que escribir el comando a continuación como se muestra en el terminal.

Puede ver que se ha creado el nodo Hello. Si desea ver las implementaciones, puede hacerlo fácilmente ejecutando el comando citado.

$ kubectl obtener implementaciones

En la salida, puede ver la información básica relacionada con una implementación ya creada. Puede ver el POD mediante la ejecución de este comando:

$ kubectl consigue vainas

En la salida a continuación, puede ver fácilmente toda la información relevante relacionada con las vainas enumeradas. Si desea enumerar los eventos de clúster, puede usar el siguiente comando básico para este propósito.

$ kubectl obtener eventos

Ahora, puede ver la configuración de Kubectl utilizando el comando declarado a continuación:

Vista de configuración de $ kubectl

Dentro del clúster de Kubernetes, la cápsula solo estaría disponible por su dirección IP interna. Sería mejor exponer el contenedor de nodo Hello como un servicio Kubernetes para que esté disponible hacia afuera de la red virtual de Kubernetes. Ahora vamos a exponer el POD usando el comando que se encuentra a continuación. Además, puede ver que -Type = LoadBalancer que expondrá el servicio relacionado fuera del clúster.

Ahora es el momento de ver el servicio creado. Entonces, para este propósito, puede utilizar el comando a continuación. La salida será similar a la que se muestra en la imagen adjunta.

$ kubectl obtener servicios

Para ver la información del servicio del nodo Hello, puede usar el siguiente comando mostrado junto con la palabra clave de Minikube.

$ Minikube Service Hello Nodo

Puede ver que la URL del nodo también se muestra en la captura de pantalla adjunta junto con el puerto de destino. Afortunadamente, el servicio estará abierto en el navegador de su sistema operativo. Puede verificar que la información del servicio se muestre en el navegador de su sistema.

Conclusión

En esta guía, hemos elaborado el concepto de servicios en Kubernetes junto con sus diferentes categorías. Además, hemos explicado un ejemplo básico para la creación de implementación junto con el servicio relevante. Al leer e implementar esta guía anterior, espero que pueda comprender fácilmente el concepto de los servicios de Kubernetes y su creación.