Ambiente de gerenciamento provisionado do Amazon 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.

Ambiente de gerenciamento provisionado do Amazon EKS

Visão geral

O ambiente de gerenciamento provisionado do Amazon EKS é um recurso que permite aos administradores de cluster selecionar entre diferentes níveis de escalabilidade, definindo o nível ideal para garantir que o ambiente de gerenciamento do cluster tenha alta performance e previsibilidade. Com isso, administradores de cluster podem assegurar que o ambiente de gerenciamento esteja sempre provisionado conforme a capacidade definida.

O Amazon EKS oferece dois modos de operação para o ambiente de gerenciamento do cluster. Por padrão, os clusters do Amazon EKS usam o modo padrão, no qual o ambiente de gerenciamento aumenta ou reduz a escala verticalmente, de forma automática, com base nas demandas da workload. O modo padrão aloca dinamicamente capacidade suficiente do ambiente de gerenciamento para atender às necessidades da workload e é a solução recomendada para a maioria dos casos de uso. No entanto, para workloads especializadas que não admitem qualquer variabilidade da performance devido à escalabilidade do ambiente de gerenciamento, ou para aquelas que exigem grandes quantidades de capacidade, é possível optar pelo modo provisionado. Com o modo provisionado, você pode realizar a alocação prévia da capacidade do ambiente de gerenciamento, garantindo prontidão para atender a demandas rigorosas da workload.

nota

O modo provisionado é um modo de operação adicional do ambiente de gerenciamento, disponível em conjunto com o modo padrão original. A introdução do modo provisionado não altera o comportamento do modo padrão.

Com o ambiente de gerenciamento provisionado do EKS, os administradores de cluster podem realizar o provisionamento prévio da capacidade desejada de forma antecipada, garantindo alta performance e previsibilidade constante ao ambiente de gerenciamento do cluster. O ambiente de gerenciamento provisionado do EKS também permite que os administradores de cluster provisionem a mesma capacidade do ambiente de gerenciamento em diversos ambientes, desde o ambiente de preparação até a produção e locais de recuperação de desastres. Isso é fundamental para assegurar a consistência e a previsibilidade da performance do ambiente de gerenciamento em todos os ambientes. Por fim, o ambiente de gerenciamento provisionado do EKS oferece acesso a níveis altíssimos de performance no ambiente de gerenciamento, permitindo a execução de workloads de IA com escalabilidade massiva, computação de alta performance e processamento de dados em grande escala no Kubernetes.

Por padrão, todos os clusters do Amazon EKS, tanto os novos quanto os já existentes, operam no modo padrão. Para clusters que requerem uma performance alta e previsível do ambiente de gerenciamento, você pode optar pelo recurso de ambiente de gerenciamento provisionado do EKS. A cobrança será feita com base na tarifa horária do nível de escalabilidade escolhido para o ambiente de gerenciamento, somada às taxas horárias do EKS para suporte padrão ou estendido. Para obter mais informações sobre preços, consulte Preços do Amazon EKS.

Modos do ambiente de gerenciamento do Amazon EKS

Casos de uso

O ambiente de gerenciamento provisionado do EKS foi projetado para atender a cenários específicos em que a performance alta e previsível do ambiente de gerenciamento é fundamental para as operações. Compreender esses casos de uso pode ajudar você a determinar se o ambiente de gerenciamento provisionado do EKS é a solução ideal para as workloads.

Workloads sensíveis à performance: para as workloads que demandam baixa latência e máxima performance do ambiente de gerenciamento do Kubernetes, o ambiente de gerenciamento provisionado do EKS oferece uma capacidade que remove instabilidades causadas pela escalabilidade do ambiente de gerenciamento.

Workloads com escalabilidade massiva: se você executa workloads altamente escaláveis, como treinamento e inferência de IA, computação de alta performance ou processamento de dados em grande escala, que exigem um grande número de nós no cluster, o ambiente de gerenciamento provisionado fornece a capacidade necessária para suportar essas workloads exigentes.

Eventos de alta demanda antecipados: quando você espera um aumento súbito nas solicitações ao ambiente de gerenciamento devido a um evento próximo, como vendas ou promoções de comércio eletrônico, lançamentos de produtos, temporadas de compras ou grandes eventos esportivos e de entretenimento, o ambiente de gerenciamento provisionado permite ajustar a escalabilidade da capacidade antecipadamente. Essa abordagem proativa garante que o ambiente de gerenciamento esteja pronto para lidar com o aumento de carga, sem a necessidade de esperar que a escalabilidade automática responda à demanda.

