容器定时伸缩
应对资源浪费的场景,容器提供cubescaler组件,实现资源定时扩容。本文介绍如何实现容器的定时伸缩。
前提条件
- 您已创建集群,请参照 快速入门->创建一个集群内容进行创建。
- 已在本地计算机上安装Helm。
背景信息
cubescaler是一个多事件源驱动的插件,其中包括定时驱动,支持以cron表达式定时对集群进行扩缩容。
以下举例对各字段进行解释说明。
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: cron-scaledobject
namespace: kube-system
spec:
scaleTargetRef:
name: coredns
triggers:
- type: cron
metadata:
timezone: Asia/Shanghai
start: 10 * * * *
end: 15 * * * *
desiredReplicas: "4"
字段 | 说明 |
---|---|
scaleTargetRef | 指定去扩缩容对象。 |
type | 事件源类型,定时伸缩固定为cron |
timezone | 时区 |
start | 开始时间 |
end | 结束时间 |
desiredReplicas | 期望副本数 |
安装插件
您可以通过以下方式安装cubescaler插件。
- 登录容器服务管理控制台,在左侧导航栏选择集群。
- 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择插件市场。
- 在插件市场页面找到cubescaler,然后单击安装。
创建定时伸缩任务
场景一:在创建应用时创建定时伸缩任务,在创建应用的页面选中定时伸缩
控制台会自动检查是否已安装cubescaler组件。如果cubescaler组件未被安装,页面提示点击安装。安装cubescaler组件后,页面显示定时伸缩任务的创建配置。
场景二:为已有应用创建定时伸缩任务
- 登录容器服务管理控制台,在左侧导航栏选择集群。
- 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态。
- 在无状态页面,单击应用右侧操作列下的水平伸缩。
- 如果cubescaler组件未被安装,页面提示点击安装。单击点击安装后,然后进行以下步骤。
- 如果cubescaler组件已被安装,直接进行以下步骤。
- 单击定时伸缩开启,然后在对话框中,设置定时伸缩任务的创建参数。