艦隊の運営
CLI またはコンソールを使用して、 Code Engine のフリートを実行するには、以下の手順に従ってください。
開始前に
フリート運行を成功させるためには、「 フリート運行準備 」のステップに従っていることを確認してください。 また、 Code Engine を使用して、フリート作成時に参照する イメージをビルド することも可能です。
コンソールを使って船団を動かす
Code Engine コンソールでフリートを運用するには、以下の手順に従ってください。
- コンソールを Code Engine コンソールを開きます。
- **「作成の開始」**をクリックします。
- 選択可能なプロジェクトのリストからプロジェクトを選択します。 新規作成することもできます。 フリート走行を行うには、選択したプロジェクトが必要です。
- フリートを作成するオプションを選択します。
- フリートの名前を指定してください。 プロジェクト内のすべてのフリートで、名前が一意であることを確認してください。
- フリート用のコンテナ・イメージを指定する。例えば、
icr.io/codeengine/helloworld。 独自のソースコードをコンテナイメージに変換したい場合は、「 ビルドの計画」を 参照してください。 この例で使用されているコードの詳細については、以下を参照してくださいhelloworld。 - プロンプトに従ってフリートを設定します。 スケーリングパラメータの重要性に関する詳細については、「 フリートのスケーリング設定」を 参照してください。
- 「タスク」セクションで、フリートに初期タスクを追加するかどうかを指定します。 詳しくは、 タスク仕様を 参照。
- リソースとスケーリングセクションでは、インスタンスリソースを構成し、インスタンスのスケールアップまたはスケールダウン方法を指定します。
- Network placementセクションで、 Select subnet poolsをクリックする。
- このフリートのワーカーのネットワーク配置を指定するために、新しいサブネットプールを作成する。 詳しくは、 Code Engine のサブネット・プール接続の作業を 参照してください。
- または、1つ以上の既存のサブネットプールを選択し、このフリートのワーカーのネットワーク配置を指定します。
- 「 適用 」をクリックして選択内容を確定してください。
- 環境変数と ボリュームマウントのセクションでは、オプションのキーと値のペア、コンフィグマップ、または実行中のコードで使用できる追加ファイルを追加する。
- 「作成」 をクリックします。
タスク仕様
初期タスクの有無にかかわらずフリートを作成でき、いつでもタスクを追加することができます。
コンソールでのタスクの指定
初期タスクのないフリートを作成するには、「 コンソールを使用して初期タスクのないフリートを作成する 」を参照してください。 作成後にタスクを追加するには、「 コンソールを使用してフリートにタスクを追加する 」を参照してください。
タスクは、以下のいずれかの方法で指定できます
- タスク数 : 「タスク数」 を選択し、正の整数を指定してください。
- タスクインデックス :タスクの範囲を指定するには、コンマ区切りの範囲と正の整数のリストを含む一連のタスクインデックスを指定します。例:
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 バケット)内のオブジェクトに基づいてタスクを指定します。 各オブジェクトは1つのタスクを生成します。 「 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 バケット)内のオブジェクトに基づいてタスクを指定します。 各オブジェクトは1つのタスクを生成します。
--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- フリートの名前。 この値は、同じプロジェクト内のすべてのフリートで一意でなければならない。 フリート名が指定されない場合は、ランダムなものが生成される。
--image- タスクの処理に使用されるコンテナイメージへの参照。 この値は必須です。
--subnetpool-nameまたは--subnetpool-id- フリートのネットワーク配置に使用するサブネット・プールの名前。
- フリートのネットワーク配置に使用するサブネット・プールのID。
--subnetpool-name または --subnetpool-id のいずれかを指定する必要があります。
--tasks-state-store- フリートのタスクの状態を保存する永続データ・ストアを指定します。 この値は必須です。
出力例:
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- タスクが属するフリートのUUID。 この値は必須です。
--tasks- フリートが処理するタスクの数を指定します。 この値は必須です。
--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- フリートの名前。 この値は、同じプロジェクト内のすべてのフリートで一意でなければならない。 フリート名が指定されない場合は、ランダムなものが生成される。
--image- タスクの処理に使用されるコンテナイメージへの参照。 この値は必須です。
--subnetpool-nameまたは--subnetpool-id- フリートのネットワーク配置に使用するサブネット・プールの名前。
- フリートのネットワーク配置に使用するサブネット・プールのID。
--subnetpool-name または --subnetpool-id のいずれかを指定する必要があります。
--tasks-state-store- フリートのタスクの状態を保存する永続データ・ストアを指定します。 この値は必須です。
--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