Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
No momento, o complemento KEDA para AKS não dá suporte à modificação das solicitações ou limites de CPU e de outros valores do Helm para o Servidor de Métricas ou Operador. Tenha essa limitação em mente ao usar o complemento. Se você tiver alguma dúvida, fique à vontade para entrar em contato aqui.
O KEDA (Dimensionamento Automático controlado por eventos) do Kubernetes é um componente de uso único e leve que se esforça para tornar o dimensionamento automático de aplicativos simples e é um projeto de pós-graduação da CNCF (Cloud Native Computing Federation).
Ele aplica o dimensionamento automático controlado por eventos para dimensionar seu aplicativo a fim de atender à demanda de maneira sustentável e econômica com escala para zero.
O complemento KEDA torna isso ainda mais fácil, implantando uma instalação KEDA gerenciada, fornecendo a você um catálogo avançado de dimensionadores do KEDA do Azure com os quais é possível escalar seus aplicativos no cluster do AKS (Serviços de Kubernetes do Azure).
Observação
A versão 2.15 do KEDA apresenta uma alteração interruptiva que remove o suporte à identidade do pod. Recomendamos passar para a identidade da carga de trabalho para sua autenticação, caso esteja usando a identidade do pod. Embora o add-on gerenciado KEDA atualmente não execute a versão 2.15+, ele começará a executá-la na versão prévia do AKS 1.32.
Para obter mais informações sobre como dimensionar seus aplicativos com segurança com a identidade da carga de trabalho, leia nosso tutorial. Para exibir a política de alteração interruptiva/substituição do KEDA, leia a documentação oficial.
Arquitetura
O KEDA fornece dois componentes principais:
-
O operador KEDA permite que os usuários finais dimensionem para cima ou para baixo as cargas de trabalho de 0 para N com suporte para Implantações do Kubernetes, Trabalhos,
StatefulSets
ou qualquer recurso personalizado que defina o sub-recurso/scale
. - O servidor de métricas expõe métricas externas ao HPA (Horizontal Pod Autoscaler) no Kubernetes para fins de dimensionamento automático, como mensagens em um tópico do Kafka ou o número de eventos em um hub de eventos do Azure. Devido a limitações de upstream, o KEDA deve ser o único adaptador de métricas externo instalado.
Saiba mais sobre como o KEDA funciona na documentação oficial do KEDA.
Instalação
O KEDA pode ser adicionado ao cluster do AKS (Serviço de Kubernetes do Azure) habilitando o complemento KEDA, usando um modelo do ARMou a CLI do Azure.
O complemento KEDA fornece uma instalação totalmente compatível do KEDA, integrada ao AKS.
Funcionalidades e recursos
O KEDA fornece as seguintes funcionalidades e recursos:
- Criar aplicativos sustentáveis e econômicos com escala para zero
- Escalar cargas de trabalho de aplicativo para atender à demanda usando um catálogo avançado de dimensionadores do KEDA do Azure
- Dimensionamento automático de aplicativos com
ScaledObjects
, como Implantações,StatefulSets
ou conjuntos com estado ou qualquer recurso personalizado que define o sub-recurso/scale
- Dimensionamento automático de cargas de trabalho similares ao trabalho com
ScaledJobs
- Usar a segurança de nível de produção desacoplando a autenticação com dimensionamento automático das cargas de trabalho
- Traga seu próprio dimensionador externo para usar decisões de dimensionamento automático personalizadas
- Integrar com a ID da Carga de Trabalho do Microsoft Entra para autenticação
Observação
Caso planeje usar a identidade da carga de trabalho, habilite o complemento de identidade da carga de trabalho antes de habilitar o complemento do KEDA.
Limitações de complemento
O complemento KEDA do AKS tem as seguintes limitações:
- O complemento HTTP (versão prévia) da KEDA para escalar cargas de trabalho HTTP não é instalado com a extensão, mas pode ser implantado separadamente.
- O dimensionador externo para Azure Cosmos DB da KEDA para escalar com base no feed de alterações do Azure Cosmos DB não é instalado com a extensão, mas pode ser implantado separadamente.
- Somente um servidor de métricas externo é permitido no cluster do Kubernetes. Devido a isso, o complemento do KEDA deve ser o único servidor de métricas externo dentro do cluster.
- Não há suporte para várias instalações do KEDA
- Não é recomendável combinar o
ScaledObject
do KEDA com um HPA (Dimensionador automático de pod horizontal) para dimensionar a mesma carga de trabalho. Eles competem entre si porque o KEDA usa o HPA em segundo plano e resulta em um comportamento de dimensionamento ímpar.- Se um HPA for criado primeiro, um KEDA
ScaledObject
será criado e o KEDAScaledObject
não será criado. - Se um KEDA
ScaledObject
for 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 o KEDA, recomendamos visitar a visão geral das perguntas frequentes.
Observação
Se você estiver usando a ID de carga de trabalho do Microsoft Entra e habilitar o KEDA antes da ID de carga de trabalho, será necessário reiniciar os pods do operador KEDA para que as variáveis de ambiente corretas possam ser injetadas:
Reinicie os pods executando
kubectl rollout restart deployment keda-operator -n kube-system
.Obtenha os pods do operador KEDA usando
kubectl get pod -n kube-system
e localizando os pods que começam 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ê deverá visualizar os valores paraAZURE_TENANT_ID
,AZURE_FEDERATED_TOKEN_FILE
eAZURE_AUTHORITY_HOST
.
Versões do Kubernetes e KEDA com suporte
A versão do Kubernetes do cluster determina qual versão KEDA está instalada no cluster do AKS. Para visualizar qual versão do KEDA é mapeada para cada versão do AKS, consulte a coluna de complementos gerenciados do AKS da tabela de versão do componente do Kubernetes.
Para as versões GA do Kubernetes, o AKS dá suporte completo à versão secundária do KEDA correspondente na tabela. As versões prévias do Kubernetes e o último patch do KEDA são parcialmente cobertos pelo suporte ao cliente com base no melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção. Para obter mais informações, consulte os seguintes artigos:
Próximas etapas
Azure Kubernetes Service