Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Migre los controladores de entrada NGINX al habilitar el modo automático Amazon EKS
Olawale Olaleye y Shamanth Devagari, Amazon Web Services
Resumen
El modo automático de EKS para Amazon Elastic Kubernetes Service (Amazon EKS) puede reducir la sobrecarga operativa de la ejecución de las cargas de trabajo en los clústeres de Kubernetes. Este modo también le permite AWS configurar y administrar la infraestructura en su nombre. Al activar el modo automático EKS en un clúster existente, debe planificar cuidadosamente la migración de las configuraciones del controlador de entrada NGINX
Puede utilizar una estrategia de blue/green despliegue para migrar una instancia de NGINX Ingress Controller al habilitar el modo automático de EKS en un clúster de Amazon EKS existente.
Requisitos previos y limitaciones
Requisitos previos
Un activo Cuenta de AWS
Un clúster de Amazon EKS que ejecute la versión 1.29 o posterior de Kubernetes
Complementos de Amazon EKS que ejecutan versiones mínimas
Última versión de kubectl
Una instancia de NGINX Ingress Controller
existente (Opcional) Una zona alojada en Amazon Route 53 para el cambio de tráfico basado en DNS
Arquitectura
Una implementación azul/verde es una estrategia de implementación en la que se crean dos entornos separados pero idénticos. Blue/green las implementaciones ofrecen capacidades de liberación y reversión prácticamente nulas durante el tiempo de inactividad. La idea fundamental es transferir el tráfico entre dos entornos idénticos que ejecutan versiones diferentes de la aplicación.
La siguiente imagen muestra la migración de los balanceadores de carga de red desde dos instancias diferentes del controlador de entrada NGINX al habilitar el modo automático EKS. Se utiliza una blue/green implementación para transferir el tráfico entre los dos balanceadores de carga de red.

El espacio de nombres original es el espacio de nombres azul. Aquí es donde se ejecutan el servicio y la instancia originales del controlador de entrada de NGINX, antes de activar el modo automático EKS. El servicio y la instancia originales se conectan a un Network Load Balancer que tiene un nombre DNS configurado en Route 53. El AWS Load Balancer Controller
El diagrama muestra el siguiente flujo de trabajo para configurar un entorno para una implementación: blue/green
Instale y configure otra instancia del controlador de entrada de NGINX en un espacio de nombres diferente, un espacio de nombres verde.
En Route 53, configure un nombre DNS para un nuevo Network Load Balancer.
Herramientas
Servicios de AWS
Amazon Elastic Kubernetes Service (Amazon EKS) le ayuda a ejecutar AWS Kubernetes sin necesidad de instalar o mantener su propio plano de control o nodos de Kubernetes.
Elastic Load Balancing permite distribuir el tráfico entrante de las aplicaciones o de la red entre varios destinos. Por ejemplo, puede distribuir el tráfico entre instancias, contenedores y direcciones IP de Amazon Elastic Compute Cloud (Amazon EC2) en una o más zonas de disponibilidad.
Amazon Route 53 es un servicio web de sistema de nombres de dominio (DNS) escalable y de alta disponibilidad.
Amazon Virtual Private Cloud (Amazon VPC) le ayuda a lanzar AWS recursos en una red virtual que haya definido. Esa red virtual es similar a la red tradicional que utiliza en su propio centro de datos, con los beneficios de usar la infraestructura escalable de AWS.
Otras herramientas
Helm
es un administrador de paquetes de código abierto para Kubernetes que le ayuda a instalar y administrar aplicaciones en su clúster de Kubernetes. kubectl
: una interfaz de la línea de comandos que le ayuda en la ejecución de comandos en clústeres de Kubernetes. El controlador NGINX Ingress
conecta las aplicaciones y los servicios de Kubernetes con la gestión de solicitudes, la autenticación, los recursos personalizados de autoservicio y la depuración.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Confirme que la instancia original del controlador de ingreso de NGINX esté operativa. | Ingresa el siguiente comando para verificar que los recursos del espacio de
En el resultado, confirme que los pods del controlador de entrada NGINX estén en estado de ejecución. El siguiente es un ejemplo de output:
| DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree los recursos de Kubernetes. | Introduce los siguientes comandos para crear un ejemplo de despliegue, servicio e ingreso de Kubernetes:
| DevOps ingeniero |
Revise los recursos desplegados. | Introduzca el siguiente comando para ver una lista de los recursos desplegados:
En el resultado, confirme que el HTTPd pod de muestra está en ejecución. El siguiente es un ejemplo de output:
| DevOps ingeniero |
Confirme que el servicio esté disponible. | Ingresa el siguiente comando para confirmar que se puede acceder al servicio a través del nombre DNS del Network Load Balancer:
El resultado esperado es el siguiente:
| DevOps ingeniero |
(Opcional) Cree un registro DNS. |
| DevOps ingeniero, AWS DevOps |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Habilite el modo automático EKS. | Siga las instrucciones de Habilitar el modo automático de EKS en un clúster existente (documentación de Amazon EKS). | AWS DevOps |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Configure una nueva instancia del controlador de entrada de NGINX. |
| DevOps ingeniero |
Implemente la nueva instancia del controlador de instancias de NGINX. | Ingresa el siguiente comando para aplicar el archivo de manifiesto modificado:
| DevOps ingeniero |
Confirme que el despliegue se realizó correctamente. | Introduzca el siguiente comando para comprobar que los recursos del espacio de
En el resultado, confirme que los pods del controlador de entrada NGINX estén en ejecución. El siguiente es un ejemplo de output:
| DevOps ingeniero |
Cree una nueva entrada para la HTTPd carga de trabajo de muestra. | Introduzca el siguiente comando para crear una nueva entrada para la carga de trabajo de muestra HTTPd existente:
| DevOps ingeniero |
Confirme que la nueva entrada funciona. | Introduzca el siguiente comando para confirmar que la nueva entrada funciona:
El resultado esperado es el siguiente:
| DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Dirígete al nuevo espacio de nombres. |
| AWS DevOps, DevOps ingeniero |
Revise las dos entradas. | Introduzca el siguiente comando para revisar las dos entradas que se crearon para la carga de trabajo de muestra HTTPd :
El siguiente es un ejemplo de output:
| DevOps ingeniero |
Recursos relacionados
Habilitar el modo automático de EKS en un clúster existente (documentación de Amazon EKS)
Solucione los problemas de los balanceadores de carga creados por el controlador de servicios de Kubernetes en Amazon EKS
(re:POST Knowledge Center)AWS