ワーカープールのコンテナを構成する

このページでは、Cloud Run ワーカープールのエントリポイント コマンドと引数を構成する方法について説明します。

Cloud Run がコンテナを起動すると、イメージのデフォルトのエントリポイント コマンドとデフォルトのコマンド引数が実行されます。イメージのデフォルトのエントリポイントとコマンド引数をオーバーライドする場合は、コンテナ構成の command フィールドと args フィールドを使用できます。command フィールドは、コンテナによって実行される実際のコマンドを指定します。args フィールドは、そのコマンドに渡される引数を指定します。

ワーカープールごとにコンテナあたり最大 1,000 個の引数を使用できます。

必要なロール

Cloud Run のワーカープールの構成とデプロイに必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

Cloud Run に関連付けられている IAM ロールと権限のリストについては、Cloud Run IAM ロールCloud Run IAM 権限をご覧ください。Cloud Run ワーカープールがGoogle Cloud API(Cloud クライアント ライブラリなど)と連携している場合は、サービス ID の構成ガイドをご覧ください。ロールの付与の詳細については、デプロイ権限アクセスの管理をご覧ください。

エントリポイントと引数を構成する

構成を変更すると、新しいリビジョンが作成されます。明示的に更新しない限り、以降のリビジョンでも、この構成が自動的に設定されます。

指定されたコンテナ コマンドと引数によって、デフォルトのイメージ ENTRYPOINTCMD がオーバーライドされます。

新しいワーカープールを作成する際、または新しいリビジョンをデプロイする際に、Google Cloud CLI を使用して Cloud Run ワーカープールのエントリポイント コマンドと引数を設定できます。

gcloud

既存のサービスの start コマンドと引数を更新するには:

gcloud beta run worker-pools update WORKER_POOL --command COMMAND --args ARG1,ARG-N

次のように置き換えます。

  • WORKER_POOL は、ワーカープールの名前に置き換えます。
  • デフォルトのコマンドを使用していない場合、COMMAND はコンテナを開始するコマンドに置き換えます。
  • ARG1 は、コンテナ コマンドに送信する引数に置き換えます。複数の引数を指定する場合は、カンマ区切りのリストを使用します。

新しいワーカープールまたは既存のワーカープールのデプロイ中にエントリ ポイントと引数を指定するには:

gcloud beta run worker-pools deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N

IMAGE_URL は、ワーカープールを含むコンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/worker-pool:latest など)に置き換えます。

エントリポイント コマンドと引数のコンテナのデフォルトを復元する場合は、次のように空の文字列を指定します。

gcloud beta run worker-pools deploy --image IMAGE_URL --command "" --args ""

サイドカー デプロイでコンテナの起動順序を構成する

サイドカー デプロイでコンテナの起動順序を指定するには、コンテナの依存関係の特性を利用します。依存関係のあるコンテナを指定し、それらが依存するコンテナをリストします。これらのコンテナが最初に開始されます。依存関係のないコンテナは常に最初に同時実行として起動されます。

この機能を正常に使用するには、起動ヘルスチェック プローブを使用する必要があります。起動プローブにより、Cloud Run は依存コンテナの状態を検査し、次のコンテナを起動する前に合格したことを確認します。ヘルスチェックを使用しない場合、コンテナが起動に失敗した場合でも、コンテナは指定された順序で起動します。

ワーカープールには、デフォルトの起動ヘルスチェック プローブはありません。

Google Cloud CLI を使用して起動順序を指定します。

gcloud

Google Cloud CLI を使用して起動順序を指定する前に、起動ヘルスチェックを構成します。

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. 起動順序を指定して複数のコンテナをサービスにデプロイするには、次のコマンドを実行します。

gcloud beta run worker-pools deploy WORKER_POOL \
     --container CONTAINER_1_NAME --image='WORKER_POOL_IMAGE'
     --container CONTAINER_2_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME \
     --container CONTAINER_3_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME,CONTAINER_2_NAME
  • WORKER_POOL は、デプロイ先のワーカープールの名前に置き換えます。このパラメータを省略すると、後でワーカープール名の入力を求められます。
  • IMAGE_URL は、ワーカープールを含むコンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/worker-pool:latest など)に置き換えます。
  • SIDECAR_IMAGE は、サイドカー コンテナ イメージへの参照に置き換えます。

    deploy コマンドで各コンテナを構成する場合は、container パラメータの後に各コンテナの構成を指定します。

ワーカープールのコンテナ構成を確認する

  1. Google Cloud コンソールで Cloud Run に移動します。

    [Cloud Run] に移動

  2. [ワーカープール] をクリックして、デプロイされたワーカープールのリストを確認します。

  3. 確認するワーカープールをクリックして、詳細ペインを表示します。

  4. [コンテナ] タブをクリックして、ワーカープールのコンテナ構成を確認します。