Instalar o suplemento de Dimensionamento Automático (KEDA) baseado em Eventos do Kubernetes com a CLI do Azure

Este artigo mostra-lhe como instalar o suplemento KeDA (Event-driven Autoscaling) do Kubernetes para Azure Kubernetes Service (AKS) com a CLI do Azure. O artigo inclui passos para verificar se está instalado e em execução.

Importante

O suplemento KEDA instala a versão 2.7.0 da KEDA no cluster.

Devido à política de Compatibilidade do Kubernetes da KEDA, o suplemento KEDA gerido só será suportado nas versões <do Kubernetes = 1.25 quando estiver disponível em geral. Siga as notas de versão a notificar para obter suporte adicional da versão do Kubernetes.

Pré-requisitos

  • Uma subscrição do Azure. Se não tiver uma subscrição do Azure, pode criar uma conta gratuita.
  • A CLI do Azure instalada.
  • As regras de firewall estão configuradas para permitir o acesso ao servidor da API do Kubernetes. (saiba mais)

Instalar a extensão da CLI do Azure aks-preview

Importante

As funcionalidades de pré-visualização do AKS estão disponíveis numa base personalizada e opt-in. As pré-visualizações são fornecidas "tal como estão" e "conforme disponíveis", sendo excluídas dos contratos de nível de serviço e da garantia limitada. As pré-visualizações do AKS são parcialmente abrangidas pelo suporte ao cliente numa base de melhor esforço. Como tal, estas funcionalidades não se destinam à utilização de produção. Para obter mais informações, veja os seguintes artigos de suporte:

Para instalar a extensão aks-preview, execute o seguinte comando:

az extension add --name aks-preview

Execute o seguinte comando para atualizar para a versão mais recente da extensão lançada:

az extension update --name aks-preview

Registar o sinalizador de funcionalidade "AKS-KedaPreview"

Registe o AKS-KedaPreview sinalizador de funcionalidade com o comando az feature register , conforme mostrado no exemplo seguinte:

az feature register --namespace "Microsoft.ContainerService" --name "AKS-KedaPreview"

O estado demora alguns minutos a mostrar Registado. Verifique o estado do registo com o comando az feature show :

az feature show --namespace "Microsoft.ContainerService" --name "AKS-KedaPreview"

Quando o estado refletir Registado, atualize o registo do fornecedor de recursos Microsoft.ContainerService com o comando az provider register :

az provider register --namespace Microsoft.ContainerService

Instalar o suplemento KEDA com a CLI do Azure

Para instalar o suplemento KEDA, utilize --enable-keda ao criar ou atualizar um cluster.

O exemplo seguinte cria um grupo de recursos myResourceGroup . Em seguida, cria um cluster myAKSCluster com o suplemento KEDA.

az group create --name myResourceGroup --location eastus

az aks create \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --enable-keda 

Para clusters existentes, utilize az aks update com --enable-keda a opção. O código seguinte mostra um exemplo.

az aks update \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --enable-keda 

Obter as credenciais do cluster

Obtenha as credenciais do cluster do AKS com o az aks get-credentials comando . O comando de exemplo seguinte obtém as credenciais para myAKSCluster no grupo de recursos myResourceGroup :

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster

Verifique se o suplemento KEDA está instalado no cluster

Para ver se o suplemento KEDA está instalado no cluster, verifique se o enabled valor é true para keda em workloadAutoScalerProfile.

O exemplo seguinte mostra o estado do suplemento KEDA para myAKSCluster em myResourceGroup:

az aks show -g "myResourceGroup" --name myAKSCluster --query "workloadAutoScalerProfile.keda.enabled" 

Verifique se a KEDA está em execução no cluster

Pode verificar se a KEDA está em execução no cluster. Utilizado kubectl para apresentar o operador e o servidor de métricas instalado no cluster do AKS no espaço de nomes do sistema kube. Por exemplo:

kubectl get pods -n kube-system 

O resultado de exemplo seguinte mostra que o operador KEDA e o servidor de API de métricas estão instalados no cluster do AKS juntamente com o respetivo estado.

kubectl get pods -n kube-system

keda-operator-********-k5rfv                     1/1     Running   0          43m
keda-operator-metrics-apiserver-*******-sj857   1/1     Running   0          43m

Para verificar a versão do KEDA, utilize kubectl get crd/scaledobjects.keda.sh -o yaml . Por exemplo:

kubectl get crd/scaledobjects.keda.sh -o yaml 

O seguinte exemplo de saída mostra a configuração da KEDA na app.kubernetes.io/version etiqueta:

kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: "2022-06-08T10:31:06Z"
  generation: 1
  labels:
    addonmanager.kubernetes.io/mode: Reconcile
    app.kubernetes.io/component: operator
    app.kubernetes.io/name: keda-operator
    app.kubernetes.io/part-of: keda-operator
    app.kubernetes.io/version: 2.7.0
  name: scaledobjects.keda.sh
  resourceVersion: "2899"
  uid: 85b8dec7-c3da-4059-8031-5954dc888a0b
spec:
  conversion:
    strategy: None
  group: keda.sh
  names:
    kind: ScaledObject
    listKind: ScaledObjectList
    plural: scaledobjects
    shortNames:
    - so
    singular: scaledobject
  scope: Namespaced
  # Redacted for simplicity

Embora a KEDA forneça várias opções de personalização, o suplemento KEDA fornece atualmente uma configuração comum básica.

Se tiver requisitos para executar com outras configurações personalizadas, como espaços de nomes que devem ser observados ou otimizados ao nível do registo, poderá editar manualmente o YAML de KEDA e implementá-lo.

No entanto, quando a instalação é personalizada, não será oferecido suporte para configurações personalizadas.

Desativar o suplemento KEDA do cluster do AKS

Quando já não precisar do suplemento KEDA no cluster, utilize a opção az aks update comando com-desativar-keda. Esta execução irá desativar o dimensionador automático da carga de trabalho KEDA.

az aks update \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --disable-keda 

Passos seguintes

Este artigo mostrou-lhe como instalar o suplemento KEDA num cluster do AKS com a CLI do Azure. Os passos para verificar se o suplemento KEDA está instalado e em execução estão incluídos. Com o suplemento KEDA instalado no cluster, pode implementar uma aplicação de exemplo para iniciar o dimensionamento de aplicações.

Pode resolver problemas de suplementos KEDA neste artigo.