Compartir vía


Instalación del complemento de escalado automático controlado por eventos de Kubernetes (KEDA) mediante la CLI de Azure

En este artículo se muestra cómo instalar el complemento de escalado automático controlado por eventos de Kubernetes (KEDA) en Azure Kubernetes Service (AKS) mediante la CLI de Azure.

Importante

La versión de Kubernetes del clúster determina qué versión de KEDA se instalará en el clúster de AKS. Para ver qué versión de KEDA se asigna a cada versión de AKS, vea la columna de complementos administrados de AKS de la tabla de versiones de componentes de Kubernetes.

En el caso de las versiones de Kubernetes de disponibilidad general, AKS ofrece compatibilidad completa con la versión secundaria de KEDA correspondiente en la tabla. Las versiones preliminares de Kubernetes y la revisión más reciente de KEDA están parcialmente cubiertas por el soporte técnico al cliente de la mejor manera posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:

Nota:

La versión 2.15 de KEDA presenta un cambio importante que quita la compatibilidad con la identidad de pod. Se recomienda pasar a la identidad de la carga de trabajo para la autenticación si usa la identidad de pod. Aunque el complemento administrado por KEDA no ejecuta actualmente la versión 2.15 de KEDA, comenzará a ejecutarlo en la versión preliminar 1.31 de AKS.

Para obtener más información sobre cómo escalar de forma segura las aplicaciones con identidad de carga de trabajo, lea nuestro tutorial. Para ver la directiva de cambio importante o de desuso de KEDA, lea la documentación oficial.

Antes de empezar

Nota:

Si usa id. de carga de trabajo de Microsoft Entra ID y habilita KEDA antes del identificador de carga de trabajo, debe reiniciar los pods del operador KEDA para que se puedan insertar las variables de entorno adecuadas:

  1. Para reiniciar los pods, ejecute kubectl rollout restart deployment keda-operator -n kube-system.

  2. Obtenga pods de operador KEDA mediante kubectl get pod -n kube-system y busque pods que comiencen por keda-operator.

  3. Compruebe la inserción correcta de las variables de entorno ejecutando kubectl describe pod <keda-operator-pod> -n kube-system. En Environment, debería ver los valores de AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILEy AZURE_AUTHORITY_HOST.

Instalación del complemento KEDA con la CLI de Azure

Para instalar el complemento KEDA, use --enable-keda al crear o actualizar un clúster.

Habilitación del complemento KEDA en el clúster de AKS

Nota:

Aunque KEDA proporciona varias opciones de personalización, el complemento KEDA proporciona actualmente una configuración común básica.

Si necesita configuraciones personalizadas, puede editar manualmente los archivos YAML de KEDA para personalizar la instalación. Azure no ofrece asistencia para las configuraciones personalizadas.

Creación de un clúster de AKS con el complemento KEDA habilitado

  1. Cree un grupo de recursos con el comando az group create.

    az group create --name myResourceGroup --location eastus
    
  2. Cree un clúster de AKS con el comando az aks create y habilite el complemento KEDA con la marca --enable-keda.

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

Habilitación del complemento KEDA en un clúster de AKS existente

  • Actualice un clúster existente con el comando az aks update y habilite el complemento KEDA con la marca --enable-keda.

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

Obtención de las credenciales del clúster

  • Obtenga las credenciales del clúster de AKS mediante el comando az aks get-credentials.

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

Comprobación de la instalación del complemento KEDA en el clúster

  • Compruebe que el complemento KEDA está instalado en el clúster mediante el comando az aks show y establezca el parámetro--query en workloadAutoScalerProfile.keda.enabled.

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

    En la salida del ejemplo siguiente se muestra que el complemento KEDA está instalado en el clúster:

    true
    

Comprobación de que KEDA está en ejecución en el clúster

  • Compruebe que el complemento KEDA está en ejecución en el clúster mediante el comando kubectl get pods.

    kubectl get pods -n kube-system 
    

    En la salida del ejemplo siguiente se muestra que el operador KEDA, el enlace de admisiones y el servidor de API de métricas están instalados en el clúster:

    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
    

Comprobación de la versión de KEDA en el clúster

Para comprobar la versión de KEDA, use kubectl get crd/scaledobjects.keda.sh -o yaml . Por ejemplo:

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

En la siguiente salida de ejemplo se muestra la configuración de KEDA en la 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

Deshabilitación del complemento KEDA en el clúster de AKS

  • Deshabilite el complemento KEDA en el clúster mediante el comando az aks update con la marca --disable-keda.

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

Pasos siguientes

En este artículo se ha mostrado cómo instalar el complemento KEDA en un clúster de AKS mediante la CLI de Azure.

Con el complemento KEDA instalado en el clúster, puede implementar una aplicación de ejemplo para iniciar el escalado de aplicaciones.

Para obtener información sobre la solución de problemas de KEDA, consulte Solución de problemas del complemento de Escalado automático controlado por eventos de Kubernetes (KEDA).

Para obtener más información, vea los documentos de KEDA de nivel superior .