Consistência de ambientes: o ambiente de gerenciamento provisionado permite replicar a capacidade e a performance do ambiente de gerenciamento entre os ambientes de preparação e de produção, ajudando você a identificar problemas potenciais antecipadamente, antes da implantação em produção. Ao manter o mesmo nível do ambiente de gerenciamento em diferentes ambientes, você garante que os resultados dos testes reflitam com precisão o comportamento em ambientes de produção, evitando imprevistos de performance no momento da implantação.

Recuperação de desastres e continuidade de negócios: para cenários de recuperação de desastres, o ambiente de gerenciamento provisionado permite que você provisione ambientes de failover com o mesmo nível de capacidade do ambiente primário. Isso garante o mínimo de interrupção e uma recuperação rápida durante eventos de failover, pois o cluster de recuperação de desastres terá características de performance do ambiente de gerenciamento idênticas às do cluster de produção desde o instante de sua ativação.

Níveis de escalabilidade do ambiente de gerenciamento

O ambiente de gerenciamento provisionado do EKS disponibiliza níveis de escalabilidade que usam tamanhos de referência (XL, 2XL e 4XL). Cada nível define a capacidade por meio de três atributos principais do Kubernetes que determinam as características de performance do ambiente de gerenciamento do cluster. Compreender esses atributos ajuda você a selecionar o nível adequado para os requisitos da workload.

A simultaneidade de solicitações de API mede o número de solicitações que o servidor de API do ambiente de gerenciamento do Kubernetes pode processar simultaneamente, o que é fundamental para workloads com alto throughput.

A taxa de agendamento de pods indica a rapidez com que o agendador padrão do Kubernetes consegue agendar pods em nós, medida em pods por segundo.

O tamanho do banco de dados do cluster indica o espaço de armazenamento alocado para o etcd, o banco de dados que contém o estado e os metadados do cluster.

Ao provisionar o ambiente de gerenciamento do cluster em um determinado nível de escalabilidade usando o ambiente de gerenciamento provisionado, o EKS garante que o ambiente de gerenciamento mantenha os limites correspondentes a esse nível. Os limites dos níveis de escalabilidade do ambiente de gerenciamento variam conforme a versão do Kubernetes, como mostrado nas tabelas a seguir.

EKS v1.28 e v1.29

Nível de escalabilidade do ambiente de gerenciamento provisionado Simultaneidade de solicitações de API (estações) Taxa de agendamento de pods (pods por segundo) Tamanho do banco de dados do cluster (GB)

XL

1.700

100

16

2XL

3.400

100

16

4XL

6.800

100

16

EKS v1.30 e versões posteriores

Nível de escalabilidade do ambiente de gerenciamento provisionado Simultaneidade de solicitações de API (estações) Taxa de agendamento de pods (pods por segundo) Tamanho do banco de dados do cluster (GB)

XL

1.700

167

16

2XL

3.400

283

16

4XL

6.800

400

16

Monitoramento da utilização do nível de escalabilidade do ambiente de gerenciamento

O Amazon EKS disponibiliza várias métricas que auxiliam no monitoramento do uso do nível de escalabilidade do ambiente de gerenciamento. Essas métricas são publicadas como métricas do Amazon CloudWatch e estão acessíveis por meio dos consoles do CloudWatch e do EKS. Além disso, essas métricas podem ser coletadas via scraping do endpoint de Prometheus do cluster do EKS (acesse aqui).

Métricas do Prometheus Métrica do CloudWatch

Concorrência de solicitações de API

apiserver_flowcontrol_current_executing_seats

apiserver_flowcontrol_current_executing_seats

Taxa de agendamento de pods

scheduler_schedule_attempts_total

scheduler_schedule_attempts_total, scheduler_schedule_attempts_SCHEDULED, scheduler_schedule_attempts_UNSCHEDULABLE

Tamanho do banco de dados do cluster

apiserver_storage_size_bytes

apiserver_storage_size_bytes

Noções básicas sobre a diferença entre a capacidade do nível e a performance real

Ao selecionar um nível de escalabilidade do ambiente de gerenciamento provisionado, os atributos desse nível representam as configurações subjacentes que o Amazon EKS aplica ao ambiente de gerenciamento. Contudo, a performance real alcançada varia de acordo com os padrões da workload, as configurações e a aderência às práticas recomendadas do Kubernetes. Por exemplo, enquanto o nível 4XL define o recurso de prioridade e de equidade da API (APF, na sigla em inglês) com 6.800 estações de solicitações simultâneas, o throughput real de solicitações que você obtém do ambiente de gerenciamento depende dos tipos de operações realizadas. Por exemplo, o Kubernetes penaliza solicitações do tipo “list” mais do que as do tipo “get” e, por isso, o número efetivo de solicitações “list” processadas simultaneamente pelo ambiente de gerenciamento é menor do que o de solicitações “get” (confira aqui). De forma semelhante, ainda que o QPS do agendador padrão seja 400 no nível 4XL, a taxa real de agendamento de pods depende de fatores como o estado de prontidão e a integridade dos nós para o agendamento. Para alcançar a performance ideal, certifique-se de que as aplicações sigam as práticas recomendadas do Kubernetes (confira aqui) e estejam configuradas adequadamente para as características da workload.

