EDAS支持已接入SchedulerX的應用在金絲雀發布時指定任務調度比例規則。規則配置完成后,升級后的任務應用會經過小規模驗證,驗證通過后再全量升級,保障升級過程平穩無損。本文介紹如何將已接入SchedulerX的EDAS應用在金絲雀發布時配置任務調度比例。
前提條件
- 金絲雀發布的應用已成功接入SchedulerX。具體操作,請參見EDAS應用接入SchedulerX。
- 已具備金絲雀發布條件:
- 對于ECS應用,應用中包含至少兩個實例分組,且至少兩個分組下包含實例。關于創建實例分組及為分組添加ECS實例的操作步驟,請參見使用控制臺管理ECS集群中的應用實例分組。
- 對于K8s應用,應用中包含至少兩個Pod。請在創建K8s應用時,Pod總數配置為2個及以上。具體操作,請參見在容器服務K8s集群中使用JAR包或WAR包部署應用。
- SchedulerX任務的時間類型配置為second_delay時,已參照下方代碼完成配置,并在配置完成后,重新打包發布應用。
- Java應用:
public void initSchedulerxWorker() throws Exception { SchedulerxWorker schedulerxWorker = new SchedulerxWorker(); ... schedulerxWorker.setEnableSecondDelayStandaloneDispatch(true); ... schedulerxWorker.init(); }
- Spring Boot應用:
在application.properties文件中設置如下參數。
spring.schedulerx2.enableSecondDelayStandaloneDispatch=true
- Java應用:
使用限制
目前SchedulerX任務執行模式僅支持單機運行。
ECS應用
操作步驟
- 登錄EDAS控制臺。
- 在左側導航欄,單擊 ,在頂部菜單欄選擇地域,并在頁面上方選擇微服務空間。
- 單擊需要金絲雀發布的應用名稱,在應用詳情頁面右上角,單擊部署應用。
- 在部署模式選擇頁面金絲雀發布(灰度)區域右上角,單擊開始部署。
- 在全鏈路流量控制頁面,上傳新版本應用的部署包,設置發布策略。具體操作,請參見使用控制臺金絲雀發布(ECS集群)。
- 在灰度規則區域,選擇按比例灰度頁簽,設置灰度規則,然后單擊確定。接入SchedulerX的ECS應用支持在線應用與任務調度兩種比例灰度規則的設置。
配置項 描述 在線應用 可開啟或關閉。 - 開啟:配置按比例流量規則生效。
- 關閉:配置按比例流量規則不生效。
流量比例 流量將按配置的比例被轉發至當前的灰度分組中。 任務調度 可開啟或關閉。 - 開啟:配置按比例任務調度規則生效。
- 關閉:配置按比例任務調度規則不生效。
Schedulerx任務 任務調度規則的作用范圍。目前僅支持對一個SchedulerX應用分組中所有任務生效,即所有任務都會按照調度比例被調度至灰度分組中。 調度比例 任務將按配置的比例被調度至當前的灰度分組中。 - 灰度發布啟動后,先在指定的灰度分組中部署新版本應用。基本信息頁面將提示應用有變更流程正在執行,處于執行中狀態。單擊查看詳情,進入變更詳情頁面查看部署進度和狀態。
結果驗證
灰度分組發布完成后,驗證任務調度的比例分配是否符合預期。
- 查看灰度分組實例中的業務日志。
- 登錄EDAS控制臺。
- 在左側導航欄,單擊應用列表頁面,單擊目標應用進入基本信息頁面。 ,在
- 在左側導航欄,單擊 。
- 在日志目錄頁面,單擊圖標,展開文件夾路徑,然后單擊日志文件操作列的在線查看。
- 在實時日志頁面,查看message,根據調度時間判斷灰度規則是否生效。
- 查看任務的實際調度情況與執行情況。
K8s應用
操作步驟
- 登錄EDAS控制臺。
- 在左側導航欄,單擊 ,在頂部菜單欄選擇地域,并在頁面上方選擇微服務空間。
- 單擊需要金絲雀發布的應用名稱,在應用詳情頁面右上角,單擊 。
- 在部署模式選擇頁面金絲雀發布(灰度)區域右上角,單擊開始部署。
- 在金絲雀發布(灰度)頁面設置新版本應用的部署參數、發布策略和灰度規則。具體操作,請參見使用控制臺金絲雀發布應用(K8s)。
- 在灰度規則區域,選擇按比例灰度頁簽,設置灰度規則,然后單擊確定。接入SchedulerX的K8s應用支持在線應用與任務調度兩種比例灰度規則的設置。
配置項 描述 在線應用 可開啟或關閉。 - 開啟:配置按比例流量規則生效。
- 關閉:配置按比例流量規則不生效。
流量比例 流量將按配置的比例被轉發至當前的灰度分組中。 任務調度 可開啟或關閉。 - 開啟:配置按比例任務調度規則生效。
- 關閉:配置按比例任務調度規則不生效。
Schedulerx任務 任務調度規則的作用范圍。目前僅支持對一個SchedulerX應用分組中所有任務生效,即所有任務都會按照調度比例被調度至灰度分組中。 調度比例 任務將按配置的比例被調度至當前的灰度分組中。 - 灰度發布啟動后,先在指定的灰度分組中部署新版本應用。基本信息頁面將提示應用有變更流程正在執行,處于執行中狀態。單擊查看詳情,進入變更記錄頁面查看部署進度和狀態。
結果驗證
灰度分組發布完成后,驗證任務調度的比例分配是否符合預期。
- 查看灰度分組實例中的業務日志。
- 登錄EDAS控制臺。
- 在左側導航欄,單擊應用列表頁面,單擊目標應用進入應用總覽頁面。 ,在
- 在左側導航欄,單擊日志中心,然后單擊日志目錄(在線查看)頁簽。
- 在日志目錄頁簽,選擇需要查看日志的Pod,然后單擊添加在線查看。
- 在添加在線查看對話框中,填寫應用日志目錄后,單擊添加。
- 在實時日志(標準輸出)頁面,查看實時日志,根據調度時間判斷灰度規則是否生效。
- 查看任務的實際調度情況與執行情況。