Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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.
Este artigo mostra como instalar o complemento Kubernetes Event-driven Autoscaling (KEDA) no Serviço Kubernetes do Azure (AKS) usando a CLI do Azure.
Importante
A versão do Kubernetes do cluster determina qual versão do KEDA será instalada no cluster AKS. Para ver qual versão do KEDA corresponde a cada versão do AKS, consulte a coluna de complementos geridos pelo AKS na tabela de versões do componente Kubernetes.
Para as versões GA do Kubernetes, o AKS oferece suporte total da versão menor correspondente do KEDA 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. Assim sendo, estas funcionalidades não se destinam ao uso em produção. Para obter mais informações, consulte os seguintes artigos de suporte:
Observação
KEDA versão 2.15+ introduz uma alteração significativa que remove o suporte para identidade de pod. Recomendamos mudar para a identidade de carga de trabalho para sua autenticação, caso esteja utilizando a identidade de pod. Embora o complemento gerenciado pelo KEDA não execute atualmente a versão 2.15+ do KEDA, ele começará a executá-lo na versão de visualização do AKS 1.31.
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 alteração e descontinuação da KEDA, leia a documentação oficial.
Antes de começar
- Precisa de uma subscrição do Azure. Se não tiver uma subscrição do Azure, pode criar uma conta gratuita.
- Você precisa da CLI do Azure instalada.
- Certifique-se de ter regras de firewall configuradas para permitir o acesso ao servidor de API do Kubernetes. Para obter mais informações, consulte Rede de saída e regras FQDN para clusters do Serviço Kubernetes do Azure (AKS).
Observação
Se você estiver usando o Microsoft Entra Workload ID 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 se a injeção das variáveis de ambiente foi bem-sucedida executando
kubectl describe pod <keda-operator-pod> -n kube-system. EmEnvironment, você verá os valores deAZURE_TENANT_ID,AZURE_FEDERATED_TOKEN_FILEeAZURE_AUTHORITY_HOST.
Instalar o complemento KEDA com a CLI do Azure
Para instalar o complemento KEDA, use --enable-keda ao criar ou atualizar um cluster.
Habilite o complemento KEDA no seu cluster AKS
Observação
Enquanto o KEDA fornece várias opções de personalização, o complemento KEDA atualmente fornece configuração básica comum.
Se você precisar de configurações personalizadas, poderá editar manualmente os arquivos KEDA YAML para personalizar a instalação. O Azure não oferece suporte para configurações personalizadas.
Crie um novo cluster AKS com o complemento KEDA ativado
Crie um grupo de recursos usando o comando
az group create.az group create --name myResourceGroup --location eastusCrie um novo cluster AKS usando o
az aks createcomando e habilite o complemento KEDA usando o--enable-kedasinalizador.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda \ --generate-ssh-keys
Ativar o complemento KEDA em um cluster AKS existente
Atualize um cluster existente usando o
az aks updatecomando e habilite o complemento KEDA usando o--enable-kedasinalizador.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda
Obtenha as credenciais para o seu cluster
Obtenha as credenciais para o seu cluster AKS usando o
az aks get-credentialscomando.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Verifique se o complemento KEDA está instalado no cluster
Verifique se o complemento KEDA está instalado no cluster usando o
az aks showcomando e defina o--queryparâmetro comoworkloadAutoScalerProfile.keda.enabled.az aks show --resource-group myResourceGroup --name myAKSCluster --query "workloadAutoScalerProfile.keda.enabled"O exemplo de saída a seguir mostra que o complemento KEDA está instalado no cluster:
true
Verifique se o KEDA está em execução no cluster
Verifique se o complemento KEDA está em execução no cluster usando o
kubectl get podscomando.kubectl get pods -n kube-systemO exemplo de saída a seguir mostra que o operador KEDA, o gancho de admissões e o servidor de API de métricas estão instalados no cluster:
keda-admission-webhooks-**********-2n9zl 1/1 Running 0 3d18h keda-admission-webhooks-**********-69dkg 1/1 Running 0 3d18h keda-operator-*********-4hb5n 1/1 Running 0 3d18h keda-operator-*********-pckpx 1/1 Running 0 3d18h keda-operator-metrics-apiserver-**********-gqg4s 1/1 Running 0 3d18h keda-operator-metrics-apiserver-**********-trfcb 1/1 Running 0 3d18h
Verifique a versão do KEDA no cluster
Para verificar a versão do seu KEDA, use kubectl get crd/scaledobjects.keda.sh -o yaml . Por exemplo:
kubectl get crd/scaledobjects.keda.sh -o yaml
A saída de exemplo a seguir mostra a configuração do KEDA na etiqueta app.kubernetes.io/version:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.9.0
meta.helm.sh/release-name: aks-managed-keda
meta.helm.sh/release-namespace: kube-system
creationTimestamp: "2023-08-09T15:58:56Z"
generation: 1
labels:
app.kubernetes.io/component: operator
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: keda-operator
app.kubernetes.io/part-of: keda-operator
app.kubernetes.io/version: 2.10.1
helm.toolkit.fluxcd.io/name: keda-adapter-helmrelease
helm.toolkit.fluxcd.io/namespace: 64d3b6fd3365790001260647
name: scaledobjects.keda.sh
resourceVersion: "1421"
uid: 29109c8c-638a-4bf5-ac1b-c28ad9aa11fa
spec:
conversion:
strategy: None
group: keda.sh
names:
kind: ScaledObject
listKind: ScaledObjectList
plural: scaledobjects
shortNames:
- so
singular: scaledobject
scope: Namespaced
# Redacted due to length
Desative o complemento KEDA no seu cluster AKS
Desative o complemento KEDA no seu cluster usando o comando
az aks updatecom o flag--disable-keda.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --disable-keda
Próximos passos
Este artigo mostrou como instalar o complemento KEDA em um cluster AKS usando a CLI do Azure.
Com o complemento KEDA instalado em seu cluster, você pode implantar um aplicativo de exemplo para começar a dimensionar aplicativos.
Para obter informações sobre a solução de problemas do KEDA, consulte Solucionar problemas do complemento Kubernetes Event-driven Autoscaling (KEDA).
Para saber mais, consulte os documentos KEDA upstream.