Job は、有効期間が短く、1 回限りのバッチタスクを実行し、1 つ以上の Pod が正常に完了することを保証します。Container Compute Service (ACS) コンソールで Job ワークロードを作成できます。
Job のタイプ
Job は、.spec.completions (正常に完了する必要がある Pod の数、デフォルト:1) および .spec.parallelism (同時に実行される Pod の最大数、デフォルト:1) パラメーターによって分類されます。
|
Job タイプ |
completions |
parallelism |
例 |
動作 |
|
1 回限りの Job |
1 |
1 |
データベース移行 |
Pod を 1 つ開始します。その Pod が成功すると完了します。 |
|
完了数が固定された Job |
2+ |
1 |
ワークキューを処理するために Pod を 1 つずつ開始する |
Pod を順番に開始します。正常に完了した Pod の数が |
|
ワークキューを使用する並列 Job |
1 |
2+ |
このタイプの Job は、一度に複数の Pod を開始します。 |
複数の Pod を並行して実行します。1 つの Pod が成功すると Job は完了と見なされ、他の Pod は終了処理に入ります。 |
|
完了数が固定された並列 Job |
2+ |
2+ |
このタイプの Job は、一度に複数の Pod を開始します。 |
複数の Pod を並行して実行します。正常に完了した Pod の数が |
手順
手順 1:基本的なアプリケーション設定の構成
ACS コンソール にログインします。左側のナビゲーションペインで、クラスター をクリックします。
クラスター ページで、管理するクラスターを見つけ、その ID をクリックするか、クラスターの アクション 列の 詳細 をクリックします。
-
クラスター管理ページの左側のナビゲーションペインで、 の順に選択します。
-
Jobs ページで、Create from Image をクリックします。
-
Basic Information の手順で、次の設定を構成します。
パラメーター
説明
[Name:]
アプリケーション名。
[Type]
Job を選択します。
[Label]
アプリケーションを識別するラベル。
[Annotations]
アプリケーションのアノテーション。
[インスタンスタイプ]
コンピューティングタイプを選択します。詳細については、「ACS Pod インスタンスの概要」をご参照ください。
[QoS タイプ]
コンピューティング能力の QoS タイプを選択します。
-
基本情報を設定した後、Next をクリックします。
手順 2:コンテナ設定の構成
Container セクションで、コンテナのイメージ、リソース、ポート、環境変数、ライフサイクル、ボリューム、ログを設定します。
Pod に複数のコンテナを追加するには、コンテナ 1 タブの右側にある Add Container をクリックします。
General セクションで、コンテナの基本設定を完了します。
パラメーター
説明
Image Name
イメージの選択
Select Image をクリックし、必要なイメージを選択します。
Container Registry Enterprise Edition:Container Registry (ACR) にホストされている Enterprise Edition のイメージを選択できます。イメージが属するリージョンおよび ACR インスタンスを選択する必要があります。ACR の詳細については、「Container Registry (ACR) とは」をご参照ください。
Container Registry Personal Edition(有効化が必要):ACR にホストされている Personal Edition のイメージを選択できます。イメージが属するリージョンおよび ACR インスタンスを選択する必要があります。
プロダクトセンター:コンテナ化用のベース OS イメージ、ベース言語イメージ、AI やビッグデータ関連のイメージが含まれています。この例では、中国 (杭州) リージョンのアーティファクトセンターにある Nginx イメージを使用します。詳細については、「アーティファクトセンター」をご参照ください。
(オプション)イメージプルポリシーの設定
Image Pull Policy ドロップダウンリストからイメージプルポリシーを選択します。このパラメーターを設定しない場合、Kubernetes のデフォルトポリシーである IfNotPresent が使用されます。
IfNotPresent:Kubernetes はローカルにイメージが存在しない場合にのみイメージをプルします。
Always:Kubernetes は常にイメージをプルし、ローカルのコピーは無視されます。
Never:Kubernetes はローカルのイメージのみを使用します。
(オプション)イメージプルシークレットの設定
プライベートイメージのセキュリティを確保するために、Set Image Pull Secret をクリックしてシークレットを設定します。
ACR Personal Edition インスタンスの場合、イメージプルシークレットを設定することでイメージをプルできます。シークレットの設定方法の詳細については、「シークレットの管理」をご参照ください。
ACR Enterprise Edition インスタンスの場合、パスワード不要コンポーネントを使用することでシークレットなしでイメージをプルできます。詳細については、「シークレットなしで ACR イメージをプルする」をご参照ください。
Required Resources
コンテナのリソースリクエストとリミットを設定します。
CPU:コンテナの CPU リクエストおよびリミットを指定できます。デフォルトでは、CPU リクエストはリミットと等しくなり、リソースは従量課金となります。YAML ファイルを使用してリクエストとは異なるリミットを設定した場合、リクエスト値は自動的にリミット値に合わせて設定されます。詳細については、「リソース仕様」をご参照ください。
Memory:コンテナのメモリリクエストおよびリミットを指定できます。デフォルトでは、メモリリクエストはリミットと等しくなり、リソースは従量課金となります。YAML ファイルを使用してリクエストとは異なるリミットを設定した場合、リクエスト値は自動的にリミット値に合わせて設定されます。詳細については、「リソース仕様」をご参照ください。
インタラクティブセッション
(オプション)コンテナ起動オプションを設定します。
stdin:コンソール入力をコンテナに送信します。
tty:標準入力コンソールをコンテナのコンソール入力として使用します。
説明通常、stdin と tty の両方を選択します。これにより、端末 (tty) がコンテナの標準入力 (stdin) にバインドされます。たとえば、インタラクティブなプログラムはユーザーからの標準入力を取得し、端末に出力を表示します。
Init Containers
(オプション)このオプションを選択して Init コンテナを作成します。
Init コンテナは、アプリケーションコンテナの起動をブロックまたは遅延させるメカニズムを提供します。Init コンテナが正常に完了すると、Pod 内のアプリケーションコンテナが並行して起動します。たとえば、依存サービスの可用性を確認するために Init コンテナを使用できます。Init コンテナには、アプリケーションイメージに存在しないユーティリティやインストールスクリプトを含めることができ、カーネルパラメータの設定や設定ファイルの生成など、アプリケーションコンテナの実行環境を初期化するために使用できます。詳細については、「Init コンテナ」をご参照ください。
(オプション)Ports セクションで、Add をクリックしてコンテナポートを設定します。
パラメーター
説明
Name
コンテナポートの名前を入力します。
Container Port
アクセス用に公開するコンテナポートを指定します。ポート番号は 1 ~ 65535 の範囲内である必要があります。
Protocol
TCP および UDP がサポートされています。
(省略可)Environments セクションで、Add をクリックして環境変数を設定します。
キーと値のペアで Pod の環境変数を設定し、環境フラグを追加したり、設定を渡したりできます。詳細については、「Pod 環境変数」をご参照ください。
パラメーター
説明
Type
環境変数のタイプを設定します。
Custom
ConfigMaps
Secrets
Value/ValueFrom
ResourceFieldRef
ConfigMap またはシークレット内のすべてのファイルを参照できます。
この例ではシークレットを使用します。Secrets タイプを選択し、対象のシークレットのみを選択した場合、そのシークレット内のすべてのキーと値のペアがデフォルトで参照されます。

