Instale o complemento Kubernetes Event-driven Autoscaling (KEDA) usando a CLI do Azure
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 mapeia para cada versão do AKS, consulte a coluna de complementos gerenciados 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 visualização do Kubernetes e o patch KEDA mais recente são parcialmente cobertos pelo suporte ao cliente com base no melhor esforço. 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:
Nota
KEDA versão 2.15 introduz uma mudança de quebra que remove o suporte de identidade pod. Recomendamos passar para a identidade da carga de trabalho para sua autenticação se você estiver usando a identidade do pod. Embora o complemento gerenciado pelo KEDA não execute atualmente o KEDA versão 2.15, 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/depreciaçã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).
Nota
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-system
e localizando pods que comecem comkeda-operator
.Verifique se a injeção bem-sucedida das variáveis de ambiente está executando
kubectl describe pod <keda-operator-pod> -n kube-system
. EmEnvironment
, você verá os valores deAZURE_TENANT_ID
,AZURE_FEDERATED_TOKEN_FILE
eAZURE_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
Nota
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
az group create
comando.az group create --name myResourceGroup --location eastus
Crie um novo cluster AKS usando o
az aks create
comando e habilite o complemento KEDA usando o--enable-keda
sinalizador.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 update
comando e habilite o complemento KEDA usando o--enable-keda
sinalizador.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda
Obter as credenciais para o cluster
Obtenha as credenciais para o seu cluster AKS usando o
az aks get-credentials
comando.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 show
comando e defina o--query
parâ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 pods
comando.kubectl get pods -n kube-system
O 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
O exemplo de saída a seguir mostra a configuração do KEDA no app.kubernetes.io/version
rótulo:
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 cluster usando o
az aks update
comando com o--disable-keda
sinalizador.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.
Azure Kubernetes Service