定時(shí)自動(dòng)擴(kuò)縮容功能
在業(yè)務(wù)負(fù)載可以預(yù)估的場(chǎng)景中,為了避免資源浪費(fèi),您可以開啟定時(shí)自動(dòng)擴(kuò)縮容功能。開啟后,在業(yè)務(wù)負(fù)載高峰到來前, 服務(wù)定時(shí)將實(shí)例數(shù)自動(dòng)擴(kuò)容到指定數(shù)量;在業(yè)務(wù)負(fù)載高峰結(jié)束后,服務(wù)定時(shí)將實(shí)例數(shù)自動(dòng)縮容到指定數(shù)量。 本文為您介紹如何管理定時(shí)自動(dòng)擴(kuò)縮容功能,以及水平與定時(shí)自動(dòng)擴(kuò)縮容的兼容性說明。
背景信息
管理定時(shí)自動(dòng)擴(kuò)縮容功能支持兩種方式(方式一:通過控制臺(tái)管理定時(shí)自動(dòng)擴(kuò)縮容功能和方式二:通過本地客戶端管理定時(shí)自動(dòng)擴(kuò)縮容功能)。如果您同時(shí)開啟了水平與定時(shí)自動(dòng)擴(kuò)縮容功能,水平自動(dòng)擴(kuò)縮容目標(biāo)實(shí)例數(shù)的最大值和最小值會(huì)隨著定時(shí)自動(dòng)擴(kuò)縮容的目標(biāo)實(shí)例數(shù)變化,具體實(shí)例數(shù)的生效方式請(qǐng)參見定時(shí)與水平自動(dòng)擴(kuò)縮容的兼容性說明。
方式一:通過控制臺(tái)管理定時(shí)自動(dòng)擴(kuò)縮容功能
開啟定時(shí)自動(dòng)擴(kuò)縮容功能
進(jìn)入模型在線服務(wù)(EAS)頁面。
登錄PAI控制臺(tái)。
在左側(cè)導(dǎo)航欄單擊工作空間列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進(jìn)入對(duì)應(yīng)的工作空間。
在工作空間頁面的左側(cè)導(dǎo)航欄選擇 ,進(jìn)入模型在線服務(wù)(EAS)頁面。
在服務(wù)列表中,單擊目標(biāo)服務(wù)名稱,進(jìn)入服務(wù)詳情頁面。
切換到自動(dòng)伸縮頁簽,在定時(shí)擴(kuò)縮容區(qū)域,單擊開啟定時(shí)擴(kuò)縮容。
在定時(shí)自動(dòng)擴(kuò)縮容設(shè)置對(duì)話框,配置以下參數(shù),您也可以單擊添加來配置多個(gè)定時(shí)自動(dòng)擴(kuò)縮容任務(wù)。參數(shù)配置完成后單擊確定。
參數(shù)
描述
任務(wù)名稱
定時(shí)自動(dòng)擴(kuò)縮容任務(wù)名稱,參考界面提示信息進(jìn)行配置。
目標(biāo)實(shí)例數(shù)
預(yù)期的實(shí)例數(shù)。
調(diào)度周期
定時(shí)執(zhí)行時(shí)間,支持以下三種設(shè)置方式:
星期:您可以設(shè)置每周定時(shí)執(zhí)行自動(dòng)擴(kuò)縮容的時(shí)間。
天:您可以設(shè)置每天定時(shí)執(zhí)行自動(dòng)擴(kuò)縮容的時(shí)間。
Cron表達(dá)式:您可以通過設(shè)置Cron表達(dá)式,指定定時(shí)自動(dòng)擴(kuò)縮容的時(shí)間,關(guān)于如何設(shè)置Cron表達(dá)式,請(qǐng)參見附錄:Cron表達(dá)式。
更新定時(shí)自動(dòng)擴(kuò)縮容配置信息
在自動(dòng)伸縮頁簽的定時(shí)擴(kuò)縮容區(qū)域,單擊管理定時(shí)擴(kuò)縮容。
在定時(shí)自動(dòng)擴(kuò)縮容設(shè)置對(duì)話框,修改任務(wù)名稱、目標(biāo)實(shí)例數(shù)或調(diào)度周期的配置信息。
單擊更新。
關(guān)閉定時(shí)自動(dòng)擴(kuò)縮容功能
在自動(dòng)伸縮頁簽的定時(shí)擴(kuò)縮容區(qū)域,單擊關(guān)閉定時(shí)擴(kuò)縮容。
在確定關(guān)閉對(duì)話框,單擊確定。
方式二:通過本地客戶端管理定時(shí)自動(dòng)擴(kuò)縮容功能
開啟定時(shí)自動(dòng)擴(kuò)縮容功能或更新配置
服務(wù)創(chuàng)建之后,默認(rèn)不開啟定時(shí)自動(dòng)擴(kuò)縮容功能,您可以登錄eascmd客戶端后使用cronscale子命令開啟定時(shí)自動(dòng)擴(kuò)縮容功能或更新配置,如何登錄eascmd客戶端,請(qǐng)參見下載并認(rèn)證客戶端。
命令格式(以Windows 64版本為例)
eascmdwin64.exe cronscale [region]/[service_name] -s cronscale.json
操作命令之前,您需要先按照參數(shù)說明配置cronscale.json,cronscale.json參數(shù)配置示例如下。
{
"ExcludeDates": ["* * * * * 6,0"],
"ScaleJobs": [
{
"Schedule": "0 15,45 * * * *",
"TargetSize": 6
},
{
"Schedule": "0 0,30 * * * *",
"TargetSize": 1
},
{
"Schedule": "0 7,22,37,52 * * * *",
"TargetSize": 3
}
]
}
參數(shù)名稱 | 說明 | 示例 |
ExcludeDates | 需要排除的時(shí)間點(diǎn),為一個(gè)Cron表達(dá)式,詳情請(qǐng)參見附錄:Cron表達(dá)式。 說明 如果ScaleJobs中的Cron表達(dá)式同時(shí)滿足ExcludeDates中的表達(dá)式,則ScaleJobs不會(huì)被執(zhí)行。 | ["* * * * * 0,6"] 每周的周六和周日不執(zhí)行定時(shí)擴(kuò)縮容任務(wù)。 |
ScaleJobs | 需要執(zhí)行的定時(shí)擴(kuò)縮容任務(wù),包含參數(shù)Schedule、TargetSize和Name:
| [ { "Schedule": "0 0 18 * * *", "TargetSize": 10, "Name": "scale-up" }, { "Schedule": "0 0 22 * * *", "TargetSize": 3, "Name": "scale-down" }] 在每天的18點(diǎn)整,將服務(wù)擴(kuò)容到10,每天的22點(diǎn)整,將服務(wù)縮容到3。 |
查看定時(shí)自動(dòng)擴(kuò)縮容的配置
命令格式(以Windows 64版本為例)
eascmdwin64.exe cronscale show [region]/[service_name]
[RequestId]: F4C38D2D-4B38-5CB7-B706-9A1C41D4617E
+--------------+----------------------------+---------+------------+----------------------+
| NAME | SCHEDULE | STATE | TARGETSIZE | LASTPROBETIME |
+--------------+----------------------------+---------+------------+----------------------+
| scale-jobs-1 | 0 5,15,25,35,45,55 * * * * | Succeed | 1 | 2022-03-03T13:45:00Z |
| scale-jobs-0 | 0 0,10,20,30,40,50 * * * * | Succeed | 4 | 2022-03-03T13:50:00Z |
+--------------+----------------------------+---------+------------+----------------------+
關(guān)閉定時(shí)自動(dòng)擴(kuò)縮容功能
命令格式(以Windows 64版本為例)
eascmdwin64.exe cronscale rm [region]/[service_name]
定時(shí)與水平自動(dòng)擴(kuò)縮容的兼容性說明
定時(shí)自動(dòng)擴(kuò)縮容(以下簡(jiǎn)稱Cronscaler)可以與水平自動(dòng)擴(kuò)縮容(以下簡(jiǎn)稱Autoscaler)同時(shí)開啟。同時(shí)開啟時(shí),Cronscaler修改的是Autoscaler的min或max。
雖然Cronscaler會(huì)永久性修改Autoscaler的配置,但在到達(dá)觸發(fā)時(shí)間點(diǎn)之前,生效的仍然是Autoscaler的原始配置。服務(wù)每次更新、升級(jí)時(shí),也會(huì)將Autoscaler的配置信息調(diào)整回原始配置。
同時(shí)開啟Cronscaler和Autoscaler時(shí),min和max的取值規(guī)則如下表所示。
水平自動(dòng)擴(kuò)縮容min/max | 定時(shí)自動(dòng)擴(kuò)縮容 | 最終結(jié)果min/max | 說明 |
2/5 | 1 | 1/5 | 如果Cronscaler的目標(biāo)實(shí)例數(shù)小于Autoscaler的最小值時(shí),Autoscaler的最小實(shí)例數(shù)將被修改為Cronscaler的目標(biāo)實(shí)例數(shù)。 |
2/5 | 6 | 6/6 | 如果Cronscaler的目標(biāo)實(shí)例數(shù)大于Autoscaler的最大實(shí)例數(shù)時(shí),Autoscaler的最小和最大實(shí)例數(shù)都將被修改為Cronscaler的目標(biāo)實(shí)例數(shù)。此時(shí),服務(wù)最終的實(shí)例數(shù)量固定,不會(huì)進(jìn)行彈性伸縮。 |
2/5 | 3 | 3/5 | 如果Cronscaler的目標(biāo)實(shí)例數(shù)在Autoscaler的最小值和最大值之間時(shí),Autoscaler的最小實(shí)例數(shù)將被修改為Cronscaler的目標(biāo)實(shí)例數(shù)。 |
附錄:Cron表達(dá)式
通過設(shè)置Cron表達(dá)式,開啟定時(shí)自動(dòng)擴(kuò)縮容功能。
Cron表達(dá)式
特殊符號(hào)說明
星號(hào)(*)
星號(hào)代表任意值,例如:
0 0 0 1 * *
代表每月1號(hào)的0點(diǎn)整。連字符(-)
連字符代表一段連續(xù)的取值范圍,例如:
0 0 12-14 * * *
代表每天的12:00、13:00 和14:00。逗號(hào)(,)
連字符代表一段取值范圍,例如:
0 0 12,14 * * *
代表每天的12:00 和14:00。斜杠(/)
斜杠用來代表一段增量的區(qū)間,例如:
0 */15 * * * *
代表每小時(shí)的 0分、15分、30分、和45分。斜杠可以和連字符配合使用,例如0 5-40/15 * * * *
代表每小時(shí)從5分到40分鐘之間,每隔15分鐘取一個(gè)值,有效時(shí)間點(diǎn)可以是 0:05、0:20或0:35。
時(shí)間參數(shù)說明
名稱
可用值
可用特殊符號(hào)
秒
0-59
* / , -
分
0-59
* / , -
小時(shí)
0-23
* / , -
日
1-31
* / , -
月
1-12 或 JAN-DEC
* / , -
星期
0-6 或 SUN-SAT
* / , -
相關(guān)文檔
啟用水平自動(dòng)擴(kuò)縮容功能,系統(tǒng)將根據(jù)您設(shè)定的指標(biāo)自動(dòng)進(jìn)行實(shí)例的擴(kuò)容或縮容,詳情請(qǐng)參見水平自動(dòng)擴(kuò)縮容功能。
為保證服務(wù)擴(kuò)容時(shí),不受專屬資源組機(jī)器資源的限制,您可以使用EAS提供的彈性資源池功能。詳情請(qǐng)參見彈性資源池。