ジョブのタイムアウト値を調整する

GKE on Bare Metal のジョブがタイムアウトし、この動作がインストールの根本的な問題によるものではないと考えられる場合は、タイムアウト時間を延ばすことができます。このドキュメントでは、構成仕様のアノテーションを使用してマシンジョブとバッチジョブのタイムアウト時間を調整する方法について説明します。

さらにサポートを必要とされる場合は、Cloud カスタマーケアにお問い合わせください。

ジョブの種類とエラー

GKE on Bare Metal のコマンドとルーティンには、マシンジョブとバッチジョブの 2 種類があります。ジョブの実行時間には、ハードウェア構成、ネットワーク構成、クラスタ構成など多くの項目が影響します。GKE on Bare Metal には、一般的なインストール環境に対応したデフォルトのタイムアウトがあります。

ジョブのタイムアウト エラー メッセージの例を次に示します。

  • bmctl-workspace/cluster1/logs/preflight-20210501-000426/172.18.0.4 のようなプリフライト ログからのマシンジョブのタイムアウト エラー メッセージ(わかりやすくするためにラップ済み)。

    Pod:172.18.0.4-machine-preflf3a32c8a2f7a2449545c7e8ff954c961-652st
    Result:Failed Reason:DeadlineExceeded Time:Wed Feb  3 16:59:56 2021
    
  • 失敗した Pod の kubectl logs からの出力では、同様の DeadlineExceeded メッセージ(ラップ済み)が表示されることがあります。

    cluster-cluster1
    172.18.0.4-machine-preflf3a32c8a2f7a2449545c7e8ff954c961-652st  ●  0/1
    0 DeadlineExceeded  192.168.122.180  bmctl-control-plane  7m12
    

マシンジョブのタイムアウト時間を調整する

マシンジョブは、1 台のマシンのみに制限されるプリフライト チェックなど、1 台のマシンでのみ実行されるルーティンです。GKE on Bare Metal のマシンジョブのデフォルトのタイムアウトは 900 秒、つまり 15 分です。マシンジョブのタイムアウト時間は、クラスタ構成ファイルの baremetal.cluster.gke.io/machine-job-deadline-seconds アノテーションで調整できます。

次の例では、マシンジョブのタイムアウト時間を 1800 秒(30 分)に設定します。

   apiVersion: baremetal.cluster.gke.io/v1
   kind: Cluster
   metadata:
     name: cluster1
     namespace: cluster-cluster1
     annotations:
       baremetal.cluster.gke.io/machine-job-deadline-seconds: "1800"
   spec:
   ...

タイムアウト時間の値は、bmctl create cluster を使用して新しいクラスタを作成する場合、または bmctl upgrade cluster を使用して既存のクラスタをアップグレードする場合に適用されます。bmctl check preflightbmctl check -c CLUSTER_NAME など、すべての単一マシンジョブに新しい間隔が使用されます。

バッチジョブのタイムアウト時間を調整する

バッチジョブは、ネットワーク プリフライト チェックなど、複数のマシンで実行されるルーティンです。GKE on Bare Metal のバッチジョブのデフォルトのタイムアウト間隔は、ネットワーク内のマシン数によって異なります。900 秒に、マシンごとに 20 秒を追加した値がデフォルトのタイムアウト時間です。

たとえば、バッチジョブが 60 台のマシンで実行されている場合、デフォルトのタイムアウト時間は 2,100 秒(900 + (20 * 60) = 2100)、つまり 35 分です。

バッチジョブのタイムアウト時間は、クラスタ構成ファイルの baremetal.cluster.gke.io/batch-job-deadline-seconds アノテーションで調整できます。

次の例では、バッチジョブのタイムアウト時間を 10,800 秒(3 時間)に設定します。

   apiVersion: baremetal.cluster.gke.io/v1
   kind: Cluster
   metadata:
     name: cluster1
     namespace: cluster-cluster1
     annotations:
       baremetal.cluster.gke.io/batch-job-deadline-seconds: "10800"
   spec:
   ...

タイムアウト時間の値は、bmctl create cluster を使用して新しいクラスタを作成する場合、または bmctl upgrade cluster を使用して既存のクラスタをアップグレードする場合に適用されます。

次のステップ

さらにサポートが必要な場合は、Cloud カスタマーケアにお問い合わせください。