対応する YAML でもシークレット全体が参照されます。

Variable Key
環境変数の名前を入力します。
Value/ValueFrom
参照する値を設定します。
(オプション)Lifecycle セクションで、コンテナのライフサイクルフックを設定します。
コンテナのライフサイクルに対して、開始実行、Post Start、Pre Stop ハンドラを設定できます。詳細については、「コンテナライフサイクルイベントにハンドラをアタッチする」をご参照ください。
パラメーター
説明
実行の有効化
コンテナの事前開始コマンドとパラメーターを設定します。
起動後処理
コンテナ起動後に実行するコマンドを設定します。
PreStop 処理
コンテナ終了前に実行するコマンドを設定します。
(オプション)Volume セクションで、データボリュームをコンテナにマウントします。
(オプション)Log セクションで、Collection Configuration および Custom Tag 設定を構成します。
パラメーター
説明
収集設定
Logstore:収集されたログを保存するために、Log Service に対応する Logstore が作成されます。
Log Path in Container (Can be set to stdout):Stdout およびテキストログをサポートしています。
Stdout:コンテナの標準出力ログを収集します。
テキストログ:コンテナ内の指定されたパスからログを収集します。この例では、
/var/log/nginx下のすべてのテキストログを収集します。ワイルドカード文字もサポートされています。
カスタムタグ
カスタムタグも設定できます。タグを設定すると、コンテナのログ出力と一緒に収集されます。カスタムタグを使用すると、統計やフィルタリングなどの分析のためにコンテナログにラベルを付けることができます。
Next をクリックして、Advanced ページに進みます。
手順 3:高度な設定の構成
-
ジョブ設定 セクションで、Job の設定を構成します。
パラメーター
説明
[実行完了数]
正常に完了する必要がある Pod の数。デフォルト値:1。
[並行処理]
同時に実行される Pod の最大数。デフォルト値:1。
[タイムアウト時間]
Job の最大実行時間 (秒単位)。Job がこの制限時間内に完了しない場合、システムは Job を終了させます。
[再試行回数]
失敗した Pod の最大リトライ回数。デフォルト値:6。リトライには、最大 6 分間の指数関数的バックオフが使用されます。
[再起動]
決して と 失敗時 のみがサポートされています。
-
(オプション) Labels and Annotations セクションで 追加 をクリックし、Pod のラベルとアノテーションを設定します。
-
Create をクリックします。
手順 4:アプリケーション情報の表示
Job が作成された後、確認ページで 詳細の表示 をクリックして Job の詳細を表示します。
または、Jobs ページで、Job 名または Actions 列の 詳細 をクリックします。