Kubernetes v1.36: 一時停止中のジョブに対す... ノート

Kubernetes v1.36: 一時停止中のジョブに対する Pod リソースの変更 (ベータ)

Kubernetes v1.36 では、一時停止中の Job の Pod テンプレート内でコンテナのリソース要求と制限を変更できる機能がベータ版に昇格しました。v1.35 でアルファ版として導入されたこの機能により、キューコントローラーや管理者は、Job が実行される前に、一時停止中に CPU、メモリ、GPU などのリソース仕様を調整できるようになりました。以前は、リソース要件は一度設定されると変更できず、変更するには Job を削除して再作成する必要があり、貴重なメタデータが失われていました。この新しい機能は、Job 作成時にリソースニーズが正確に分からなかったり、クラスターの容量が変動したりする場合に対応します。たとえば、キューコントローラーは、機械学習 Job の GPU 要求を、4 つから 2 つに、利用可能な GPU が 2 つしかない場合に減らすことができます。Kubernetes API サーバーは、一時停止中の Job に対して特定のリソースフィールドの不変性制約を緩和し、Job の spec.suspend が true であること、および以前に実行されていた場合はすべてのアクティブな Pod が終了していることを要求します。ベータ版では、MutablePodResourcesForSuspendedJobs 機能ゲートは v1.36 でデフォルトで有効になっています。ユーザーは、一時停止中の Job を作成し、そのリソースを編集し、それを再開することでこれをテストできます。矛盾を防ぐために、一時停止中の実行中の Job のリソースを変更する前に、すべてのアクティブな Pod が終了していることを確認することが重要です。