Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Implantação de uma workload de amostra do balanceador de carga no modo automático do EKS

Modo de foco
Implantação de uma workload de amostra do balanceador de carga no modo automático do EKS - Amazon EKS

Ajudar a melhorar esta página

Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.

Ajudar a melhorar esta página

Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.

Este guia orienta você na implantação de uma versão em contêiner do jogo 2048 no Amazon EKS, completa com balanceamento de carga e acessibilidade à internet.

Pré-requisitos

  • Um cluster do Modo Automático do EKS

  • kubectl configurado para interagir com o cluster

  • Permissões do IAM apropriadas para criar recursos do ALB

Etapa 1: criar o namespace

Primeiro, crie um namespace dedicado para a aplicação do jogo 2048.

Crie um arquivo chamado 01-namespace.yaml:

apiVersion: v1 kind: Namespace metadata: name: game-2048

Aplique a configuração do namespace:

kubectl apply -f 01-namespace.yaml

Etapa 2: implantar uma aplicação

A aplicação executa várias réplicas do contêiner do jogo 2048.

Crie um arquivo chamado 02-deployment.yaml:

apiVersion: apps/v1 kind: Deployment metadata: namespace: game-2048 name: deployment-2048 spec: selector: matchLabels: app.kubernetes.io/name: app-2048 replicas: 5 template: metadata: labels: app.kubernetes.io/name: app-2048 spec: containers: - image: public.ecr.aws/l6m2t8p7/docker-2048:latest imagePullPolicy: Always name: app-2048 ports: - containerPort: 80 resources: requests: cpu: "0.5"
nota

Se você receber um erro ao carregar a imagem public.ecr.aws/l6m2t8p7/docker-2048:latest, verifique se o perfil do IAM do nó tem permissões suficientes para extrair imagens do ECR. Para ter mais informações, consulte Perfil do IAM do nó.

Principais componentes:

  • Implanta cinco réplicas da aplicação

  • Usa uma imagem pública do ECR

  • Solicita 0,5 núcleo de CPU por pod

  • Expõe a porta 80 para o tráfego HTTP

Aplique a implantação:

kubectl apply -f 02-deployment.yaml

Etapa 3: criar o serviço

O serviço expõe a implantação à rede do cluster.

Crie um arquivo chamado 03-service.yaml:

apiVersion: v1 kind: Service metadata: namespace: game-2048 name: service-2048 spec: ports: - port: 80 targetPort: 80 protocol: TCP type: NodePort selector: app.kubernetes.io/name: app-2048

Principais componentes:

  • Cria um serviço do NodePort

  • Mapeia a porta 80 para a porta 80 do contêiner

  • Usa o seletor de rótulos para encontrar pods

Aplique o serviço:

kubectl apply -f 03-service.yaml

Etapa 4: configurar o balanceamento de carga

Você vai configurar uma entrada para expor a aplicação à internet.

Primeiro, crie a IngressClass. Crie um arquivo chamado 04-ingressclass.yaml:

apiVersion: networking.k8s.io/v1 kind: IngressClass metadata: namespace: game-2048 labels: app.kubernetes.io/name: LoadBalancerController name: alb spec: controller: eks.amazonaws.com/alb
nota

O Modo Automático do EKS precisa de tags de sub-rede para identificar sub-redes públicas e privadas.

Se você criou o cluster com o eksctl, você já tem essas tags.

Aprenda como Marcar sub-redes para o Modo Automático do EKS.

Em seguida, crie o recurso Ingress. Crie um arquivo chamado 05-ingress.yaml:

apiVersion: networking.k8s.io/v1 kind: Ingress metadata: namespace: game-2048 name: ingress-2048 annotations: alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: ip spec: ingressClassName: alb rules: - http: paths: - path: / pathType: Prefix backend: service: name: service-2048 port: number: 80

Principais componentes:

  • Cria um ALB voltado para a internet

  • Usa o tipo de destino IP para roteamento direto de pods

  • Roteia todo o tráfego (/) para o serviço do jogo

Aplique as configurações de entrada:

kubectl apply -f 04-ingressclass.yaml kubectl apply -f 05-ingress.yaml

Etapa 5: verificar a implantação

  1. Verifique se todos os pods estão em execução:

    kubectl get pods -n game-2048
  2. Verifique se o serviço foi criado:

    kubectl get svc -n game-2048
  3. Obtenha o endpoint do ALB:

    kubectl get ingress -n game-2048

O campo ADDRESS na saída da entrada mostrará o endpoint do ALB. Aguarde de dois a três minutos para que o ALB provisione e registre todos os destinos.

Etapa 6: acessar o jogo

Abra seu navegador da Web e navegue até o URL do endpoint do ALB da etapa anterior. Você deve ver a interface do jogo 2048.

Etapa 7: limpeza

Para remover todos os recursos criados neste tutorial:

kubectl delete namespace game-2048

Isso excluirá todos os recursos no namespace, incluindo os recursos de implantação, serviço e entrada.

O que está acontece por detrás

  1. A implantação cria cinco pods que executam o jogo 2048

  2. O serviço fornece acesso de rede estável a esses pods

  3. Modo Automático do EKS:

    • Cria um Application Load Balancer na AWS

    • Configura grupos de destino para os pods

    • Configura as regras de roteamento para direcionar o tráfego ao serviço

Solução de problemas

Se o jogo não carregar:

  • Certifique-se de que todos os pods estejam em execução: kubectl get pods -n game-2048

  • Verifique o status de entrada: kubectl describe ingress -n game-2048

  • Confira as verificações de integridade do ALB: consulte a integridade do grupo de destino no Console da AWS

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.