Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Надстройка KEDA для AKS в настоящее время не поддерживает изменение запросов ЦП или ограничений и других значений Helm для сервера метрик или оператора. Имейте в виду это ограничение при использовании надстройки. Если у вас есть вопросы, вы можете обратиться здесь.
Автомасштабирование на основе событий Kubernetes (KEDA) — это единый и упрощенный компонент, который стремится сделать автоматическое масштабирование приложений простым и является проектом выпускника Федерации облачных машинных вычислений (CNCF).
Она применяет автоматическое масштабирование на основе событий для масштабирования приложения для удовлетворения спроса на устойчивой и экономичной основе с масштабированием до нуля.
Надстройка KEDA еще больше упрощает работу, разворачивая управляемую установку KEDA и предоставляя вам обширный каталог масштабаторов Azure KEDA, с помощью которых вы можете масштабировать свои приложения в кластере Служб Azure Kubernetes (AKS).
Замечание
KEDA версии 2.15+ вводит важное изменение, которое удаляет поддержку идентификации pod. Рекомендуется перейти к удостоверению рабочей нагрузки для проверки подлинности, если вы используете удостоверение pod. Хотя контролируемая надстройка KEDA в настоящее время не запускает KEDA версии 2.15+, она начнет запускать его в предварительном выпуске AKS 1.32.
Чтобы получить дополнительную информацию о безопасном масштабировании ваших приложений с использованием удостоверения рабочего процесса, прочитайте наше руководство. Чтобы просмотреть политику критических изменений и отмены KEDA, ознакомьтесь с официальной документацией.
Архитектура
KEDA предоставляет два основных компонента:
-
Оператор KEDA позволяет конечным пользователям масштабировать рабочие нагрузки с 0 до N экземпляров с поддержкой развертываний Kubernetes, заданий
StatefulSets
или любого пользовательского ресурса, определяющего/scale
подресурс. - Сервер метрик предоставляет внешние метрики к горизонтальному автомасштабированию Pod (HPA) в Kubernetes в целях авто масштабирования, например, количество сообщений в теме Kafka или число событий в концентраторе событий Azure. Из-за ограничений на уровне вышестоящих систем KEDA должен быть единственным установленным адаптером внешних метрик.
Узнайте больше о том, как KEDA работает в официальной документации KEDA.
Установка
KEDA можно добавить в кластер Службы Azure Kubernetes (AKS), включив надстройку KEDA с помощью шаблона ARM или Azure CLI.
Надстройка KEDA предоставляет полностью поддерживаемую установку KEDA, интегрированную с AKS.
Возможности и функции
KEDA предоставляет следующие возможности и функции:
- Создание устойчивых и экономичных приложений с помощью масштабирования до нуля
- Масштабируйте рабочие нагрузки приложений для удовлетворения спроса с помощью богатого каталога масштабаторов Azure KEDA
- Приложения автомасштабирования с
ScaledObjects
такими, как развертывания,StatefulSets
или любой пользовательский ресурс, определяющий/scale
подресурс - Автомасштабирование job-подобных рабочих нагрузок с помощью
ScaledJobs
- Использование безопасности рабочего уровня путем отмены автоматического масштабирования проверки подлинности от рабочих нагрузок
- Перенос собственного внешнего масштабировщика для использования решений автоматического масштабирования
- Интеграция с идентификатором рабочей нагрузки Microsoft Entra для проверки подлинности
Замечание
Если вы планируете использовать удостоверение для рабочих процессов, включите надстройку для удостоверения рабочих процессов перед включением надстройки KEDA.
Ограничения дополнений
Надстройка KEDA AKS имеет следующие ограничения:
- Надстройка HTTP KEDA (предварительная версия) для масштабирования рабочих нагрузок HTTP не устанавливается вместе с расширением, но ее можно развернуть отдельно.
- Внешнее средство масштабирования KEDA для Azure Cosmos DB для масштабирования на основе канала изменений Azure Cosmos DB не устанавливается вместе с расширением, но его можно развернуть отдельно.
- В кластере Kubernetes разрешен только один внешний сервер метрик. Из-за этого надстройка KEDA должна быть единственным внешним сервером метрик в кластере.
- Несколько установок KEDA не поддерживаются
- Не рекомендуется комбинировать KEDA
ScaledObject
с горизонтальным автомасштабированием приложений (HPA) для масштабирования той же рабочей нагрузки. Они конкурируют друг с другом, поскольку KEDA использует Horizontal Pod Autoscaler (HPA) в фоновом режиме, что приводит к необычному масштабированию.- Если сначала создается HPA, а затем создается KEDA, то создание KEDA
ScaledObject
потерпит неудачуScaledObject
. - Если первым создается KEDA
ScaledObject
, а затем создается HPA, создание HPA не блокируется.
- Если сначала создается HPA, а затем создается KEDA, то создание KEDA
Для общих вопросов KEDA мы рекомендуем ознакомиться с обзором часто задаваемых вопросов.
Замечание
Если вы используете Идентификатор рабочей нагрузки 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
.
Поддерживаемые версии Kubernetes и KEDA
Версия Kubernetes вашего кластера определяет, какая версия KEDA установлена в вашем кластере AKS. Чтобы увидеть, какие версии KEDA соответствуют каждой версии AKS, смотрите в столбце управляемые дополнения AKS таблицы версий компонентов Kubernetes.
Для версий GA Kubernetes AKS обеспечивает полную поддержку соответствующей минорной версии KEDA из таблицы. Предварительные версии Kubernetes и последнее исправление KEDA частично поддерживаются клиентской службой по мере возможности. Как таковые, эти функции не предназначены для использования в производстве. Для получения дополнительной информации ознакомьтесь со следующими статьями поддержки:
Дальнейшие шаги
Azure Kubernetes Service