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
- Necesita una suscripción de Azure. Si no tiene una suscripción a Azure, puede crear una cuenta gratuita.
- Necesita tener instalada la CLI de Azure.
- Asegúrese de que tiene configuradas las reglas de firewall para permitir el acceso al servidor de API de Kubernetes. Para más información, consulte Reglas de FQDN y red de salida para clústeres de Azure Kubernetes Service (AKS).
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:
Para reiniciar los pods, ejecute
kubectl rollout restart deployment keda-operator -n kube-system
.Obtenga pods de operador KEDA mediante
kubectl get pod -n kube-system
y busque pods que comiencen porkeda-operator
.Compruebe la inserción correcta de las variables de entorno ejecutando
kubectl describe pod <keda-operator-pod> -n kube-system
. EnEnvironment
, debería ver los valores deAZURE_TENANT_ID
,AZURE_FEDERATED_TOKEN_FILE
yAZURE_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
Cree un grupo de recursos con el comando
az group create
.az group create --name myResourceGroup --location eastus
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
enworkloadAutoScalerProfile.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 .
Azure Kubernetes Service