Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
Atualmente, o complemento KEDA para AKS não suporta a modificação das solicitações ou limites de CPU e outros valores de Helm para o Metrics Server ou Operator. Tenha essa limitação em mente ao usar o complemento. Se você tiver alguma dúvida, sinta-se à vontade para entrar em contato aqui.
O Autoscaling Orientado por Eventos (KEDA) do Kubernetes é um componente único e leve que torna o autoescalonamento de aplicações simples. É um projeto de pós-graduação da Cloud Native Computing Foundation (CNCF). A KEDA utiliza autoescalabilidade orientada por eventos para escalar a sua aplicação de forma sustentável e eficiente em termos de custos, com escala até zero.
Para a maioria das cargas de trabalho em produção, o AKS Automatic é a experiência AKS padrão recomendada. O AKS Automatic está pronto para produção por predefinição e inclui o KEDA pré-configurado no cluster. Se usar o AKS Standard, pode ativar o KEDA através do suplemento gerido do KEDA.
Para saber mais sobre o AKS Automatic, veja O que é o Azure Kubernetes Service (AKS) Automatic?
Nota
KEDA versão 2.15+ introduz uma alteração significativa que remove o suporte para identidade de pod. Recomendamos passar para a identidade da carga de trabalho para sua autenticação se você estiver usando a identidade do pod. Embora o suplemento gerido do KEDA não execute atualmente a versão 2.15+ do KEDA, o suplemento gerido passará a executar o KEDA 2.15+ na versão de pré-visualização 1.32 do AKS.
Para obter mais informações sobre como dimensionar com segurança seus aplicativos com identidade de carga de trabalho, leia nosso tutorial. Para ver a política de mudança/descontinuação da KEDA, leia a documentação oficial.
KEDA na AKS Automática e AKS Standard
O KEDA está disponível em ambos os modos do cluster AKS, mas o caminho de configuração é diferente:
- AKS Automático: O KEDA está pré-configurado e pronto a usar.
- AKS Standard: Ative o KEDA ao ativar o suplemento gerido do AKS.
Para a maioria dos cenários de produção, comece com o AKS Automático para usar os valores padrão prontos para produção e reduzir a sobrecarga de gestão do cluster.
Arquitetura
A KEDA fornece dois componentes principais:
- O operador KEDA permite que os utilizadores finais escalem cargas de trabalho de 0 a N instâncias, com suporte para implementações do Kubernetes,
StatefulSetstrabalhos ou qualquer recurso personalizado que defina um subrecurso/scale. - O servidor de métricas expõe métricas externas ao Horizontal Pod Autoscaler (HPA) no Kubernetes para fins de dimensionamento automático, como mensagens em um tópico do Kafka ou número de eventos em um hub de eventos do Azure. Devido a limitações upstream, KEDA deve ser o único adaptador métrico externo instalado.
Saiba mais sobre como o KEDA funciona na documentação oficial do KEDA.
Instalação e capacitação
AKS Automático
O KEDA está pré-configurado no AKS Automatic. Não é necessário nenhum passo separado de instalação adicional do KEDA.
Padrão AKS
Ative o KEDA no AKS Standard usando um dos seguintes métodos:
O complemento KEDA gerido fornece uma instalação KEDA totalmente suportada integrada com o AKS.
Capacidades e funcionalidades
O KEDA fornece os seguintes recursos e capacidades:
- Reduza as cargas de trabalho a zero quando a procura diminuir.
- Escalar cargas de trabalho de aplicações para responder à procura usando escaladores Azure KEDA.
- Escale automaticamente as aplicações utilizando
ScaledObjects, como Deployments,StatefulSetsou qualquer recurso personalizado que defina o sub-recurso/scale. - Dimensionar automaticamente cargas de trabalho do tipo tarefa usando
ScaledJobs. - Use segurança de nível de produção desacoplando a autenticação do escalonamento automático das cargas de trabalho.
- Utilize o seu próprio escalonador externo para lógica personalizada de dimensionamento automático.
- Integre com o ID de carga de trabalho Microsoft Entra para autenticação.
No AKS Automatic, estas capacidades de dimensionamento automático baseado em eventos estão predefinidas, porque o cluster vem pré-configurado com o KEDA.
Nota
Se planeia usar a identidade da carga de trabalho no AKS Standard, ative a identidade da carga de trabalho antes de ativar o complemento KEDA.
Orientação de produção
Use esta orientação para escolher o seu modo cluster:
- Escolha AKS Automático quando quiser uma experiência padrão pronta para produção com KEDA pré-configurado.
- Escolha o AKS Standard quando precisar de uma personalização mais profunda ao nível do cluster e de uma gestão explícita de addons.
- Use o KEDA em qualquer um dos modos para cargas de trabalho de autoescalonamento orientadas a eventos.
Limitações do complemento
O complemento KEDA AKS tem as seguintes limitações:
- O suplemento de HTTP (visualização) do KEDA para dimensionar cargas de trabalho de HTTP não é instalado com a extensão, mas pode ser implementado separadamente.
- O dimensionador externo do KEDA para o Azure Cosmos DB para dimensionar com base no feed de alterações do Azure Cosmos DB não é instalado com a extensão, mas pode ser implementado separadamente.
- Apenas um servidor de métricas externo é permitido no cluster Kubernetes. Por isso, o complemento KEDA deve ser o único servidor de métricas externo dentro do cluster.
- Várias instalações do KEDA não são suportadas
- Não é recomendado combinar KEDA
ScaledObjectcom um Horizontal Pod Autoscaler (HPA) para dimensionar a mesma carga de trabalho. Eles competem entre si porque o KEDA usa o Horizontal Pod Autoscaler (HPA) em segundo plano e resulta em um comportamento de dimensionamento estranho.- Se um HPA for criado primeiro, um KEDA
ScaledObjectserá criado e o KEDAScaledObjectnão poderá ser criado. - Se um KEDA
ScaledObjectfor criado primeiro e, em seguida, um HPA for criado, a criação do HPA não será bloqueada.
- Se um HPA for criado primeiro, um KEDA
Para perguntas gerais sobre KEDA, recomendamos visitar a visão geral das Perguntas frequentes.
Nota
Se você estiver usando o ID de carga de trabalho Microsoft Entra e habilitar o KEDA antes do Workload ID, precisará reiniciar os pods do operador KEDA para que as variáveis de ambiente adequadas possam ser injetadas:
Reinicie os pods executando
kubectl rollout restart deployment keda-operator -n kube-system.Obtenha pods de operador KEDA usando
kubectl get pod -n kube-systeme localizando pods que comecem comkeda-operator.Verifique a injeção bem-sucedida das variáveis de ambiente executando
kubectl describe pod <keda-operator-pod> -n kube-system. EmEnvironment, você verá os valores deAZURE_TENANT_ID,AZURE_FEDERATED_TOKEN_FILEeAZURE_AUTHORITY_HOST.
Versões Kubernetes e KEDA suportadas
A versão do Kubernetes do cluster determina qual versão do KEDA está instalada no cluster AKS. Para ver qual versão do KEDA mapeia para cada versão do AKS, consulte a coluna de complementos geridos pelo AKS da tabela de versões do componente Kubernetes.
Para as versões do GA Kubernetes, o AKS oferece suporte total da versão secundária KEDA correspondente na tabela. As versões de pré-visualização do Kubernetes e o patch KEDA mais recente são parcialmente cobertos pelo suporte ao cliente na medida do possível. Como tal, estas funcionalidades não se destinam a utilização em produção. Para obter mais informações, consulte os seguintes artigos de suporte:
Conteúdo relacionado
- Criar um cluster automático AKS
- Ativar o complemento KEDA com um template ARM (AKS Standard)
- Ativar o suplemento KEDA através da CLI do Azure (AKS Standard)
- Solução de problemas do add-on KEDA
- Escalonar automaticamente um serviço de trabalho do .NET Core para processar mensagens na fila do Barramento de Serviço do Azure
- Veja os documentos upstream do KEDA