スケジューリング、プリエンプションと退避

スケジューリング、プリエンプションと退避

Kubernetesにおいてスケジューリングとは、稼働させたいPodノードにマッチさせ、kubeletが実行できるようにすることを指します。 プリエンプションは、優先度の低いPodを終了させて、より優先度の高いPodがノード上でスケジュールできるようにするプロセスです。 退避とは、リソース不足のノードで1つ以上のPodを積極的に終了させるプロセスです。

スケジューリング

  • Kubernetesのスケジューラー
  • ノード上へのPodのスケジューリング
  • Podのオーバーヘッド
  • Pod Topology Spread Constraints
  • TaintとToleration
  • スケジューリングフレームワーク
  • Dynamic Resource Allocation
  • スケジューラーのパフォーマンスチューニング
  • 拡張リソースのリソースビンパッキング
  • Pod Scheduling Readiness
  • PodGroup Scheduling
  • Gangスケジューリング
  • Topology-aware Scheduling
  • Workload-Aware preemption
  • Descheduler
  • Node Declared Features

Pod Disruption

Pod disruptionとは、ノード上のPodが自発的または非自発的に終了されるプロセスのことです。

自発的なDisruptionは、アプリケーションの所有者やクラスター管理者によって意図的に開始されます。 非自発的なDisruptionは意図せず発生するもので、ノードのリソース不足のような避けられない問題や、誤った削除操作によって引き起こされます。

  • Podの優先度とプリエンプション
  • ノードの圧迫による退避
  • APIを起点とした退避