艦隊の運営
CLIまたはコンソールでフリートを実行するには、以下の手順に従ってください。 フリートは作成されるとすぐに実行されるので、 running と creating は同じ操作である。
開始前に
フリート運行を成功させるためには、「 フリート運行準備 」のステップに従っていることを確認してください。 また、フリート作成時に参照する イメージの構築に Code Engine。
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- フリートネットワークの配置に使用するサブネットプールの名前。
--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
コンソールを使って船団を動かす
以下の手順に従って、 Code Engine コンソールでフリート を実行してください。
- コンソールを開く Code Engine コンソールを開く。
- **「作成の開始」**をクリックします。
- 選択可能なプロジェクトのリストからプロジェクトを選択します。 新規作成することもできます。 フリート走行を行うには、選択したプロジェクトが必要です。
- フリートを作成するオプションを選択します。
- フリートの名前を指定してください。 プロジェクト内のすべてのフリートで、名前が一意であることを確認してください。
- フリート用のコンテナ・イメージを指定する。例えば、
icr.io/codeengine/helloworld。 コンテナ・イメージにしたい独自のソース・コードがある場合は、ビルドの計画を参照してください。 この例で使用されているコードの詳細については、helloworld を参照してください。 - プロンプトに従ってフリートを設定します。
- タスクセクションで、フリートのタスク指定方法を設定します。 詳しくは、 タスク仕様を 参照。
- リソースとスケーリングセクションでは、インスタンスリソースを構成し、インスタンスのスケールアップまたはスケールダウン方法を指定します。
- Network placementセクションで、 Select subnet poolsをクリックする。
- このフリートのワーカーのネットワーク配置を指定するために、新しいサブネットプールを作成する。 詳しくは、 Code Engine のサブネット・プール接続の作業を 参照してください。
- または、1つ以上の既存のサブネットプールを選択し、このフリートのワーカーのネットワーク配置を指定します。
- 「 適用 」をクリックして選択内容を確定してください。
- 環境変数と ボリュームマウントのセクションでは、オプションのキーと値のペア、コンフィグマップ、または実行中のコードで使用できる追加ファイルを追加する。
- 「作成」をクリックします。
タスク仕様
フリートは常に少なくとも1つのタスクを持つが、もっと多くのタスクを持つこともできる。 完了するタスクの数、一度に実行するタスク・インスタンスの数、タスクを完了する順序を指定できる。 フリートが実行されると、ワーカーノードは完了するタスクの数に応じて自動的にスケールアップします。
タスクは、以下の方法で指定できます
- タスク数 :特定のタスク数を実行するには、任意の正の整数を指定できる。 CLIでは、
--tasksオプションを使用する。 UIで、 Number of tasks(タスク数)を選択し、実行したい数を入力する。 - タスクインデックス :タスクの範囲を指定するには、
2-5,7-8,10のように、カンマで区切られた範囲と正の整数のリストを含むタスクインデックスを指定します。 CLIでは、--task-indexesオプションを使用する。 UIで Task indexesを選択し、範囲を入力する。 - タスクファイル :異なるコマンドや引数で異なるタスクを実行させるには、イメージ定義を上書きするタスク指定ファイルを作成します。 オプションの
idxフィールドを使って、カスタムタスクインデックスを指定することができる。 このファイルはJSONL形式で作成する必要があります。 CLIでは、--tasks-from-local-fileまたは--tasks-from-cos-objectオプションでファイルを指定する。 UIで、 Tasks from fileを選択し、ファイル名を指定する。 タスク仕様ファイルに追加できる行の例を以下に示す。
タスク仕様ファイルの行の例。
{ "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" }
CLI を使用してフリートを削除する
艦隊は最終状態に達しても自動的には削除されない。 プロジェクトごとに1000フリートのクォータ制限があるので( プロジェクトのクォータを 参照)、不要になったらCLIを使ってフリートを削除してください。
艦隊を削除するには、次のコマンド例を使用する。 このコマンドでは、さらにオプションを追加できる。 利用可能なすべてのコマンド・オプションの完全なリストについては、 CLIのドキュメントを 参照してください。
ibmcloud ce fleet delete --force --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e
コンソールを使って艦隊を削除する
艦隊は最終状態に達しても自動的には削除されない。 プロジェクトごとに1000フリートのクォータ制限があるので( プロジェクトのクォータを 参照)、不要になったらCLIを使ってフリートを削除してください。
コンソールでフリートを削除するには、以下の手順に従ってください。
- 「艦隊」ページへ移動:
- Code Engine コンソールの Projects ページからプロジェクトを選択します。
- フリートをクリックすると既存のフリートのリストが表示されます。
- 削除したいフリートのある行に移動し、削除(ゴミ箱)アイコンをクリックします。
- プロンプトが表示されたら、削除を確認します。