質問: kubernetesジョブは別のポッドに移動されます 長時間実行されているジョブ(45h)が別のポッドに移動され、再起動されます。ログから、ジョブがsigtermを受信し、別のポッドで、おそらく別のノードでも再起動されたことがわかります。グーグルクラウドで取得された情報は役に立ちません。ページyamlまたはeventsは、ポッドの作成を除いて、このイベントについて説明していません。仕事yamlcreationtimestamp: 2019-06-15t10:39:25zポッドyamlcreationtimestamp: 2019-06-17t13:26:25z私は主にデフォルト構成を使用します1.12.6-gke.11いくつかのノードがあり、サーバーはプリエンプティブではありません。k8sのデフォルトの動作ですか?そうである場合、どうすれば無効にできますか?
回答: クラスターの自動スケーリングを使用しているとおっしゃっていたので、クラスターがスケールインされているためにポッドが削除されていると想定します。0-を使用してビデオトランスコーディングジョブを実行しているため、同様の問題が発生しました。スケーリングされたノードプール(ジョブが追加されるとスケールアウトされます)。調べてみると、オートスケーラーに関する オートスケーラーのドキュメント が見つかり、それに応じてジョブを変更しました。 caがノードを削除するのを防ぐことができるポッドのタイプは何ですか? poddisruptionbudgetが制限されているポッド。 kube-システムポッド: デフォルトではノードで実行されません。* ポッドの中断の予算が設定されていないか、pdbが制限されすぎています(ca 0.6以降)。 コントローラオブジェクトによってサポートされていないポッド(したがって、展開、レプリカセット、ジョブ、ステートフルセットなどによって作成されていない)。 * ローカルストレージを備えたポッド。 * さまざまな制約(リソースの不足、ノードセレクターまたはアフィニティーの不一致、非アフィニティーの一致など)のために他の場所に移動できないポッド 次の注釈が設定されているポッド:"cluster-autoscaler.kubernetes.io/safe-to-evict": "false" それは私たちのためにトリックをした最後のものでした。これを出発点として使用することをお勧めします。