全部產品
Search
文件中心

Container Compute Service:建立任務工作負載Job

更新時間:Dec 21, 2024

Job主要用於運行短暫的、一次性的批量任務(short-lived one-off tasks),確保批處理任務的一個或多個Pod成功執行。ACS叢集支援通過控制台建立任務類型的應用,本文介紹如何建立一個Job類型工作負載。

背景資訊

根據.spec.completions(需要成功完成的Pod數,預設為1)和.spec.parallelism(Job可以並行啟動並執行最大副本數,預設為1)的配置,可以將Job劃分為以下幾種類型:

Job類型

completions

parallelism

使用樣本

行為

一次性Job

1

1

資料庫遷移

運行一個Pod直至其成功完成。

固定結束次數的Job

2+

1

處理工作隊列的Pod

Pod依次運行,直至成功完成的Pod數達到completions配置的數量。

帶有工作隊列的並行Job

1

2+

多個Pod同時處理工作隊列,不要求成功數

多個Pod並行運行,直至有一個Pod成功完成。

固定結束次數的並行Job

2+

2+

多個Pod同時處理工作隊列,要求成功數

多個Pod並行運行,直至成功完成的Pod數達到completions配置的數量。

操作步驟

步驟一:配置應用基本資料

  1. 登入容器計算服務控制台,在左側導覽列選擇叢集

  2. 叢集頁面,單擊目的地組群ID或者目的地組群右側操作列下的詳情

  3. 在叢集管理頁左側導覽列,選擇工作負載 > 任務

  4. 任務頁面,單擊使用鏡像建立

  5. 應用基本資料設定精靈頁面,配置應用的基本資料。

    配置項

    描述

    應用程式名稱

    輸入應用的名稱。

    類型

    選擇任務(Job)

    標籤

    為該應用添加一個標籤,標識該應用。

    註解

    為該應用添加一個註解(Annotation)。

    執行個體類型

    選擇執行個體類型。關於執行個體類型的說明,請參見ACS Pod執行個體概述

    QoS類型

    選擇QoS類型。更多資訊,請參見算力品質定義

    • 通用型執行個體支援defaultbest-effort

    • 效能型執行個體僅支援default

  6. 完成基本資料配置後,單擊下一步

步驟二:配置容器

容器配置嚮導頁面中,配置容器的鏡像、資源、連接埠、環境變數、生命週期、資料卷和日誌等資訊。

說明

