注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
プローブは、Compute Module 内のコンテナの準備状態と稼働状態を確認するための診断機構です。プローブはカスタムチェックを実行して、コンテナが正常に機能し、トラフィックを処理できるかどうかを判定し、コンテナのステータスを報告します。レディネスプローブとライブネスプローブの2種類のプローブを設定できます。
Readiness Probe は、コンテナがクエリを処理できる状態かどうかを確認します。コンテナのライフサイクル全体を通じて断続的に実行されます。プローブに成功すると、コンテナはクエリを受信できる状態と見なされます。プローブに失敗すると、コンテナは応答なしと指定され、プローブに再び成功するまでクエリを受信しません。レディネスプローブの一般的なユースケースは、起動時に前提となるタスクが完了したことを確認することです。
Liveness Probe は、コンテナが引き続き正常に稼働しているかどうかを確認します。レディネスプローブと同様に、コンテナのライフサイクル全体を通じて断続的に実行されます。ライブネスプローブに失敗すると、コンテナが再起動されます。
2種類のプローブの違いは、チェックが結果を返した後に実行されるアクションだけです。プローブのチェック自体は、その後のアクションに依存しません。
Compute Module のプローブを設定するには、次の手順に従います。
設定タブのコンテナセクションに移動します。設定するコンテナを見つけて選択します。
スクロールして Readiness Probe または Liveness Probe セクションを見つけます。セットまたは編集を選択します。

exec プローブは、コンテナ内でコマンドを実行し、終了ステータスを確認します。終了コード 0 は成功を示し、ゼロ以外の終了コードは失敗を示します。
デフォルトでは、コンテナがクラッシュしていないかを確認するために、exec レディネスプローブにコマンド echo が設定されています。
exec プローブでは、次の項目を設定します。

次の例は、コンテナ起動時の前提タスクとしてデータセットファイルをダウンロードする Python exec プローブスクリプトです。このスクリプトは、アプリケーション権限を使用してアクセストークンを取得し、Foundry データセットからデータを取得します。コンテナにコピーされるように、このスクリプトを app.py と同じフォルダーに配置してください。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29import os import requests HOSTNAME = "..." CLIENT_SECRET = os.environ["CLIENT_SECRET"] CLIENT_ID = os.environ["CLIENT_ID"] # 関数モードのサードパーティアプリケーションを使用してトークンを取得します TOKEN = requests.post(f"https://{HOSTNAME}/multipass/api/oauth2/token", data={ "grant_type": "client_credentials", "client_id": CLIENT_ID, "client_secret": CLIENT_SECRET, "scope": "api:datasets-read" }, ).json()["access_token"] HEADERS = { "Authorization": f"Bearer {TOKEN}" } DATASET_RID = os.environ["DATASET_RID"] FILENAME = "tmp/my_file.csv" if not os.path.exists(FILENAME): response = requests.get(f'https://{HOSTNAME}/api/v1/datasets/{DATASET_RID}/readTable?branchId=master&format=CSV', headers=HEADERS) if (response.status_code >= 400): exit(1) with open(FILENAME, 'w') as file: file.write(response.text)
データセットのダウンロードに失敗すると、このスクリプトはコード 1 で終了します。その結果、レディネスプローブが失敗を報告し、ダウンロードに成功するまでコンテナはクエリを受信しなくなります。
HTTP プローブは、コンテナ上のエンドポイントに HTTP GET リクエストを送信します。ステータスコードが 200 から 399 までのレスポンスは成功を示し、それ以外のステータスコードは失敗を示します。
HTTP プローブでは、次の項目を設定します。
