基本概念
普通任務:即kubernetes中的“Job”,普通任務是一次性運行的短任務,部署完成后即可執行。使用場景為在創建工作負載前,執行普通任務,將鏡像上傳至鏡像倉庫。
操作場景
普通任務是一次性運行的短任務,部署完成后即可執行。正常退出(exit 0)后,任務即執行完成。
普通任務是用來控制批處理型任務的資源對象。批處理業務與長期伺服業務(Deployment、Statefulset)的主要區別是:
批處理業務的運行有頭有尾,而長期伺服業務在用戶不停止的情況下永遠運行。Job管理的Pod根據用戶的設置把任務成功完成就自動退出了。成功完成的標志根據不同的spec.completions策略而不同,即:
單Pod型任務有一個Pod成功就標志完成。
定數成功型任務保證有N個任務全部成功。
工作隊列型任務根據應用確認的全局成功而標志成功
前提條件
在創建任務前,您需要存在一個可用集群。若沒有可用集群,請參照集群開通中內容創建。
操作步驟及說明
步驟 1 登錄云容器引擎控制臺。
步驟 2 單擊集群名稱進入集群,在左側選擇“工作負載”,選擇“任務”,在右上角單擊“創建任務”。
步驟 3 配置工作負載的信息。
基本信息
負載類型:選擇普通任務Job。工作負載類型的介紹請參見工作負載概述。
負載名稱:輸入負載的名稱,名稱長度為1到63個字符,可以包含小寫英文字母、數字和中劃線(-),并以小寫英文字母開頭,小寫英文字母或數字結尾。
命名空間:選擇工作負載的命名空間,默認為當前進入的命名空間。您可以單擊后面的“創建命名空間”,命名空間的詳細介紹請參見創建命名空間。
容器配置
Pod中可以配置多個容器,您可以單擊右側“添加容器”為Pod配置多個容器。
容器名稱:為容器命名。
鏡像更新策略:選擇是否總是拉取鏡像。
鏡像名稱:選擇容器使用的鏡像,支持多種鏡像來源。
鏡像版本:選擇需要部署的鏡像版本。
資源配額:配置 CPU 和內存的申請值和限制值。
初始化容器:選擇是否作為初始化容器。
生命周期:設置容器生命周期
環境變量:設置容器運行環境的變量。
數據存儲:掛載本地存儲或云存儲。
鏡像訪問憑證:選擇訪問鏡像倉庫的憑證。
高級配置
設置任務期望成功數,并行數,超時時間(秒),重試次數,設置標簽與注解、網絡配置等:
期望成功數:即completions,指定job需要成功運行Pods的數量。
并行數:任務負載執行過程中允許同時創建的最大實例數,并行數應不大于實例數。
超時時間(秒):當任務執行超出該時間時,任務將會被標識為執行失敗,任務下的所有實例都會被刪除。為空時表示不設置超時時間。
重試次數:即backoffLimit,指定job失敗后進行重試的次數。默認是6次,每次失敗后重試會有延遲時間,該時間是指數級增長,最長時間是6min。
重啟策略:Job失敗了是從不重啟還是只要失敗了就重啟。
完成模式:非索引: 當執行成功的Pod數達到實例數時, Job執行成功. Job中每一個Pod都是同質的,他們之間是獨立無關。索引: 系統會為每個Pod分配索引值,取值為 0 到實例數-1。每個分配了索引的Pod都執行成功,則Job執行成功。索引模式下,Job中的Pod命名遵循$(job-name)-$(index)模式
掛起任務:默認任務創建后被立即執行。選擇掛起任務后,任務創建后處于掛起狀態;將其關閉后,任務繼續執行。單擊右下角“創建工作負載”完成創建。