Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Надстройка KEDA для AKS в настоящее время не поддерживает изменение запросов ЦП или ограничений и других значений Helm для сервера метрик или оператора. Имейте в виду это ограничение при использовании надстройки. Если у вас есть вопросы, вы можете обратиться здесь.
В этой статье рассказывается, как установить надстройку Kubernetes Event-driven Autoscaling (KEDA) в службе Azure Kubernetes Service (AKS) с помощью Azure CLI.
Это важно
Версия Kubernetes кластера определяет, какая версия KEDA будет установлена в кластере AKS. Чтобы увидеть, какие версии KEDA соответствуют каждой версии AKS, смотрите в столбце управляемые дополнения AKS таблицы версий компонентов Kubernetes.
Для версий GA Kubernetes AKS обеспечивает полную поддержку соответствующей минорной версии KEDA из таблицы. Предварительные версии Kubernetes и последнее исправление KEDA частично поддерживаются клиентской службой по мере возможности. Как таковые, эти функции не предназначены для использования в производстве. Для получения дополнительной информации ознакомьтесь со следующими статьями поддержки:
Замечание
KEDA версии 2.15+ вводит важное изменение, которое удаляет поддержку идентификации pod. Рекомендуется перейти к удостоверению рабочей нагрузки для проверки подлинности, если вы используете удостоверение pod. Хотя управляемая надстройка KEDA в настоящее время не поддерживает версию 2.15 KEDA и выше, она начнет поддерживаться в предварительной версии AKS, начиная с версии 1.31.
Дополнительные сведения о безопасном масштабировании приложений с удостоверением рабочей нагрузки см. в нашем руководстве. Чтобы просмотреть политику критических изменений и депрекации KEDA, ознакомьтесь с официальной документацией.
Перед тем как начать
- Вам требуется подписка Azure. Если у вас нет подписки Azure, можно создать бесплатную учетную запись.
- Необходимо установить Azure CLI.
- Убедитесь, что у вас есть правила брандмауэра, настроенные для предоставления доступа к серверу API Kubernetes. Дополнительные сведения см. в разделе Правила исходящей сети и FQDN для кластеров Azure Kubernetes Service (AKS).
Замечание
Если вы используете Идентификатор рабочей нагрузки Microsoft Entra и включили KEDA перед тем, как включили Идентификатор рабочей нагрузки, необходимо перезапустить поды оператора KEDA, чтобы можно было внедрить соответствующие переменные среды:
Перезапустите поды, выполнив команду
kubectl rollout restart deployment keda-operator -n kube-system
.Получение модулей pod оператора KEDA с помощью
kubectl get pod -n kube-system
и поиска модулей pod, которые начинаются сkeda-operator
.Проверьте успешное внедрение переменных среды, выполнив команду
kubectl describe pod <keda-operator-pod> -n kube-system
. В разделеEnvironment
должны отображаться значения дляAZURE_TENANT_ID
,AZURE_FEDERATED_TOKEN_FILE
иAZURE_AUTHORITY_HOST
.
Установка надстройки KEDA с помощью Azure CLI
Чтобы установить надстройку KEDA, используйте --enable-keda
при создании или обновлении кластера.
Активируйте надстройку KEDA в вашем кластере AKS
Замечание
В то время как KEDA предоставляет различные параметры настройки, надстройка KEDA в настоящее время предоставляет базовую общую конфигурацию.
Если вам требуются кастомные конфигурации, вы можете вручную изменить файлы KEDA YAML, чтобы настроить установку. Azure не поддерживает пользовательские конфигурации.
Создание кластера AKS с включенной надстройкой KEDA
Создайте группу ресурсов с помощью команды
az group create
.az group create --name myResourceGroup --location eastus
Создайте кластер AKS с помощью
az aks create
команды и включите надстройку KEDA с помощью флага--enable-keda
.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda \ --generate-ssh-keys
Включение надстройки KEDA в существующем кластере AKS
Обновите существующий кластер с помощью
az aks update
команды и включите надстройку KEDA с помощью флага--enable-keda
.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda
Получите учетные данные для вашего кластера
Получите учетные данные для вашего кластера AKS, используя команду
az aks get-credentials
.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Убедитесь, что надстройка KEDA установлена в вашем кластере
Убедитесь, что надстройка KEDA установлена в вашем кластере, используя команду
az aks show
, и задайте параметру--query
значениеworkloadAutoScalerProfile.keda.enabled
.az aks show --resource-group myResourceGroup --name myAKSCluster --query "workloadAutoScalerProfile.keda.enabled"
В следующем примере выходных данных показана установка надстройки KEDA в кластере:
true
Убедитесь, что KEDA работает в вашем кластере
Убедитесь, что надстройка KEDA запущена на вашем кластере с использованием команды
kubectl get pods
.kubectl get pods -n kube-system
В следующем примере выходных данных показано, что оператор KEDA, хуки приемов и сервер API для метрик установлены в кластере.
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
Проверка версии KEDA в кластере
Чтобы проверить версию KEDA, используйте kubectl get crd/scaledobjects.keda.sh -o yaml
. Рассмотрим пример.
kubectl get crd/scaledobjects.keda.sh -o yaml
В следующем примере выходных данных показана конфигурация KEDA в 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
Отключите надстройку KEDA в кластере AKS
Отключите надстройку KEDA в кластере, используя команду
az aks update
с флагом--disable-keda
.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --disable-keda
Дальнейшие шаги
В этой статье показано, как установить надстройку KEDA в кластере AKS с помощью Azure CLI.
Установив надстройку KEDA в кластере, вы можете развернуть пример приложения для запуска масштабирования приложений.
Дополнительные сведения об устранении неполадок KEDA см. в разделе "Устранение неполадок с автомасштабированием на основе событий Kubernetes (KEDA)".
Дополнительные сведения см. в вышестоящей документации KEDA.
Azure Kubernetes Service