經營車隊
請依照以下步驟,透過 CLI 或控制台執行 Code Engine 叢集。
開始之前
若要成功經營車隊,請確定您已遵循「準備經營車隊」中的步驟。 您也可以選擇在建立車隊時,透過 Code Engine 來 建立映像檔 您所引用的資料。
使用主控台執行機群
請依照以下步驟,在 Code Engine 控制台中管理車隊。
- 開啟 Code Engine 控制台。
- 按一下開始建立。
- 請從可用專案清單中選取一個專案。 您也可以 建立一個新的。 您必須有選取的專案才能執行車隊。
- 選取選項以建立車隊。
- 請為該艦隊指定一個名稱。 確保專案中所有車隊的名稱都是唯一的。
- 為您的機群指定容器映像,例如
icr.io/codeengine/helloworld。 如果您有自己的原始碼,並希望將其轉為容器映像,請參閱「規劃建置」。 有關此範例所使用程式碼的更多資訊,請參閱helloworld。 - 按照提示設定您的車隊。 有關縮放參數重要性的詳細資訊,請參閱「配置叢集縮放」。
- 在「任務」區段中,請指定是否要為車隊新增初始任務。 如需詳細資訊,請參閱 任務規格。
- 在「資源與縮放」部分,設定您的實體資源,並指定您的實體如何向上或向下縮放。
- 在網路放置區段中,按一下選取子網路池。
- 建立新的子網路池,指定此機群工作人員的網路位置。 如需詳細資訊,請參閱 Code Engine 中的使用子網路池連線。
- 或選擇一個或多個現有的子網路池,以指定此機群工作人員的網路位置。
- 請按「套用」以確認您的選擇。
- 在「環境變數」和「磁碟區安裝」部分,新增可選的關鍵值對、組態映射或執行中程式碼可以使用的附加檔案。
- 按一下建立。
任務規格
您可以建立一個包含或不包含初始任務的車隊,並隨時新增任務。
在主控台中指定任務
若要建立一個沒有初始任務的艦隊,請參閱 《 使用控制台建立沒有初始任務的艦隊 》。 若要在建立後新增任務,請參閱「使用控制台將任務新增至機隊」。
您可以透過以下任一種方式指定任務:
- 工作項目數量:選擇「工作項目數量」,並輸入任何正整數。
- 工作項目索引:若要指定一組工作項目範圍,您可以指定一組工作項目索引,其中包含以逗號分隔的範圍清單及正整數,例如
2-5,7-8,10。 選取「工作」索引,並輸入範圍。 - 來自檔案的任務:若要讓不同的任務以不同的指令或參數執行,您可以建立一個任務規格檔案,用以覆寫映像定義。 可選的
idx欄位可用於指定自訂任務索引。 此檔案必須採用 JSONL 格式。 請選擇「來自檔案的任務」。 請上傳本機檔案,或指定位於 IBM Cloud Object Storage 的檔案路徑。 請參閱以下範例,了解哪些行可以新增至任務規格檔中。{ "cmds": ["my", "multipart", "command"], "args": ["arg1", "arg2"] } { "cmds": ["other", "cmd"], "args": ["arg"], "idx": "foo" } { "args": ["argA", "argB", "argC"], "idx": "bar" } { "cmds": ["just", "another", "command"], "idx": "1234" } - 來自 IBM Cloud Object Storage 的任務:根據持久性資料儲存庫( Object Storage 儲存桶)中的物件來指定任務。 每個物件會產生一個任務。 選取「來自 Cloud Object Storage」,然後建立或選取一個持久性資料儲存庫。 若需指定子路徑,請在此處輸入。
批次名稱(非必填):為透過此動作新增的所有任務設定批次名稱。 批次名稱用於識別並將相關任務分組。 批次名稱無需具備唯一性,因此當您重新執行失敗的任務時,可以重複使用原始的批次名稱。 例如,批次名稱可能包含日期或客戶名稱。
在 CLI 中指定任務
若要建立不包含初始任務的艦隊,請參閱 《 使用 CLI 建立不包含初始任務的艦隊 》。 若要在建立後新增任務,請參閱「使用 CLI 將任務新增至現有車隊」。 若要建立包含初始任務的艦隊,請參閱 《 使用 CLI 建立包含初始任務的艦隊 》。
您可以透過以下任一種方式指定任務。
- 任務數量:請指定任何正整數。 請使用「
--tasks」選項來指定要執行的任務數量。 若要建立一個沒有任務的車隊,請省略「--tasks」選項。 - 工作項目索引:若要指定一組工作項目範圍,您可以指定一個工作項目索引,其中包含以逗號分隔的範圍清單及正整數,例如
2-5,7-8,10。 請使用「--task-indexes」選項。 - 來自檔案的任務:若要讓不同的任務以不同的指令或參數執行,您可以建立一個任務規格檔案,用以覆寫映像定義。 可選的
idx欄位可用於指定自訂任務索引。 此檔案必須採用 JSONL 格式。 請使用--tasks-from-local-file或--tasks-from-cos-object選項指定檔案。 請參閱以下範例,了解哪些行可以新增至任務規格檔中。{ "cmds": ["my", "multipart", "command"], "args": ["arg1", "arg2"] } { "cmds": ["other", "cmd"], "args": ["arg"], "idx": "foo" } { "args": ["argA", "argB", "argC"], "idx": "bar" } { "cmds": ["just", "another", "command"], "idx": "1234" } - 來自 IBM Cloud Object Storage 的任務:根據持久性資料儲存庫( Object Storage 儲存桶)中的物件來指定任務。 每個物件會產生一個任務。 請使用
--tasks-from-cos-bucket選項來指定 Object Storage 儲存桶,以及可選的子路徑。
使用控制台建立不包含初始任務的艦隊
您可以建立一支車隊,而無需指定任何任務。 若「最小容器槽位數」或「備用容器槽位數」不為零,系統將立即配置工作節點。 否則,在新增第一個任務之前,系統不會建立任何工作執行者。
當艦隊屬於共享且使用壽命較長的資源,且會從多個來源接收任務或依照排程接收任務時,請採用此方法。
若要建立一個沒有初始任務的車隊,請依照 《使用控制台運作車隊》 中的步驟操作。 在步驟 8 中,將「指定初始任務」設為「否」。
複製艦隊以建立新艦隊
您可以透過 Code Engine 控制台,複製現有車隊的設定來建立新的車隊。 「建立副本」功能會將來源叢集的所有配置設定(包括容器映像檔參考、資源分配、環境變數及擴展設定)複製到一個新的叢集中,您隨後可針對該叢集進行獨立自訂。 任務不會被複製。
新機隊的運作方式如同一個獨立的工作負載。 原始艦隊不會受到新艦隊任何變更的影響,反之亦然。
開始之前,請確認您的專案中已建立現有的車隊。
- 請前往「Code Engine」專案頁面。
- 點擊您的專案名稱,即可開啟「概覽」頁面。
- 點擊「車隊」以開啟您的車隊清單。
- 請透過以下任一方式開啟「建立副本」選項:
- 點擊您要複製的艦隊名稱,以開啟該艦隊的頁面。 接著,請點擊頁面右上角的「動作」選單,並選擇「建立副本」。
- 在艦隊清單中,點擊您要複製的艦隊旁的列動作圖示 (⋮),然後選擇「建立副本」。
- 在「建立車隊」頁面上,來源車隊的設定已預先填入。 請為新艦隊輸入一個唯一的名稱。 請使用專案內唯一的名稱。
- 檢視並可選擇修改新叢集的任何設定,例如容器映像檔、資源分配、環境變數或擴展設定。
- 點擊「建立」以建立新的車隊。
使用控制台將任務新增至車隊
您可以隨時透過「新增任務」按鈕,將任務新增至車隊中——無論該車隊目前處於「待處理」、「執行中」或「待機」狀態。
在非同步模式下,Code Engine 會建立任務記錄,並在需要時配置額外的執行程序。
請依照以下步驟,在「Code Engine」控制台中將任務新增至現有車隊。
- 請前往「Code Engine」專案頁面。
- 點擊您的專案名稱,即可開啟「概覽」頁面。
- 點擊「車隊」以開啟您的車隊清單。 點擊您的車隊名稱,即可開啟詳細資訊頁面。
- 點擊「新增任務」。
- 請指定要新增至車隊的一組任務。 另請參閱「任務說明」。
- 若需要,請輸入一個有意義的批次名稱。
- 按一下新增。
使用 CLI 建立不包含初始任務的車隊
請使用以下範例指令,以不包含初始任務的方式執行艦隊。 此指令允許額外的選項。 如需查看所有可用命令選項的完整清單,請參閱 CLI 參考 手冊。
ibmcloud ce fleet run --name my-fleet --image icr.io/codeengine/helloworld --subnetpool-name my-pool --tasks-state-store mytaskstore
--name- Fleet 的名稱。 此值必須是同一專案中所有機隊的唯一值。 如果沒有指定車隊名稱,則會隨機產生一個。
--image- 用於處理任務的容器映像的參考。 此欄位為必填項目。
--subnetpool-name或--subnetpool-id- 用於 Fleet 網路放置的子網路儲存區名稱。
- 用於 Fleet 網路放置的子網路儲存區 ID。
您必須指定「--subnetpool-name」或「--subnetpool-id」其中之一。
--tasks-state-store- 指定用於儲存 Fleet 作業狀態的持續資料儲存庫。 此欄位為必填項目。
輸出範例:
Successfully created fleet with name 'my-fleet' and ID '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'
Run 'ibmcloud ce fleet get --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to check the fleet status.
Run 'ibmcloud ce fleet worker list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of provisioned workers.
OK
使用 CLI 將任務新增至現有車隊
請使用以下範例指令,將任務新增至現有的機隊中。 此指令允許額外的選項。 如需查看所有可用命令選項的完整清單,請參閱 CLI 參考 手冊。
此外,您也可以使用 ibmcloud ce fleet task create 指令。
範例
ibmcloud ce fleet task add --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e --tasks 1 --batch-name transactions-2026-09-04
輸出範例
Successfully added tasks to fleet with name 'fleet-0123456789' and ID '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'
Run 'ibmcloud ce fleet get --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to check the fleet status.
Run 'ibmcloud ce fleet worker list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of provisioned workers.
Run 'ibmcloud ce fleet task list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of tasks.
OK
--fleet-id- 該作業所屬 Fleet 的 UUID。 此欄位為必填項目。
--tasks- 指定要由 Fleet 處理的作業數量。 此欄位為必填項目。
--batch-name- 用於當前呼叫中所有新增任務的批次名稱。 它可用於識別並將相關任務分組。 批次名稱無需具備唯一性,因此當您重新執行失敗的任務時,可以重複使用原始的批次名稱。 例如,批次名稱可能包含日期或客戶名稱。
- 此值為可選項。 若未指定,則會使用批次名稱「
default」。
使用 CLI 建立包含初始任務的車隊
請使用以下範例指令,執行包含初始任務的艦隊。 此指令允許額外的選項。 如需查看所有可用命令選項的完整清單,請參閱 CLI 參考 手冊。
當所有可處理的任務均已處理完畢後,機隊便進入「待機」狀態。 不再需要用於提供最低容器槽位的工人,將被逐步削減,直到新增任務為止。
ibmcloud ce fleet run --name my-fleet --image icr.io/codeengine/helloworld --subnetpool-name my-pool --tasks-state-store mytaskstore --tasks 1
--name- Fleet 的名稱。 此值必須是同一專案中所有機隊的唯一值。 如果沒有指定車隊名稱,則會隨機產生一個。
--image- 用於處理任務的容器映像的參考。 此欄位為必填項目。
--subnetpool-name或--subnetpool-id- 用於 Fleet 網路放置的子網路儲存區名稱。
- 用於 Fleet 網路放置的子網路儲存區 ID。
您必須指定「--subnetpool-name」或「--subnetpool-id」其中之一。
--tasks-state-store- 指定用於儲存 Fleet 作業狀態的持續資料儲存庫。 此欄位為必填項目。
--tasks- 要執行的任務數量。
輸出範例:
Successfully created fleet with name 'my-fleet' and ID '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'
Run 'ibmcloud ce fleet get --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to check the fleet status.
Run 'ibmcloud ce fleet worker list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of provisioned workers.
Run 'ibmcloud ce fleet task list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of tasks.
OK