經營車隊

請依照以下步驟,透過 CLI 或控制台執行 Code Engine 叢集。

開始之前

若要成功經營車隊,請確定您已遵循「準備經營車隊」中的步驟。 您也可以選擇在建立車隊時,透過 Code Engine 來 建立映像檔 您所引用的資料。

使用主控台執行機群

請依照以下步驟,在 Code Engine 控制台中管理車隊。

  1. 開啟 Code Engine 控制台。
  2. 按一下開始建立。
  3. 請從可用專案清單中選取一個專案。 您也可以 建立一個新的。 您必須有選取的專案才能執行車隊。
  4. 選取選項以建立車隊。
  5. 請為該艦隊指定一個名稱。 確保專案中所有車隊的名稱都是唯一的。
  6. 為您的機群指定容器映像,例如 icr.io/codeengine/helloworld。 如果您有自己的原始碼,並希望將其轉為容器映像,請參閱「規劃建置」。 有關此範例所使用程式碼的更多資訊,請參閱 helloworld。
  7. 按照提示設定您的車隊。 有關縮放參數重要性的詳細資訊,請參閱「配置叢集縮放」。
  8. 在「任務」區段中,請指定是否要為車隊新增初始任務。 如需詳細資訊,請參閱 任務規格。
  9. 在「資源與縮放」部分,設定您的實體資源,並指定您的實體如何向上或向下縮放。
  10. 在網路放置區段中,按一下選取子網路池。
    1. 建立新的子網路池,指定此機群工作人員的網路位置。 如需詳細資訊,請參閱 Code Engine 中的使用子網路池連線。
    2. 或選擇一個或多個現有的子網路池,以指定此機群工作人員的網路位置。
    3. 請按「套用」以確認您的選擇。
  11. 在「環境變數」和「磁碟區安裝」部分,新增可選的關鍵值對、組態映射或執行中程式碼可以使用的附加檔案。
  12. 按一下建立。

任務規格

您可以建立一個包含或不包含初始任務的車隊,並隨時新增任務。

在主控台中指定任務

若要建立一個沒有初始任務的艦隊,請參閱 《 使用控制台建立沒有初始任務的艦隊 》。 若要在建立後新增任務,請參閱「使用控制台將任務新增至機隊」。

您可以透過以下任一種方式指定任務:

  • 工作項目數量:選擇「工作項目數量」,並輸入任何正整數。
  • 工作項目索引:若要指定一組工作項目範圍,您可以指定一組工作項目索引,其中包含以逗號分隔的範圍清單及正整數,例如 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 控制台,複製現有車隊的設定來建立新的車隊。 「建立副本」功能會將來源叢集的所有配置設定(包括容器映像檔參考、資源分配、環境變數及擴展設定)複製到一個新的叢集中,您隨後可針對該叢集進行獨立自訂。 任務不會被複製。

新機隊的運作方式如同一個獨立的工作負載。 原始艦隊不會受到新艦隊任何變更的影響,反之亦然。

開始之前,請確認您的專案中已建立現有的車隊。

  1. 請前往「Code Engine」專案頁面。
  2. 點擊您的專案名稱,即可開啟「概覽」頁面。
  3. 點擊「車隊」以開啟您的車隊清單。
  4. 請透過以下任一方式開啟「建立副本」選項:
    • 點擊您要複製的艦隊名稱,以開啟該艦隊的頁面。 接著,請點擊頁面右上角的「動作」選單,並選擇「建立副本」。
    • 在艦隊清單中,點擊您要複製的艦隊旁的列動作圖示 (⋮),然後選擇「建立副本」。
  5. 在「建立車隊」頁面上,來源車隊的設定已預先填入。 請為新艦隊輸入一個唯一的名稱。 請使用專案內唯一的名稱。
  6. 檢視並可選擇修改新叢集的任何設定,例如容器映像檔、資源分配、環境變數或擴展設定。
  7. 點擊「建立」以建立新的車隊。

使用控制台將任務新增至車隊

您可以隨時透過「新增任務」按鈕,將任務新增至車隊中——無論該車隊目前處於「待處理」、「執行中」或「待機」狀態。

在非同步模式下,Code Engine 會建立任務記錄,並在需要時配置額外的執行程序。

請依照以下步驟,在「Code Engine」控制台中將任務新增至現有車隊。

  1. 請前往「Code Engine」專案頁面。
  2. 點擊您的專案名稱,即可開啟「概覽」頁面。
  3. 點擊「車隊」以開啟您的車隊清單。 點擊您的車隊名稱,即可開啟詳細資訊頁面。
  4. 點擊「新增任務」。
  5. 請指定要新增至車隊的一組任務。 另請參閱「任務說明」。
  6. 若需要,請輸入一個有意義的批次名稱。
  7. 按一下新增。

使用 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