As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Migração dos NGINX Ingress Controllers ao habilitar o Modo Automático do Amazon EKS
Olawale Olaleye e Shamanth Devagari, Amazon Web Services
Resumo
O Modo Automático do EKS para o Amazon Elastic Kubernetes Service (Amazon EKS) pode reduzir a sobrecarga operacional de executar as workloads em clusters do Kubernetes. Esse modo também AWS permite configurar e gerenciar a infraestrutura em seu nome. Ao habilitar o Modo Automático do EKS em um cluster existente, é necessário planejar cuidadosamente a migração das configurações do NGINX Ingress Controller
Você pode usar uma estratégia de blue/green implantação para migrar uma instância do NGINX Ingress Controller ao habilitar o EKS Auto Mode em um cluster Amazon EKS existente.
Pré-requisitos e limitações
Pré-requisitos
Um ativo Conta da AWS
Um cluster do Amazon EKS que executa a versão 1.29 ou versões posteriores do Kubernetes
Versões mínimas requeridas para os complementos do Amazon EKS
Versão mais recente do kubectl
Uma instância existente do NGINX Ingress Controller
(Opcional) Uma zona hospedada no Amazon Route 53 para redirecionamento de tráfego baseado em DNS
Arquitetura
Uma implantação azul/verde é uma estratégia de implantação na qual você cria dois ambientes separados, mas idênticos. Blue/green as implantações fornecem recursos de liberação e reversão com tempo de inatividade quase zero. A ideia fundamental consiste em alternar o tráfego entre dois ambientes idênticos que estão executando versões diferentes da aplicação.
A imagem apresentada a seguir ilustra a migração de Network Load Balancers de duas instâncias diferentes do NGINX Ingress Controller ao habilitar o Modo Automático do EKS. Você usa uma blue/green implantação para transferir o tráfego entre os dois balanceadores de carga de rede.

O namespace de origem é o namespace azul. Este é o local em que o serviço e a instância originais do NGINX Ingress Controller são executados, antes de você habilitar o Modo Automático do EKS. O serviço e a instância originais estabelecem conexão com um Network Load Balancer que tem um nome de DNS configurado no Route 53. O AWS Load Balancer Controller
O diagrama mostra o seguinte fluxo de trabalho para configurar um ambiente para uma blue/green implantação:
Instale e configure outra instância do NGINX Ingress Controller em um namespace diferente, o namespace verde.
No Route 53, configure um nome de DNS para um novo Network Load Balancer.
Ferramentas
Serviços da AWS
O Amazon Elastic Kubernetes Service (Amazon EKS) ajuda você a executar o AWS Kubernetes sem precisar instalar ou manter seu próprio plano de controle ou nós do Kubernetes.
O Elastic Load Balancing (ELB) distribui o tráfego de entrada de aplicativos ou de rede em vários destinos. Por exemplo, você pode distribuir o tráfego entre instâncias, contêineres e endereços IP do Amazon Elastic Compute Cloud (Amazon EC2) em uma ou mais zonas de disponibilidade.
O Amazon Route 53 é um serviço web de DNS altamente disponível e escalável.
A Amazon Virtual Private Cloud (Amazon VPC) ajuda você a lançar AWS recursos em uma rede virtual que você definiu. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS.
Outras ferramentas
O Helm
é um gerenciador de pacotes de código aberto para o Kubernetes que auxilia na instalação e no gerenciamento de aplicações no cluster do Kubernetes. kubectl
é uma interface de linha de comando que ajuda você na execução de comandos em clusters do Kubernetes. O NGINX Ingress Controller
conecta aplicações e serviços do Kubernetes, fornecendo gerenciamento de solicitações, autenticação, recursos personalizados de autoatendimento e depuração.
Épicos
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Confirme que a instância original do NGINX Ingress Controller está operacional. | Digite o comando apresentado a seguir para verificar se os recursos no namespace
Na saída do comando, certifique-se de que os pods do NGINX Ingress Controller estão no estado de execução. Veja a seguir um exemplo de saída:
| DevOps engenheiro |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Crie os recursos do Kubernetes. | Digite os seguintes comandos para criar uma implantação, um serviço e uma entrada de amostra do Kubernetes:
| DevOps engenheiro |
Analise os recursos implantados. | Digite o seguinte comando para visualizar uma lista dos recursos implantados:
Na saída, confirme se o HTTPd pod de amostra está em execução. Veja a seguir um exemplo de saída:
| DevOps engenheiro |
Confirme se o serviço está disponível. | Digite o seguinte comando para confirmar que o serviço está disponível por meio do nome de DNS do Network Load Balancer:
A saída esperada é a seguinte:
| DevOps engenheiro |
(Opcional) Crie um registro de DNS. |
| DevOps engenheiro, AWS DevOps |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Habilite o Modo Automático do EKS. | Siga as instruções apresentadas em Habilitar o Modo Automático do EKS em um cluster existente (documentação do Amazon EKS). | AWS DevOps |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Configure uma nova instância do NGINX Ingress Controller. |
| DevOps engenheiro |
Realize a implantação da nova instância do NGINX Ingress Controller. | Digite o seguinte comando para aplicar o arquivo de manifesto modificado:
| DevOps engenheiro |
Confirme se a implantação teve êxito. | Digite o seguinte comando para verificar se os recursos no namespace
Na saída do comando, certifique-se de que os pods do NGINX Ingress Controller estão em um estado de execução. Veja a seguir um exemplo de saída:
| DevOps engenheiro |
Crie uma nova entrada para a carga de HTTPd trabalho de amostra. | Insira o comando a seguir para criar uma nova entrada para a carga de HTTPd trabalho de amostra existente:
| DevOps engenheiro |
Confirme se a nova entrada está funcionando. | Digite o seguinte comando para confirmar se a nova entrada está funcionando:
A saída esperada é a seguinte:
| DevOps engenheiro |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Realize a substituição para o novo namespace. |
| AWS DevOps, DevOps engenheiro |
Analise as duas entradas. | Insira o comando a seguir para analisar as duas entradas que foram criadas para a carga de HTTPd trabalho de amostra:
Veja a seguir um exemplo de saída:
| DevOps engenheiro |
Recursos relacionados
Habilitar o Modo Automático do EKS em um cluster existente (documentação do Amazon EKS)
Solucione problemas com balanceadores de carga criados pelo controlador de serviço Kubernetes no Amazon EKS
(re:POST Knowledge Center)AWS NGINX Ingress Controller
(documentação do NGINX)