创建事件驱动伸缩
本节介绍如何创建事件驱动伸缩(KEDA),即 ScaledObject 资源。
前提条件
操作步骤
-
以具有事件驱动伸缩管理权限的用户登录 KubeSphere Web 控制台并进入您的集群或企业空间。
-
在左侧导航栏选择弹性伸缩 > 事件驱动伸缩。
-
在页面点击创建。
-
在基本信息页签,设置事件驱动伸缩的基本信息和伸缩对象,然后点击下一步。
-
在伸缩设置页签,设置允许的最小和最大 Pod 副本数量、回退机制、触发器等伸缩规则,然后点击下一步。
-
在高级设置页签,设置伸缩行为等,然后点击创建。
参数描述
以下介绍如何设置 KEDA 的参数。
-
基本信息
参数 描述 名称
事件驱动伸缩的名称。名称只能包含小写字母、数字和连字符(-),必须以小写字母或数字开头和结尾,最长 253 个字符。
别名
事件驱动伸缩的别名。不同 KEDA 的别名可以相同。
描述
事件驱动伸缩的描述信息。描述可包含任意字符,最长 256 个字符。
伸缩对象
选择部署和有状态副本集作为伸缩对象。
-
伸缩设置 > 基础设置
参数 描述 最小副本数
允许的容器组副本的最小数量,默认为 0。
最大副本数
允许的容器组副本的最大数量,默认为 100。
轮询间隔
KEDA 检查每个触发器指标值的时间间隔。
等待时间
从最后一个触发器报告有活动到 KEDA 将资源缩容到 0 之间的等待时间。
-
伸缩设置 > 回退设置
当无法从外部事件源获取指标时,KEDA 应采取的回退机制。
参数 描述 失败阈值
允许每个伸缩器连续获取指标失败的最大次数。
回退副本数
当伸缩器失败次数超过阈值后,工作负载应该被缩放至的副本数量。
-
伸缩设置 > 触发器设置
触发器设置定义了如何伸缩的核心规则。
点击添加触发器,可选择
Cron、Prometheus类型的触发器,还可以自定义触发器。更多信息,可参阅触发器类型与最佳实践。若添加多个触发器,KEDA 会计算每个触发器所期望的副本数,并选择其中最大值来执行。
-
Cron 触发器
通过配置 Cron 触发器,您可以将特定时间段内的 Pod 副本数量扩缩至指定值。
参数 描述 时区
Cron 表达式所依据的时区。
期望副本数
在 Cron 计划定义的“开始”和“结束”时间点之间,工作负载应该被扩缩至的 Pod 副本数量,其需在最小和最大副本数的限制范围内。
开始
指示 Cron 计划开始时间的 Cron 表达式。
结束
指示 Cron 计划结束时间的 Cron 表达式。
-
Prometheus 触发器
Prometheus 触发器允许您根据自定义的 PromQL 查询结果进行弹性伸缩,适用于需要基于特定指标进行伸缩的场景。
参数 描述 地址
集群内部可以访问到的 Prometheus 服务的地址。
阈值
阈值是您为每个 Pod 设定的目标平均负载值。当根据 PromQL 查询结果与当前副本数计算出的平均负载超过此值时,便会触发扩缩容操作。
激活阈值
从 0 个副本扩容到 1 个副本的阈值。当 PromQL 查询结果超过此值时才开始监控和伸缩,避免在低负载时频繁检查。
如果留空,则会默认使用刚才设置的阈值。
注意:若设置的最小副本数 ≥ 1,则始终激活且忽略激活阈值。
表达式
用于查询 Prometheus 的 PromQL 语句。
触发器认证
如果外部事件源需要身份验证(如 API 密钥、证书等),可以在这里配置认证信息。
支持多种认证方式:
-
Secret 引用:从 Kubernetes Secret 中获取连接信息
-
环境变量:从 Pod 环境变量中获取凭据
-
Pod 身份:使用 Pod 的 ServiceAccount 进行认证
元数据
提供给 Prometheus 触发器的额外参数,用于特殊配置。
-
-
自定义触发器
自定义指标进行弹性伸缩。
参数 描述 类型
触发器的类型。
触发器参数
触发器类型不同,需要配置的参数就不同。
更多触发器类型及其配置信息,请参阅 KEDA 触发器官方文档。
触发器认证
如果外部事件源需要身份验证(如 API 密钥、证书等),可以在这里配置认证信息。
支持多种认证方式:
-
Secret 引用:从 Kubernetes Secret 中获取连接信息
-
环境变量:从 Pod 环境变量中获取凭据
-
Pod 身份:使用 Pod 的 ServiceAccount 进行认证
-
-
-
高级设置 > 恢复到原始副本数
删除伸缩规则后,是否将被管理的工作负载的副本数恢复到原始副本数,还是保持当前副本数不变。
-
高级设置 > 伸缩行为
配置工作负载在扩容和缩容两个方向的伸缩行为。更多配置信息,可参阅 KEDA 最佳实践。
参数 描述 策略偏好
当扩容策略/缩容策略下存在多条策略时,伸缩器将根据策略偏好从这些策略的计算结果中选择最终值。
-
倾向于大幅度伸缩:按照副本数变化最大的策略执行伸缩。
-
倾向于小幅度伸缩:按照副本数变化最小的策略执行伸缩。
-
禁止伸缩:禁用该方向的扩缩。
稳定窗口时间
伸缩器会在设定的时间窗口内收集所有建议副本数,并基于规则选择一个最终值,以防止指标短暂波动造成的副本数量频繁变化。
策略类型
扩缩容计算所依据的基准。
-
百分比:以当前副本数量的百分比进行扩缩容。
-
容器组:以固定的 Pod 数量进行扩缩容。
扩容值/缩容值
当前策略中,单次扩缩操作所允许的最大变化量。
激活时间
策略生效前,其关联的指标规则必须持续满足的最短时间窗口。单位为秒。
-
点击添加可设置多条扩缩策略。
-
在已创建的策略右侧点击
可删除策略。
-