Considerações

  • Capacidade do ambiente de gerenciamento padrão: o modo padrão de ambiente de gerenciamento do EKS oferece a melhor relação entre custo e benefício e é a opção recomendada para a maioria dos casos de uso. No entanto, para workloads especializadas que não admitem qualquer variabilidade da performance devido à escalabilidade do ambiente de gerenciamento, ou para aquelas que exigem grandes quantidades de capacidade, considere usar o modo provisionado.

  • Adesão necessária: os clusters atuais não realizam o aumento da escala verticalmente de forma automática do ambiente de gerenciamento padrão para um nível com preços superiores do ambiente de gerenciamento provisionado do EKS. É necessário aderir explicitamente a um dos novos níveis de escalabilidade do ambiente de gerenciamento provisionado do EKS.

  • Restrição de saída: o modo padrão do ambiente de gerenciamento fornece suporte a um tamanho de banco de dados do cluster (etcd) de até 8 GB. Se o tamanho do banco de dados do cluster exceder 8 GB durante o uso do modo provisionado, você não poderá retornar ao modo padrão até reduzir o tamanho do banco de dados para menos de 8 GB. Por exemplo, se você estiver usando 14 GB de armazenamento de banco de dados no modo provisionado, deverá primeiro reduzir a utilização do banco de dados para menos de 8 GB antes de retornar ao modo padrão.

  • Não há escalabilidade automática de nível: o ambiente de gerenciamento provisionado do EKS não realiza a transição automática entre os níveis. Após escolher um nível de escalabilidade, o ambiente de gerenciamento do cluster fica vinculado a esse nível, o que assegura uma performance constante e previsibilidade. No entanto, você tem a flexibilidade de implementar sua própria solução de ajuste de escala automático ao monitorar as métricas de utilização do nível e usar as APIs do ambiente de gerenciamento provisionado do EKS para reduzir ou aumentar a escala verticalmente quando as métricas ultrapassarem os limites definidos por você, garantindo total controle sobre a estratégia de escalabilidade e otimização de custos.

  • Consulta do nível atual: é possível usar o console do Amazon EKS, a Amazon Web Services CLI ou a API para verificar em qual nível de escalabilidade o ambiente de gerenciamento se encontra. Na CLI, você pode executar o comando describe-cluster: aws eks describe-cluster --name cluster-name

  • Tempo de transição de nível: você pode usar o console do Amazon EKS, as APIs do Amazon EKS ou a CLI para sair de um nível ou alternar entre os níveis de escalabilidade. O Amazon EKS introduziu um novo tipo de atualização de cluster chamado ScalingTierConfigUpdate, que você pode inspecionar para monitorar o progresso da transição. Após executar um comando de alteração de nível, é possível listar as atualizações no cluster para obter uma nova atualização do tipo ScalingTierConfigUpdate com o status Updating. Esse status passará para Successful quando a alteração for finalizada ou para Failed em caso de falha. O campo de erro na atualização indica o motivo da falha Não há restrições quanto à frequência com que você pode alternar entre os níveis. A alteração do nível do ambiente de gerenciamento leva alguns minutos para ser concluída.

  • Seleção do nível ideal: para determinar o nível de escalabilidade do ambiente de gerenciamento provisionado ideal para o cluster, você pode realizar testes de carga provisionando o cluster no nível máximo (4XL). Depois, execute um teste de carga para simular o cenário de maior demanda no ambiente de gerenciamento do cluster. Monitore as métricas de utilização do nível do ambiente de gerenciamento no momento de carga máxima e empregue esses dados para escolher o nível de escalabilidade adequado no modo provisionado.

  • Preços do ambiente de gerenciamento provisionado: a cobrança será feita com base na taxa horária correspondente ao nível de escalabilidade do ambiente de gerenciamento provisionado em que o cluster estiver operando. Este valor é adicional às taxas horárias do suporte padrão ou do suporte estendido. Consulte a página de preços do Amazon EKS para obter mais detalhes.

  • Nível de escalabilidade superior: se você pretende executar o cluster em um nível de escalabilidade superior ao 4XL, entre em contato com a equipe da conta da Amazon Web Services para obter informações adicionais sobre preços.

  • Suporte a versões e regiões do Kubernetes: o ambiente de gerenciamento provisionado do EKS é compatível com todas as regiões comerciais da Amazon Web Services, da GovCloud e da China. O ambiente de gerenciamento provisionado é compatível com o EKS na versão 1.28 ou em versões posteriores.