Compartilhar via


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

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:

  1. Reinicie os pods executando kubectl rollout restart deployment keda-operator -n kube-system.

  2. Obtenha os pods do operador KEDA usando kubectl get pod -n kube-system e localizando os pods que começam com keda-operator.

  3. Verifique a injeção bem-sucedida das variáveis de ambiente executando kubectl describe pod <keda-operator-pod> -n kube-system. Em Environment, você verá os valores de AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILE e AZURE_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

  1. Crie um grupo de recursos usando o comando az group create.

    az group create --name myResourceGroup --location eastus
    
  2. 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 como workloadAutoScalerProfile.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/versionetiqueta:

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.