EDAS支持已接入SchedulerX的應用在金絲雀發布時指定任務調度比例規則。規則配置完成后,升級后的任務應用會經過小規模驗證,驗證通過后再全量升級,保障升級過程平穩無損。本文介紹如何將已接入SchedulerX的EDAS應用在金絲雀發布時配置任務調度比例。

前提條件

  • 金絲雀發布的應用已成功接入SchedulerX。具體操作,請參見EDAS應用接入SchedulerX
  • 已具備金絲雀發布條件:
  • 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

使用限制

目前SchedulerX任務執行模式僅支持單機運行。

ECS應用

操作步驟

  1. 登錄EDAS控制臺
  2. 在左側導航欄,單擊應用管理 > 應用列表,在頂部菜單欄選擇地域,并在頁面上方選擇微服務空間。
  3. 單擊需要金絲雀發布的應用名稱,在應用詳情頁面右上角,單擊部署應用
  4. 部署模式選擇頁面金絲雀發布(灰度)區域右上角,單擊開始部署
  5. 全鏈路流量控制頁面,上傳新版本應用的部署包,設置發布策略。具體操作,請參見使用控制臺金絲雀發布(ECS集群)
  6. 在灰度規則區域,選擇按比例灰度頁簽,設置灰度規則,然后單擊確定
    接入SchedulerX的ECS應用支持在線應用任務調度兩種比例灰度規則的設置。
    配置項描述
    在線應用可開啟或關閉。
    • 開啟:配置按比例流量規則生效。
    • 關閉:配置按比例流量規則不生效。
    流量比例流量將按配置的比例被轉發至當前的灰度分組中。
    任務調度可開啟或關閉。
    • 開啟:配置按比例任務調度規則生效。
    • 關閉:配置按比例任務調度規則不生效。
    Schedulerx任務任務調度規則的作用范圍。目前僅支持對一個SchedulerX應用分組中所有任務生效,即所有任務都會按照調度比例被調度至灰度分組中。
    調度比例任務將按配置的比例被調度至當前的灰度分組中。
  7. 灰度發布啟動后,先在指定的灰度分組中部署新版本應用。基本信息頁面將提示應用有變更流程正在執行,處于執行中狀態。單擊查看詳情,進入變更詳情頁面查看部署進度和狀態。

結果驗證

灰度分組發布完成后,驗證任務調度的比例分配是否符合預期。

  1. 查看灰度分組實例中的業務日志。
    1. 登錄EDAS控制臺
    2. 在左側導航欄,單擊應用管理 > 應用列表,在應用列表頁面,單擊目標應用進入基本信息頁面。
    3. 在左側導航欄,單擊日志管理 > 日志目錄
    4. 日志目錄頁面,單擊展開圖標,展開文件夾路徑,然后單擊日志文件操作列的在線查看
    5. 實時日志頁面,查看message,根據調度時間判斷灰度規則是否生效。
  2. 查看任務的實際調度情況與執行情況。
    1. 登錄EDAS控制臺
    2. 在左側導航欄,單擊任務調度 > 執行列表,單擊對應任務操作列的詳情
    3. 任務實例詳情面板,單擊歷史執行記錄頁簽,可查看任務實例運行結果。
      查看任務調度與執行情況

K8s應用

操作步驟

  1. 登錄EDAS控制臺
  2. 在左側導航欄,單擊應用管理 > 應用列表,在頂部菜單欄選擇地域,并在頁面上方選擇微服務空間。
  3. 單擊需要金絲雀發布的應用名稱,在應用詳情頁面右上角,單擊部署 > 部署
  4. 部署模式選擇頁面金絲雀發布(灰度)區域右上角,單擊開始部署
  5. 金絲雀發布(灰度)頁面設置新版本應用的部署參數、發布策略和灰度規則。具體操作,請參見使用控制臺金絲雀發布應用(K8s)
  6. 在灰度規則區域,選擇按比例灰度頁簽,設置灰度規則,然后單擊確定
    接入SchedulerX的K8s應用支持在線應用任務調度兩種比例灰度規則的設置。
    配置項描述
    在線應用可開啟或關閉。
    • 開啟:配置按比例流量規則生效。
    • 關閉:配置按比例流量規則不生效。
    流量比例流量將按配置的比例被轉發至當前的灰度分組中。
    任務調度可開啟或關閉。
    • 開啟:配置按比例任務調度規則生效。
    • 關閉:配置按比例任務調度規則不生效。
    Schedulerx任務任務調度規則的作用范圍。目前僅支持對一個SchedulerX應用分組中所有任務生效,即所有任務都會按照調度比例被調度至灰度分組中。
    調度比例任務將按配置的比例被調度至當前的灰度分組中。
  7. 灰度發布啟動后,先在指定的灰度分組中部署新版本應用。基本信息頁面將提示應用有變更流程正在執行,處于執行中狀態。單擊查看詳情,進入變更記錄頁面查看部署進度和狀態。

結果驗證

灰度分組發布完成后,驗證任務調度的比例分配是否符合預期。

  1. 查看灰度分組實例中的業務日志。
    1. 登錄EDAS控制臺
    2. 在左側導航欄,單擊應用管理 > 應用列表,在應用列表頁面,單擊目標應用進入應用總覽頁面。
    3. 在左側導航欄,單擊日志中心,然后單擊日志目錄(在線查看)頁簽。
    4. 日志目錄頁簽,選擇需要查看日志的Pod,然后單擊添加在線查看
    5. 添加在線查看對話框中,填寫應用日志目錄后,單擊添加
    6. 實時日志(標準輸出)頁面,查看實時日志,根據調度時間判斷灰度規則是否生效。
  2. 查看任務的實際調度情況與執行情況。
    1. 登錄EDAS控制臺
    2. 在左側導航欄,單擊任務調度 > 執行列表,單擊對應任務操作列的詳情
    3. 任務實例詳情面板,單擊歷史執行記錄頁簽,可查看任務實例運行結果。
      查看任務調度與執行情況