容器1頁簽右側,單擊添加容器,可以為應用的Pod設定多個容器。

  1. 基本配置地區,完成容器的基本配置。

    配置項

    說明

    鏡像名稱

    • 選擇鏡像

      單擊選擇鏡像,選擇所需的鏡像。

      • Container Registry企業版:可以選擇託管在Container RegistryACR中的企業版鏡像。需要選擇鏡像所屬地區,以及鏡像服務執行個體。關於ACR的更多資訊,請參見什麼是Container RegistryACR

      • Container Registry個人版(需要提前開通):可以選擇託管在Container RegistryACR中的個人版鏡像。需要選擇鏡像所屬地區,以及鏡像服務執行個體。

      • 製品中心:包含應用程式容器化基礎OS鏡像、基礎語言鏡像、AI/巨量資料相關鏡像,本樣本以製品中心的Nginx鏡像為例說明。關於製品中心的更多資訊,請參見製品中心

    • (可選)設定鏡像拉取策略

      鏡像拉取策略的下拉式清單中選擇鏡像拉取策略。預設情況下不設定,採用Kubernetes預設的IfNotPresent。

      • 優先使用本地鏡像(IfNotPresent):如果本地已經存在該鏡像(之前拉取過該鏡像至宿主機中),則不會再次拉取,如果本地不存在該鏡像,則會拉取該鏡像。

      • 總是拉取鏡像(Always):表示每次部署或擴容都會重新拉取鏡像,而不會使用本地鏡像。

      • 僅使用本地鏡像(Never):僅使用本地鏡像。

    • (可選)設定鏡像密鑰

      單擊設定鏡像密鑰,為私人鏡像設定密鑰以確保安全。

      • 對於ACR個人版執行個體,您可以通過設定鏡像密鑰的方式拉取容器鏡像。設定密鑰的更多資訊,請參見管理保密字典

      • 對於ACR企業版執行個體,您可以通過免密組件拉取鏡像。具體操作,請參見免密拉取ACR鏡像

    所需資源

    為容器設定資源額度。

    • CPU:可指定該容器CPU資源配額和資源限制,預設資源配額和資源限制相等,計費模式為隨用隨付。如果您通過YAML方式設定不同於資源配額的資源限制,資源配額將改寫成與資源限制相等。詳見資源規格

    • 記憶體:可指定該容器Memory資源額度和資源限制,預設資源額度和資源限制相等,計費模式為隨用隨付。如果您通過YAML方式設定不同於資源額度的資源限制,資源額度將改寫成與資源限制相等。詳見資源規格

    容器啟動項

    (可選)設定容器啟動項。

    • stdin:將控制台輸入發送到容器。

    • tty:將標準輸入控制台作為容器的控制台輸入。

    說明

    通常會同時選中stdintty,表示將終端(tty)綁定到容器的標準輸入(stdin)上。例如,一個互動程式從使用者擷取標準輸入,並顯示到終端中。

    初始化容器

    (可選)選擇該選項,表示建立一個初始化容器。

    初始化容器提供了一種機制來阻塞或延遲應用程式容器的啟動,初始化容器執行成功後,Pod內的應用程式容器會並行啟動。例如,檢測依賴服務的可用性。初始化容器可以包括一些應用鏡像中不存在的工具 + 生產力和安裝指令碼,用來初始化應用程式容器的運行環境,例如設定核心參數、組建組態檔案。更多資訊,請參見Init Container

  2. (可選)在連接埠設定地區,單擊新增設定容器的連接埠。

    配置項

    說明

    名稱

    設定容器連接埠名稱。

    容器連接埠

    設定暴露的容器訪問連接埠,連接埠號碼必須介於1~65535。

    協議

    支援TCP和UDP。

  3. (可選)在環境變數地區,單擊新增設定環境變數。

    支援通過索引值對的形式為Pod配置環境變數,用於給Pod添加環境標誌或傳遞配置等。更多資訊,請參見Pod Environment Variables

    配置項

    說明

    類型

    設定環境變數的類型:

    • 自訂

    • 配置項

    • 保密字典

    • 變數/變數引用

    • 資源引用

    配置項、保密字典支援全部檔案的引用。

    本樣本以保密字典為例。選擇保密字典類型,只選擇目標保密字典,則預設引用全部檔案。環境變數

    對應的YAML,也引用了整個密鑰(Secret)。yaml

    變數名稱

    設定環境變數名稱。

    變數/變數引用

    設定變數引用的值。

  4. (可選)在生命週期地區,設定容器的生命週期。

    您可以為容器的生命週期配置啟動執行、啟動後處理和停止前處理。具體操作,請參見配置生命週期

    配置項

    說明

    啟動執行

    為容器設定啟動前置命令和參數。

    啟動後處理

    為容器設定啟動後的命令。

    停止前處理

    為容器設定預終止命令。

  5. (可選)在資料卷地區,為容器掛載資料卷。

    • 本機存放區:配置項(ConfigMap)、保密字典(Secret)和臨時目錄,將對應的掛載源掛載到容器路徑中。更多資訊,請參見volumes

    • 雲端儲存:支援雲端硬碟、NAS等。更多資訊,請參見儲存概述

  6. (可選)在日誌配置地區,進行採集配置自訂Tag設定。

    配置項

    說明

    採集配置

    • 日誌庫:即在Log Service中產生一個對應的Logstore,用於儲存採集日誌。

    • 容器內日誌路徑:支援Stdout和文本日誌。

      • Stdout:表示採集容器的標準輸出日誌。

      • 文本日誌:表示收集容器內指定路徑的日誌本例中表示/var/log/nginx下所有的文本日誌,也支援萬用字元的方式。

    自訂Tag

    您還可以設定自訂Tag,設定Tag後,會將該Tag一起採集到容器的日誌輸出中。自訂Tag可以協助您給容器日誌打上Tag,方便進行日誌統計和過濾等分析操作。

  7. 單擊下一步,進入進階配置設定精靈頁面。

步驟三:完成進階配置

  1. 任務設定地區,設定任務。

    配置項

    說明

    成功啟動並執行Pod數

    即completions,指定Job需要成功啟動並執行Pod數量。預設值為1。

    並行啟動並執行Pod數

    即parallelism,指定Job在任一時刻可以並發啟動並執行Pod數量。預設值為1。

    逾時時間

    即activeDeadlineSeconds,指定Job可啟動並執行時間期限,超過時間還未結束,系統將會嘗試進行終止。

    重試次數

    Pod運行失敗後,嘗試重建Pod的次數。預設是6次,每次失敗後重試會有延遲時間,該時間是指數級增長,最長時間是6 min。

    重啟策略

    僅支援不重啟(Never)和失敗時(OnFailure)。

  2. (可選)在標籤和注釋地區,單擊添加設定容器組的標籤和注釋。

  3. 單擊建立

步驟四:查看應用資訊

建立成功後,預設進入建立完成頁面,單擊查看應用詳情可以跳轉到該Job的詳情頁面。

您也可以在任務頁面查看該Job的資訊,單擊目標Job的名稱或對應操作列下的詳情可以進入應用詳情頁面。