HTTP、TCP、gRPC 起動ヘルスチェックのプローブと、新規および既存の Cloud Run サービスに対する HTTP と gRPC のライブネス プローブを構成できます。YAML ファイルを使用して、Cloud Run サービスの起動プローブまたはライブネス プローブを構成します。構成は、プローブの種類によって異なります。
ライブネス チェック プローブを使用することで、コンテナを再起動するタイミングを判断できます。たとえば、サービスは実行されているが進まないデッドロックを捕捉した場合などです。この場合にコンテナを再起動すると、バグが発生した場合におけるサービスの可用性が向上します。
起動プローブを使用することで、コンテナが起動し、トラフィックを受け入れる準備が整うタイミングを把握できます。
起動プローブを構成すると、コンテナを起動したことを起動プローブが把握するまで、ライブネス チェックは無効になります。これにより、サービス起動時での干渉が防止されます。
起動プローブは、開始が遅いコンテナでライブネス チェックを行う場合に特に役立ちます。これは、コンテナが起動して動作する前にシャットダウンされることを防ぐためです。
課金と CPU の割り当て
- すべてのプローブに CPU が割り当てられています。
- すべてのプローブは CPU とメモリの使用量に対して課金されますが、リクエスト ベースの料金は発生しません。
構成を変更すると、新しいリビジョンが作成されます。明示的に更新しない限り、以降のリビジョンでも、この構成が自動的に設定されます。
起動プローブを構成する
HTTP、TCP、gRPC のプローブを構成できます。
HTTP 起動プローブを構成する
HTTP 用のデフォルトの HTTP 起動プローブはありませんが、Cloud Run サービス用に構成できます。HTTP ヘルスチェック プローブを使用するには、プローブに対応する HTTP ヘルスチェック エンドポイントを作成する必要があります。また、サービスは HTTP/2 ではなく HTTP/1(Cloud Run のデフォルト)を使用する必要があります。
起動プローブが構成されると、Cloud Run はサービス ヘルスチェック エンドポイント(たとえば、/ready
)に HTTP GET リクエストを送信します。200
と 400
の間のすべてのレスポンスは成功であり、他のすべてのレスポンスは失敗を示します。
起動プローブが指定時間(failureThreshold
* periodSeconds
)内に成功しなかった場合(240 秒を超えた場合)、コンテナはシャットダウンされます。
HTTP 起動プローブが指定時間内に成功し、HTTP ライブネス プローブを構成している場合、HTTP ライブネス プローブが開始されます。
既存のサービスの場合、HTTP 起動プローブは Google Cloud コンソールを使用して構成します。新規または既存のサービスの場合は YAML を使用して構成します。
コンソール
構成するサービスをクリックします。
[YAML] タブをクリックします。
[編集] をクリックし、次に示すように
startupProbe
属性を構成します。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
次のように置き換えます。
- SERVICE は、Cloud Run サービスの名前に置き換えます。
- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。 - PATH は、HTTP エンドポイントの相対パス(例:
/ready
)に置き換えます。 - (省略可)CONTAINER_PORT は、サービスに使用するコンテナポートに設定する必要があります。
- (省略可)
httpHeaders
を使用すると、次のように HEADER_NAME フィールドと HEADER_VALUE フィールドを使用して複数または繰り返しのカスタム ヘッダーを指定できます。 - (省略可)DELAY は、コンテナが開始された後、最初のプローブを実行するまでに待機する秒数に置き換えます。0 秒~240 秒の値を指定します。デフォルト値は 0 秒です。
- (省略可)TIMEOUT は、プローブがタイムアウトするまでの待機時間(秒)に置き換えます。この値は、
periodSeconds
に指定された値を超えることはできません。1~240 の値を指定します。デフォルトは 1 です。 - (省略可)THRESHOLD は、コンテナを「未準備」とマークする前にプローブを再試行する回数に置き換えます。デフォルト値は 3 です。
- (省略可)PERIOD は、プローブを実行する期間(秒単位)に置き換えます。たとえば、2 秒ごとにプローブを実行する場合は
2
です。1 秒~240 秒の値を指定します。デフォルト値は 10 秒です。
[新しいリビジョンを保存してデプロイする] をクリックします。
YAML
既存のサービス構成をダウンロードして表示するには、gcloud run services describe --format export
コマンドを使用します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記の手順に沿ってフィールドを変更し、gcloud run services replace
コマンドを使用して変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。
次のコマンドで、構成を表示してダウンロードするには:
gcloud run services describe SERVICE --format export > service.yaml
次のように
startupProbe
属性を構成します。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
次のように置き換えます。
- SERVICE は、Cloud Run サービスの名前に置き換えます。
- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。 - PATH は、HTTP エンドポイントの相対パス(例:
/ready
)に置き換えます。 - (省略可)CONTAINER_PORT は、サービスに使用するコンテナポートに設定する必要があります。
- (省略可)
httpHeaders
を使用すると、次のように HEADER_NAME フィールドと HEADER_VALUE フィールドを使用して複数または繰り返しのカスタム ヘッダーを指定できます。 - (省略可)DELAY は、コンテナが開始された後、最初のプローブを実行するまでに待機する秒数に置き換えます。0 秒~240 秒の値を指定します。デフォルト値は 0 秒です。
- (省略可)TIMEOUT は、プローブがタイムアウトするまでの待機時間(秒)に置き換えます。この値は、
periodSeconds
に指定された値を超えることはできません。1~240 の値を指定します。デフォルトは 1 です。 - (省略可)THRESHOLD は、コンテナを「未準備」とマークする前にプローブを再試行する回数に置き換えます。デフォルト値は 3 です。
- (省略可)PERIOD は、プローブを実行する期間(秒単位)に置き換えます。たとえば、2 秒ごとにプローブを実行する場合は
2
です。1 秒~240 秒の値を指定します。デフォルト値は 10 秒です。
次のコマンドを使用して、サービスを新しい構成に置き換えます。
gcloud run services replace service.yaml
Terraform
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
次に示すように、startup_probe
属性を使用して Cloud Run サービスを構成します。
HTTP ヘルスチェック エンドポイントを作成する
HTTP 起動プローブまたはライブネス プローブ用に Cloud Run サービスを構成する場合、プローブに応答するため、サービスコードにエンドポイントを追加する必要があります。エンドポイントには任意の名前(/startup
、/ready
など)を使用できますが、プローブ構成で path
に指定した値と一致する必要があります。たとえば、HTTP 起動プローブに /ready
を指定する場合は、次のようにプローブ構成で path
を指定します。
startupProbe: httpGet: path: /ready
HTTP ヘルスチェック エンドポイントは外部からアクセスでき、外部に公開される他の HTTP サービス エンドポイントと同じ原則に従います。
TCP 起動プローブを構成する
起動プローブを自分で構成しない場合、TCP 起動プローブは新しい Cloud Run サービスのデフォルト値を使用して自動的に構成されます。デフォルトのプローブは次のものと同等です。
startupProbe: tcpSocket: port: CONTAINER_PORT timeoutSeconds: 240 periodSeconds: 240 failureThreshold: 1
ここで、CONTAINER_PORT は、サービスに使用するコンテナポートに設定されます。
これらのデフォルト値は、このセクションの手順で変更できます。
TCP 起動プローブの場合、Cloud Run は指定されたポートで TCP ソケットを開くための TCP 接続を確立します。Cloud Run が接続を確立できない場合は、失敗を示します。
起動プローブが指定時間(failureThreshold
* periodSeconds
)内に成功しなかった場合(240 秒を超えた場合)、コンテナはシャットダウンされます。
既存のサービスの場合、TCP 起動プローブは Google Cloud コンソールを使用して構成します。新規または既存のサービスの場合は YAML を使用して構成します。
コンソール
構成するサービスをクリックします。
[YAML] タブをクリックします。
[編集] をクリックし、次に示すように
startupProbe
属性を構成します。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: failureThreshold: THRESHOLD initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT periodSeconds: PERIOD tcpSocket: port: CONTAINER_PORT
次のように置き換えます。
- SERVICE は、Cloud Run サービスの名前に置き換えます。
- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。 - (省略可)CONTAINER_PORT は、サービスに使用するコンテナポートに設定する必要があります。
- (省略可)DELAY は、コンテナが開始された後、最初のプローブを実行するまでに待機する秒数に置き換えます。0 秒~240 秒の値を指定します。デフォルト値は 0 秒です。
- (省略可)TIMEOUT は、プローブがタイムアウトするまでの待機時間(秒)に置き換えます。この値は、
periodSeconds
に指定された値を超えることはできません。1~240 の値を指定します。デフォルトは 1 です。 - (省略可)THRESHOLD は、コンテナを「未準備」とマークする前にプローブを再試行する回数に置き換えます。デフォルト値は 3 です。
- (省略可)PERIOD は、プローブを実行する期間(秒単位)に置き換えます。たとえば、2 秒ごとにプローブを実行する場合は
2
です。1 秒~240 秒の値を指定します。デフォルト値は 10 秒です。
[新しいリビジョンを保存してデプロイする] をクリックします。
YAML
既存のサービス構成をダウンロードして表示するには、gcloud run services describe --format export
コマンドを使用します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記の手順に沿ってフィールドを変更し、gcloud run services replace
コマンドを使用して変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。
次のコマンドで、構成を表示してダウンロードするには:
gcloud run services describe SERVICE --format export > service.yaml
次のように
startupProbe
属性を構成します。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: tcpSocket: port: CONTAINER_PORT initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
次のように置き換えます。
- SERVICE は、Cloud Run サービスの名前に置き換えます。
- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。 - (省略可)CONTAINER_PORT は、サービスに使用するコンテナポートに設定する必要があります。
- DELAY は、コンテナが開始された後、最初のプローブを実行するまでに待機する秒数に置き換えます。0 秒~240 秒の値を指定します。デフォルト値は 0 秒です。
- (省略可)TIMEOUT は、プローブがタイムアウトするまでの待機時間(秒)に置き換えます。この値は、
periodSeconds
に指定された値を超えることはできません。1~240 の値を指定します。デフォルトは 1 です。 - THRESHOLD は、コンテナを「未準備」とマークする前にプローブを再試行する回数に置き換えます。デフォルト値は 3 です。
- PERIOD は、プローブを実行する期間(秒単位)に置き換えます。たとえば、2 秒ごとにプローブを実行する場合は
2
です。1 秒~240 秒の値を指定します。デフォルト値は 10 秒です。
次のコマンドを使用して、サービスを新しい構成に置き換えます。
gcloud run services replace service.yaml
Terraform
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
次に示すように、startup_probe
属性を使用して Cloud Run サービスを構成します。
gRPC 起動プローブを構成する
gRPC 起動プローブを使用するには、Cloud Run サービスに gRPC ヘルスチェック プロトコルを実装し、このセクションの説明に従ってプローブを構成する必要があります。
既存のサービスの場合、gRPC 起動プローブは Google Cloud コンソールを使用して構成します。新規または既存のサービスの場合は YAML を使用して構成します。
コンソール
構成するサービスをクリックします。
[YAML] タブをクリックします。
[編集] をクリックし、次に示すように
startupProbe
属性を構成します。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: grpc: service: GRPC_SERVICE port: CONTAINER_PORT initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
次のように置き換えます。
- SERVICE は、Cloud Run サービスの名前に置き換えます。
- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。 - (省略可)CONTAINER_PORT は、サービスに使用するコンテナポートに設定する必要があります。
- GRPC_SERVICE は、ヘルスチェックを送信する gRPC サービスの名前に置き換えます。
- (省略可)DELAY は、コンテナが開始された後、最初のプローブを実行するまでに待機する秒数に置き換えます。0 秒~240 秒の値を指定します。デフォルト値は 0 秒です。
- (省略可)TIMEOUT は、プローブがタイムアウトするまでの待機時間(秒)に置き換えます。この値は、
periodSeconds
に指定された値を超えることはできません。1~240 の値を指定します。デフォルトは 1 です。 - (省略可)THRESHOLD は、コンテナを「未準備」とマークする前にプローブを再試行する回数に置き換えます。デフォルト値は 3 です。
- (省略可)PERIOD は、プローブを実行する期間(秒単位)に置き換えます。たとえば、2 秒ごとにプローブを実行する場合は
2
です。1 秒~240 秒の値を指定します。デフォルト値は 10 秒です。
[新しいリビジョンを保存してデプロイする] をクリックします。
YAML
既存のサービス構成をダウンロードして表示するには、gcloud run services describe --format export
コマンドを使用します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記の手順に沿ってフィールドを変更し、gcloud run services replace
コマンドを使用して変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。
次のコマンドで、構成を表示してダウンロードするには:
gcloud run services describe SERVICE --format export > service.yaml
次のように
startupProbe
属性を構成します。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL startupProbe: grpc: service: GRPC_SERVICE port: CONTAINER_PORT initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
次のように置き換えます。
- SERVICE は、Cloud Run サービスの名前に置き換えます。
- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。 - GRPC_SERVICE は、ヘルスチェックを送信する gRPC サービスの名前に置き換えます。
- (省略可)CONTAINER_PORT は、サービスに使用するコンテナポートに設定する必要があります。
- (省略可)DELAY は、コンテナが開始された後、最初のプローブを実行するまでに待機する秒数に置き換えます。0 秒~240 秒の値を指定します。デフォルト値は 0 秒です。
- (省略可)TIMEOUT は、プローブがタイムアウトするまでの待機時間(秒)に置き換えます。この値は、periodSeconds に指定された値を超えることはできません。1~240 の値を指定します。デフォルトは 1 です。
- (省略可)THRESHOLD は、コンテナを「未準備」とマークする前にプローブを再試行する回数に置き換えます。デフォルト値は 3 です。
- (省略可)PERIOD は、プローブを実行する期間(秒単位)に置き換えます。たとえば、2 秒ごとにプローブを実行する場合は
2
です。1 秒~240 秒の値を指定します。デフォルト値は 10 秒です。
次のコマンドを使用して、サービスを新しい構成に置き換えます。
gcloud run services replace service.yaml
Terraform
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
次に示すように、startup_probe
属性を使用して Cloud Run サービスを構成します。
resource "google_cloud_run_service" "default" { provider = google-beta name = "cloudrun-service-healthcheck" location = "us-central1" project = "tf-healthchecks-grpc-probe-1" template { spec { containers { # Note: Change to the name of your image image = "us-docker.pkg.dev/cloudrun/container/hello" startup_probe { failure_threshold = 5 initial_delay_seconds = 10 timeout_seconds = 3 period_seconds = 3 grpc { # Note: Change to the name of your pre-existing grpc health status service service = "grpc.health.v1.Health" } } } } } traffic { percent = 100 latest_revision = true } }
ライブネス プローブを構成する
HTTP と gRPC のライブネス プローブを構成できます。
HTTP ライブネス プローブを構成する
HTTP 起動プローブを構成すると、ライブネス プローブは起動プローブが成功した後にのみ開始されます。HTTP ヘルスチェック プローブを使用するには、プローブに対応する HTTP ヘルスチェック エンドポイントを作成する必要があります。また、サービスは HTTP/2 ではなく HTTP/1(Cloud Run のデフォルト)を使用する必要があります。
ライブネス プローブが構成され、起動プローブが成功すると、Cloud Run はサービスのヘルスチェック エンドポイント(たとえば、/health
)に HTTP GET リクエストを送信します。200
~400
のレスポンスはどれも成功であり、他のレスポンスは失敗を意味します。
起動プローブが指定時間(failureThreshold
* periodSeconds
)内に成功しなかった場合(240 秒を超えた場合)、コンテナはシャットダウンされます。
指定された時間内に HTTP ライブネス プローブが失敗した場合、コンテナは停止され、次の受信リクエストによって再起動されます。
既存のサービスの場合、HTTP ライブネス プローブは Google Cloud コンソールを使用して構成します。新規または既存のサービスの場合は YAML を使用して構成します。
コンソール
構成するサービスをクリックします。
[YAML] タブをクリックします。
[編集] をクリックし、次に示すように
livenessProbe
属性を構成します。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: image: IMAGE_URL livenessProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
次のように置き換えます。
- SERVICE は、Cloud Run サービスの名前に置き換えます。
- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。 - PATH は、HTTP エンドポイントの相対パス(例:
/ready
)に置き換えます。 - (省略可)CONTAINER_PORT は、サービスに使用するコンテナポートに設定する必要があります。
- (省略可)
httpHeaders
を使用すると、次のように HEADER_NAME フィールドと HEADER_VALUE フィールドを使用して複数または繰り返しのカスタム ヘッダーを指定できます。 - (省略可)DELAY は、コンテナが開始された後、最初のプローブを実行するまでに待機する秒数に置き換えます。0 秒~240 秒の値を指定します。デフォルト値は 0 秒です。
- (省略可)TIMEOUT は、プローブがタイムアウトするまでの待機時間(秒)に置き換えます。この値は、
periodSeconds
に指定された値を超えることはできません。1~3,600 の値を指定します。デフォルトは 1 です。 - (省略可)THRESHOLD は、コンテナを「未準備」とマークする前にプローブを再試行する回数に置き換えます。デフォルト値は 3 です。
- (省略可)PERIOD は、プローブを実行する期間(秒単位)に置き換えます。たとえば、2 秒ごとにプローブを実行する場合は
2
です。1 秒~3,600 秒の値を指定します。デフォルト値は 10 秒です。
[新しいリビジョンを保存してデプロイする] をクリックします。
YAML
既存のサービス構成をダウンロードして表示するには、gcloud run services describe --format export
コマンドを使用します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記の手順に沿ってフィールドを変更し、gcloud run services replace
コマンドを使用して変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。
次のコマンドで、構成を表示してダウンロードするには:
gcloud run services describe SERVICE --format export > service.yaml
次のように
livenessProbe
属性を構成します。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL livenessProbe: httpGet: path: PATH port: CONTAINER_PORT httpHeaders: - name: HEADER_NAME value: HEADER_VALUE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
次のように置き換えます。
- SERVICE は、Cloud Run サービスの名前に置き換えます。
- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。 - PATH は、HTTP エンドポイントの相対パス(例:
/ready
)に置き換えます。 - (省略可)CONTAINER_PORT は、サービスに使用するコンテナポートに設定する必要があります。
- (省略可)
httpHeaders
を使用すると、次のように HEADER_NAME フィールドと HEADER_VALUE フィールドを使用して複数または繰り返しのカスタム ヘッダーを指定できます。 - (省略可)DELAY は、コンテナが開始された後、最初のプローブを実行するまでに待機する秒数に置き換えます。0 秒~240 秒の値を指定します。デフォルト値は 0 秒です。
- (省略可)TIMEOUT は、プローブがタイムアウトするまでの待機時間(秒)に置き換えます。この値は、
periodSeconds
に指定された値を超えることはできません。1~3,600 の値を指定します。デフォルトは 1 です。 - (省略可)THRESHOLD は、コンテナを「未準備」とマークする前にプローブを再試行する回数に置き換えます。デフォルト値は 3 です。
- (省略可)PERIOD は、プローブを実行する期間(秒単位)に置き換えます。たとえば、2 秒ごとにプローブを実行する場合は
2
です。1 秒~3,600 秒の値を指定します。デフォルト値は 10 秒です。
次のコマンドを使用して、サービスを新しい構成に置き換えます。
gcloud run services replace service.yaml
Terraform
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
次に示すように、liveness_probe
属性を使用して Cloud Run サービスを構成します。
また、HTTP プローブの構成後、プローブに応答するヘルスチェック エンドポイントを作成する必要があります。
gRPC ライブネス プローブを構成する
gRPC 起動プローブを構成すると、ライブネス プローブは起動プローブが成功した後にのみ開始されます。なお、gRPC ヘルスチェック プローブを使用するには、Cloud Run サービスに gRPC ヘルスチェック プロトコルを実装する必要があります。
ライブネス プローブが構成され、起動プローブが成功すると、Cloud Run はサービスにヘルスチェック リクエストを行います。
起動プローブが指定時間(failureThreshold
* periodSeconds
)内に成功しなかった場合(240 秒を超えた場合)、コンテナはシャットダウンされます。
指定された時間内に gRPC ライブネス プローブが失敗した場合、コンテナは停止され、次の受信リクエストによって再起動されます。
既存のサービスの場合、gRPC ライブネス プローブは Google Cloud コンソールを使用して構成します。新規または既存のサービスの場合は YAML を使用して構成します。
コンソール
構成するサービスをクリックします。
[YAML] タブをクリックします。
[編集] をクリックし、次に示すように
livenessProbe
属性を構成します。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: image: IMAGE_URL livenessProbe: grpc: port: CONTAINER_PORT service: GRPC_SERVICE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
次のように置き換えます。
- SERVICE は、Cloud Run サービスの名前に置き換えます。
- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。 - (省略可)CONTAINER_PORT は、サービスに使用するコンテナポートに設定する必要があります。
- GRPC_SERVICE は、ヘルスチェックを送信する gRPC サービスの名前に置き換えます。
- (省略可)DELAY は、コンテナが開始された後、最初のプローブを実行するまでに待機する秒数に置き換えます。0 秒~240 秒の値を指定します。デフォルト値は 0 秒です。
- (省略可)TIMEOUT は、プローブがタイムアウトするまでの待機時間(秒)に置き換えます。この値は、
periodSeconds
に指定された値を超えることはできません。1~3,600 の値を指定します。デフォルトは 1 です。 - (省略可)THRESHOLD は、コンテナを「未準備」とマークする前にプローブを再試行する回数に置き換えます。デフォルト値は 3 です。
- (省略可)PERIOD は、プローブを実行する期間(秒単位)に置き換えます。たとえば、2 秒ごとにプローブを実行する場合は
2
です。1 秒~3,600 秒の値を指定します。デフォルト値は 10 秒です。
[新しいリビジョンを保存してデプロイする] をクリックします。
YAML
既存のサービス構成をダウンロードして表示するには、gcloud run services describe --format export
コマンドを使用します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記の手順に沿ってフィールドを変更し、gcloud run services replace
コマンドを使用して変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。
次のコマンドで、構成を表示してダウンロードするには:
gcloud run services describe SERVICE --format export > service.yaml
次のように
livenessProbe
属性を構成します。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: spec: containers: - image: IMAGE_URL livenessProbe: grpc: port: CONTAINER_PORT service: GRPC_SERVICE initialDelaySeconds: DELAY timeoutSeconds: TIMEOUT failureThreshold: THRESHOLD periodSeconds: PERIOD
次のように置き換えます。
- SERVICE は、Cloud Run サービスの名前に置き換えます。
- IMAGE_URL は、コンテナ イメージへの参照(
us-docker.pkg.dev/cloudrun/container/hello:latest
など)に置き換えます。 - (省略可)CONTAINER_PORT は、サービスに使用するコンテナポートに設定する必要があります。
- GRPC_SERVICE は、ヘルスチェックを送信する gRPC サービスの名前に置き換えます。
- (省略可)DELAY は、コンテナが開始された後、最初のプローブを実行するまでに待機する秒数に置き換えます。0 秒~240 秒の値を指定します。デフォルト値は 0 秒です。
- (省略可)TIMEOUT は、プローブがタイムアウトするまでの待機時間(秒)に置き換えます。この値は、
periodSeconds
に指定された値を超えることはできません。1~3,600 の値を指定します。デフォルトは 1 です。 - (省略可)THRESHOLD は、コンテナを「未準備」とマークする前にプローブを再試行する回数に置き換えます。デフォルト値は 3 です。
- (省略可)PERIOD は、プローブを実行する期間(秒単位)に置き換えます。たとえば、2 秒ごとにプローブを実行する場合は
2
です。1 秒~3,600 秒の値を指定します。デフォルト値は 10 秒です。
次のコマンドを使用して、サービスを新しい構成に置き換えます。
gcloud run services replace service.yaml
Terraform
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
次に示すように、liveness_probe
属性を使用して Cloud Run サービスを構成します。