Instalar o complemento KEDA (Dimensionamento Automático Controlado por Eventos do Kubernetes) usando a CLI do Azure
Este artigo mostra como instalar o complemento KEDA (Dimensionamento Automático Controlado por Eventos do Kubernetes) para o AKS (Serviço de Kubernetes do Azure) usando a CLI do Azure.
Importante
A versão do cluster do Kubernetes determina a versão do KEDA que será 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:
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 complemento gerenciado do KEDA não execute atualmente a versão 2.15 do KEDA, ele começará a executá-lo na versão prévia 1.31 do AKS.
Para obter mais informações sobre como dimensionar seus aplicativos com segurança usando 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.
Antes de começar
- É necessária uma assinatura do Azure. Caso não tenha uma assinatura do Azure, é possível criar uma conta gratuita.
- Você precisa da CLI do Azure instalada.
- Certifique-se de ter as regras de firewall configuradas para permitir o acesso ao servidor de API do Kubernetes. Para obter mais informações, confira Regras de rede de saída e FQDN para clusters do Serviço de Kubernetes do Azure (AKS)
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ê verá os valores deAZURE_TENANT_ID
,AZURE_FEDERATED_TOKEN_FILE
eAZURE_AUTHORITY_HOST
.
Instale o complemento KEDA com a CLI do Azure
Para instalar o complemento KEDA, use --enable-keda
ao criar ou atualizar um cluster.
Habilitar o complemento KEDA no cluster do AKS
Observação
Embora o KEDA forneça várias opções de personalização, o complemento KEDA atualmente fornece configuração comum básica.
Caso você precise ter configurações personalizadas, edite manualmente os arquivos YAML do KEDA para personalizar a instalação. O Azure não oferece suporte para configurações personalizadas.
Criar um cluster do AKS com o complemento KEDA habilitado
Crie um grupo de recursos usando o comando
az group create
.az group create --name myResourceGroup --location eastus
Crie um cluster do AKS usando o comando
az aks create
e habilite o complemento KEDA usando o sinalizador--enable-keda
.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda \ --generate-ssh-keys
Habilitar o complemento KEDA em um cluster existente do AKS
Atualize um cluster existente usando o comando
az aks update
e habilite o complemento KEDA usando o sinalizador--enable-keda
.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda
Obter as credenciais para o cluster
Obtenha as credenciais do cluster do AKS usando o comando
az aks get-credentials
.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Verificar se o complemento KEDA está instalado no cluster
Verifique se o complemento KEDA está instalado no cluster usando o comando
az aks show
e defina o parâmetro--query
comoworkloadAutoScalerProfile.keda.enabled
.az aks show --resource-group myResourceGroup --name myAKSCluster --query "workloadAutoScalerProfile.keda.enabled"
O seguinte exemplo de saída mostra que o complemento KEDA está instalado no cluster:
true
Verificar se o KEDA está sendo executado no cluster
Verifique se o complemento KEDA está em execução no cluster usando o comando
kubectl get pods
.kubectl get pods -n kube-system
A saída do exemplo a seguir mostra que o operador KEDA, o hook 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
Verificar 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 app.kubernetes.io/version
etiqueta:
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
Desabilitar o complemento KEDA no cluster do AKS
Desabilite o complemento KEDA no cluster usando o comando
az aks update
com o sinalizador--disable-keda
.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --disable-keda
Próximas etapas
Este artigo mostrou como instalar o complemento KEDA em um cluster do AKS usando a CLI do Azure.
Com o complemento KEDA instalado em seu cluster, você pode implantar um aplicativo de amostra para começar a dimensionar aplicativos.
Para obter informações sobre a solução de problemas do KEDA, confira Solucionar problemas do complemento KEDA (dimensionamento automático controlado por eventos do Kubernetes).
Para saber mais, veja a documentação upstream do KEDA.
Azure Kubernetes Service