你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Kubernetes Event-driven Autoscaling (KEDA) 加载项(预览版)简化的应用程序自动缩放

Kubernetes Event-driven Autoscaling (KEDA) 是一个单一用途和轻型组件,旨在简化应用程序的自动缩放,并且是一个 CNCF 孵化项目。

它应用事件驱动的自动缩放来缩放应用程序,以可持续且经济高效的方式满足需求,并采用缩放到零。

KEDA 加载项通过部署托管 KEDA 安装,为你提供包含 50 多个 KEDA 缩放程序的丰富目录,让你可以在 Azure Kubernetes 服务 (AKS)群集上缩放应用程序,从而使工作更加轻松。

重要

AKS 预览功能是可选择启用的自助功能。 预览功能是“按现状”和“按可用”提供的,不包括在服务级别协议和有限保证中。 AKS 预览功能是由客户支持尽最大努力部分覆盖。 因此,这些功能并不适合用于生产。 有关详细信息,请参阅以下支持文章:

体系结构

KEDA 提供两个主要组件:

  • 通过 KEDA 运算符,最终用户可将工作负载从 0 横向缩放到 N 实例,并支持 Kubernetes 部署、作业、StatefulSets 或定义 /scale 子资源的任何自定义资源。
  • 指标服务器向 Kubernetes 中的 Horizontal Pod Autoscaler (HPA) 公开外部指标,用于自动缩放,例如 Kafka 主题中的消息或 Azure 事件中心的事件数。 由于上游限制,KEDA 必须是唯一安装的指标适配器。

示意图显示 KEDA 的体系结构,还显示它如何扩展 Kubernetes,而不是重新创建。

详细了解 KEDA 在官方 KEDA 文档中的工作方式。

安装和版本

可以通过使用 ARM 模板Azure CLI 启用 KEDA 加载项,将 KEDA 添加到 Azure Kubernetes 服务 (AKS) 群集。

KEDA 加载项提供与 AKS 集成的完全受支持的 KEDA 安装。

重要

KEDA 加载项在群集上安装 2.7.0 版 KEDA。

功能和特性

KEDA 提供以下功能和特性:

  • 使用缩放到零构建可持续且经济高效的应用程序
  • 使用 50 多个 KEDA 缩放程序丰富的目录缩放应用程序工作负载以满足需求
  • 使用 ScaledObjects 自动缩放应用程序,例如 Deployments, StatefulSets 或任何定义 /scale 子资源的自定义资源
  • 使用 ScaledJobs 自动缩放类似作业的工作负载
  • 通过将自动缩放身份验证与工作负载分离来使用生产级安全性
  • 自带外部缩放器,以使用定制的自动缩放决策

附加限制

KEDA AKS 加载项具有以下限制:

  • KEDA 的 HTTP 加载项(预览版)未随扩展一起安装 HTTP 工作负载,但可以单独部署。
  • KEDA 的用于 Azure Cosmos DB 的外部缩放程序基于 Azure Cosmos DB 更改源进行缩放,不会随扩展一起安装,但可以单独部署。
  • Kubernetes 群集中只允许一个指标服务器。 因此,KEDA 加载项应该是群集中唯一的指标服务器。
    • 不支持多个 KEDA 安装
  • 不支持托管标识。

对于一般 KEDA 问题,我们建议访问常见问题解答概述

后续步骤