En este artículo, discutimos sobre Ingress y cómo configuramos Ingress en Kubernetes. Si eres nuevo en este lugar y quieres aprender sobre el concepto de entrada en Kubernetes, estás en el lugar correcto. Revise nuestro contenido anterior relacionado con Kubernetes para una mejor comprensión. Ingress es un objeto que nos permite acceso a los servicios de Kubernetes desde el lado exterior del clúster Kubernetes. Explicaremos todos los puntos relacionados con la entrada en detalle con la ayuda de ejemplos o capturas de pantalla de contenido, respectivamente, a medida que dividimos el proceso en diferentes pasos para explicar la configuración de ingreso o la configuración en Kubernetes.
¿Qué es la entrada en Kubernetes??
Como un conjunto de pautas sobre cómo el tráfico entrante debe enviarse a los servicios dentro de un clúster, la función de entrada de Kubernetes se implementa como un recurso de entrada. Un recurso de entrada tiene típicamente uno o más controladores de entrada conectados a él. Estos controladores están a cargo de llevar a cabo las reglas que se especifican en el recurso. Ingress es un recurso de Kubernetes que nos permite configurar un equilibrador de carga para nuestra aplicación.
¿Por qué usamos ingreso en Kubernetes??
En esta sesión, discutimos el uso de la entrada en Kubernetes. El tráfico de Internet se puede enviar a uno o más servicios en su clúster utilizando Ingress. Los múltiples servicios que están expuestos utilizando la misma dirección IP externa también se pueden dar con un acceso externo que lo usa. Al ofrecer diferentes servicios que son un componente de una aplicación más grande o diferentes iteraciones del mismo servicio, esto puede ser útil. Como resultado, debido a que la entrada se construye como un recurso de Kubernetes, se puede manejar de manera similar a otros recursos en el clúster. Esto incluye la capacidad de construir, editar y eliminar los recursos de entrada utilizando la API de Kubernetes, así como la capacidad de usar los archivos de configuración para indicar el estado de entrada previsto.
Prerrequisitos:
La última versión de Ubuntu debe instalarse en su sistema. Para ejecutar los sistemas Linux o Ubuntu en Windows, el usuario debe instalar la caja virtual. Los usuarios deben tener un sistema operativo de 64 bits. Los usuarios deben tener una idea de los grupos de Kubernetes y el concepto de línea de comandos de Kubectl.
Aquí, comenzamos nuestro proceso que dividimos en diferentes pasos para su mejor comprensión y ser más concisión para aumentar la legibilidad. Explore sobre Ingress en la próxima sesión de este artículo.
Paso 1: Inicie el clúster de Kubernetes en su máquina local
En este paso, ejecutamos el comando para iniciar el clúster Kubernetes en nuestro sistema después de instalar Windows. Primero ejecutamos el minikube en Kubernetes. El comando es el siguiente:
> Minikube Start
Tras la ejecución de comando, el minikube Kubernetes se agrupa con éxito en el sistema, localmente. En este clúster, realizamos la función de entrada en el siguiente paso.
Paso 2: Instale el archivo YAML del controlador de entrada NGNIX en Kubernetes
En este paso, aprenderemos la forma en que instalamos el controlador NGNIX en Kubernetes. Creamos los archivos para la implementación y el servicio en nuestra aplicación Kubernetes. La implementación confirma que hay varias réplicas de nuestra aplicación y servicio que siempre nos proporcionan un punto final de red estable y confiable para nuestra aplicación. Ejecutamos el siguiente comando para la implementación del controlador de entrada nginx en el clúster:
> kubectl aplicar -f hhpts: // raw.githubusercontent.com/kubernetes/ingress -ngnix/controlador -v0.44.0/implement/static/proveedor/nube/implement.yaml
Cuando se ejecuta el comando, la salida que aparece se adjunta como una captura de pantalla. Aquí, podemos ver que el espacio de nombres es Ingress-Ngnix y la cuenta de servicio está creada y configurada. Después de eso, el ConfigMap como Ingress-Ngnix-Controller también está configurado. Junto con esto, el rol de clúster, la vinculación del rol de clúster y las más funciones se configuran con éxito en nuestros kubernetes con el controlador de ingreso.
Paso 3: Crear recursos de entrada en Kubernetes
En este paso, creamos los nuevos recursos para la entrada en Kubernetes. Creamos un archivo YAML para recursos de ingreso en Kubernetes. Ejecute el comando en el terminal Kubectl:
> kubectl aplicar -f https: // raw.githubusercontent.com/kubernetes/ingress-nginx/controlador-v0.44.0/implement/static/proveedor/nube/implement.yaml
Cuando se ejecuta el comando, la salida del comando se muestra como la captura de pantalla anterior en Kubernetes. Lea la salida cuidadosamente. Aquí, creamos el recurso de ingreso y comenzamos un servicio a través del cual implementamos la entrada Nginx en un clúster de Kubernetes.
Paso 4: Configure un equilibrador de carga en Kubernetes
En este paso, veremos la configuración del equilibrador de carga en Kubernetes. Implementamos los recursos de entrada utilizando un equilibrador de carga como un NGNIX. Configuramos el equilibrador de carga en Kubernetes para el enrutamiento de tráfico. Aquí, ejecutamos el siguiente comando:
> kubectl aplicar -f https: // raw.githubusercontent.com/kubernetes/ingress-ngnix/controlador-v0.44.0/implement/static/proveedor/baremetal/implement.yaml
Tras la ejecución del comando, creamos un archivo YAML e implementamos los recursos de ingreso en Kubernetes con la ayuda de un equilibrador de carga.
Paso 5: Alistar las vainas en Kubernetes
En este paso, obtendremos la lista de vainas que se ejecutan actualmente en nuestra aplicación Kubernetes. Verificaremos las vainas de ingreso en Kubernetes. Ejecute el comando en kubectl:
kalsoom@kalsoom -virtualbox> kubectl get pods - - todos - espacios de nombres -l aplicación. Kubernetes. io /name = ingress-ngnix
La lista de pod en ejecución se muestra en la imagen anterior como una salida después de la ejecución del comando. Vemos todas esas cápsulas cuyo espacio de nombres es Ingress-Ngnix en nuestra lista. Los nombres de estas cápsulas también se incluyen en la lista. Todas estas cápsulas están terminadas y permanecen en su estado original.
Paso 6: Alistar los servicios en ejecución en Kubernetes
En este paso, aprenderemos cómo obtener o conocer los servicios en ejecución en Kubernetes. Ejecutamos el comando aquí para obtener servicios de Kubernetes. Ejecute el siguiente comando:
> Kubectl Get Services Ingress-Ngnix-Controller--Namespace = Ingress-Nignix
En la ejecución de comando, se muestra la lista de servicios en ejecución relacionados con el controlador de entrada Nginx. En la captura de pantalla previamente atacada, se muestran el nombre, el tipo, el clúster-IP, el IP externo, los puertos y la edad de los servicios.
Conclusión
Notamos que Ingress Nginx se usa en instancias de Kubernetes que involucran un solo nodo. A través del proceso, verificamos el enrutamiento de tráfico del clúster. Aquí, verificamos la entrada accediendo a la aplicación desde fuera del clúster utilizando la dirección IP externa del equilibrador de carga. Describimos cada paso de la configuración de entrada en Kubernetes muy claramente. Con suerte, este artículo y sus ejemplos son útiles para las aplicaciones Kubernetes.