0

サービス キューにサブスクライブするワーカー ポッドがあります。ワーカーの状態を監視する liveness プローブを定義する必要があります。ワーカー ポッドは HTTP または TCP ポートを公開しません。そのため、コマンドを使用してワーカーの健康状態を確認します。このような。

  livenessProbe:
  exec:
    command:
    - cat
    - log/healthy-2020-07-16-03.log

5 秒ごとに、ワーカー ポッドはヘルス情報をログ ファイルに出力します。ログファイル名の形式は、healthy-YYYY-MM-DD-HH.log です。そして、各ログ情報は次のようになります。

{"message":"Thu Jul 16 2020 03:23:30 GMT+0000 (Coordinated Universal Time) health","level":"notice","Env":"local","Service":"myservice","timestamp":"2020-07-16T03:23:30.008Z"}

そのため、ログのタイムスタンプとメッセージが正常かどうかを確認する必要があります。

私の質問は:

  1. 私のアプローチは、k8s 正常性プローブのベスト プラクティスに従っていますか?
  2. k8s はより強力なコマンドをサポートしていますか? 例: python スクリプトまたは jq。JSON を解析し、タイムスタンプとメッセージを検証する必要がありますか?
  3. ワーカー Pod の場合、readiness プローブを定義する必要はありません。k8s サービスまたはエンドポイントとバインドしないためですよね?
4

1 に答える 1