Tutoriales

Cómo utilizar HAProxy como controlador de ingreso en un entorno Kubernetes

Kubernetes es ideal para cualquiera que quiera automatizar la implementación, el escalado y la gestión de aplicaciones en contenedores. En un entorno de Kubernetes, los controladores de ingreso son fundamentales para administrar el acceso externo a cualquier servicio de clúster de Kubernetes. Un controlador de ingreso actúa como un espacio de ingreso para el tráfico externo, lo que le permite definir rutas y cómo desea controlar el tráfico a su servicio. Puede usar diferentes controles de ingreso, pero en este caso nos centraremos en HAProxy y lo usaremos para implementar las reglas que definimos en el recurso de ingreso.

¿Qué es un controlador de ingreso?

Un controlador de ingreso es un elemento que permite a los usuarios administrar y controlar el acceso a los servicios dentro de un clúster de Kubernetes. Un controlador de entrada tiene dos elementos clave:

  1. Recursos de ingreso – Es un objeto API de Kubernetes que define reglas para enrutar el tráfico de servicios en un clúster en función de nombres de host y rutas específicos.
  2. Controlador de ingreso – Es un componente de software, como HAProxy, Traefik o NGINX, que implementa las reglas especificadas en el recurso del portal. Configura el equilibrador de carga para manejar el tráfico en función de los cambios realizados en el objeto de entrada.

Cómo utilizar HAProxy como controlador de ingreso en un entorno Kubernetes

Después de comprender qué es un controlador de ingreso y por qué lo necesita, la siguiente tarea es describir los pasos para usarlo. En nuestro caso, seguimos los pasos proporcionados para configurar HAProxy como controlador de ingreso.

LEER  Las 5 principales plataformas de aprendizaje electrónico de código abierto para Linux

Aviso: Asegúrese de que su clúster de Kubernetes esté activo y ejecutándose. Luego, siga los pasos a continuación.

Paso 1: iniciar el clúster de Kubernetes
Hay muchas formas de configurar e iniciar un clúster de Kubernetes. En esta guía, utilizamos Minikube. Es una herramienta que proporciona una manera fácil de implementar Kubernetes dentro de una máquina virtual o Docker, especialmente si su máquina tiene Kubernetes de forma nativa.

Ver Archivos minikube Comandos de instalación para su plataforma. Para este ejemplo, implementamos una arquitectura Linux estable «x64» y ejecutamos los siguientes comandos:

$ rizo -LO https://almacenamiento.googleapis.com/Mini cubo/liberar/El más nuevo/minikube-linux-amd64
$ sudo Instalar minikube-linux-amd64 /usuario/Local/basura/Mini cubo

El primer comando obtiene los archivos binarios estables más recientes de Minikube, mientras que el segundo comando instala el archivo binario y lo mueve a la ruta especificada.

Después de instalar Minikube, ejecútelo para iniciar el clúster.

Luego, debes instalar kubectl para acceder al clúster. Sin embargo, puede utilizar la versión de kubectl proporcionada por Minikube. Por ejemplo, para verificar los detalles de un Pod en ejecución, ejecute el comando «kubectl» de la siguiente manera:

$ minikube kubectl conseguir vainas -A

De esta manera no es necesario instalar kubectl. (-) indica que estas instrucciones se aplican a kubectl, no a Minikube.

Paso 2: crea un espacio de nombres
El segundo paso implica establecer un espacio de nombres dedicado para el controlador de ingreso. Llamamos al espacio de nombres «haproxy-controller».

$ minikube kubectl crea el espacio de nombres haproxy-controller

Paso 3: construir e implementar el controlador de ingreso HAProxy
La forma de configurar su controlador de ingreso depende de lo que desee lograr. Por ejemplo, puede crear un controlador de ingreso HAProxy para enrutar el tráfico HTTP según el nombre de host requerido. En este caso, primero acceda a su servidor DNS y cree un registro «A» para asignar el nombre del host de destino a su clúster.

Después de obtener el registro «A» correcto, cree el archivo YAML del controlador de entrada como se muestra en la siguiente figura. En la primera parte, creamos un recurso de implementación utilizando la imagen del contenedor Docker «jmalloc/echo-server» como ejemplo.

En la segunda parte del archivo YAML, creamos el recurso de servicio que corresponde al nombre de host requerido en el controlador de ingreso creado en el paso 4.

Guarde el archivo y use kubectl para implementarlo en el clúster. Hacemos referencia a Minikube kubectl ejecutando el siguiente comando para nuestro caso. Nuestro controlador de ingreso HAProxy es «linuxhint-jmaildeployment.yaml».

$ minikube kubectl Aplicar -F <Nombre del archivo>

Una vez que obtenga el resultado que muestra que el servicio está establecido, puede verificar aún más que se haya implementado usando el siguiente comando:

$ minikube kubectl conseguir vainas –Espacios de nombres controlador haproxy

Asegúrese de utilizar el espacio de nombres correcto establecido en el paso 1.

Paso 4: crear e implementar recursos de Ingress
Cree otro archivo YAML que actúe como un recurso de entrada y contenga las reglas sobre cómo HAProxy debe enrutar el tráfico. Asegúrese de utilizar el nombre de dominio de destino correcto (host) y ajuste el nombre y los puertos requeridos para aceptar el tráfico entrante.

Guarde el archivo de recursos del portal HAProxy e impleméntelo tal como lo hicimos para el controlador.

$ minikube kubectl Aplicar -F <Nombre del archivo>

Llamamos al recurso de entrada «linuxhint-ingresscontroller.yaml».

¡Eso es todo! Con el siguiente comando, puede verificar que el controlador de ingreso HAProxy esté funcionando verificando el puerto asignado al NodePort.

$ minikube kubectl Obtenga el servicio haproxy-kubernetes-ingress –Espacios de nombres controlador haproxy

En este ejemplo, se le asigna el puerto 32448.

De esta manera, puede utilizar HAProxy como controlador de entrada en un entorno de Kubernetes.

en conclusión

Los controladores de entrada le permiten definir cómo se maneja el tráfico a un clúster en función de las reglas definidas en el perfil de recursos de entrada. HAProxy es un controlador de ingreso confiable que puede usar en un clúster de Kubernetes y este artículo explica los pasos que debe seguir al usarlo. Pruébelo y disfrute usando HAProxy como controlador de ingreso.

LEER  Útil para emplear los derechos de impresión de un adjudicatario en un objeto de directiva de peña (GPO)

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba