Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CA_kube-scheduler

himura-shitara
October 24, 2024
4

 CA_kube-scheduler

himura-shitara

October 24, 2024
Tweet

Transcript

  1. - FragileGroupScheduling の isAllPrioritySame 関数において PreemptionPolicy == Never であれば許容するように修正 -

    FragileGroupScheduling の PreFilter Phase において、Group 内 Pod 間の Affinity / Anti-Affinity が満たされているかを早期に 検査するように機能を追加 やったこと
  2. PreemptionPolicy テストケースに Higher Priority であり Preemption が Never である Pod

    を追加 ↓ テストケースが正しく通ることを確認
  3. Affinity / Anti-Affinity 何が嬉しいか PodGroup は全て Bind されるか全て棄却されるか のどちらかであるため、 PodGroup

    内に Pod 間で Affinity / Anti-Affinity を違反する Pod が 一つでも存在した時点で全て棄却されることが確定する。 これを PodGroup の中の一つの Pod を見るだけで判断できる ようになれば、パフォーマンスの向上が期待できるのではないか
  4. Affinity / Anti-Affinity テスト 新たなテストを定義し、 - GroupSize を 2 とした

    basic な Pod - PodAffinity として GroupSize=2 を指定した Pod - PodAffinity として GroupSize=3 を指定した Pod - PodAntiAffinity として GroupSize=2 を指定した Pod - PodAntiAffinity として GroupSize=3 を指定した Pod を宣言
  5. Affinity / Anti-Affinity テスト - Affinity Pod が PodGroup に含まれており、Affinity

    に違反しないケース - Affinity Pod が PodGroup に含まれており、Affinity に違反するケース - Anti-Affinity Pod が PodGroup に含まれており、Anti-Affinity に違反しないケース - Anti-Affinity Pod が PodGroup に含まれており、Anti-Affinity に違反するケース - Affinity Pod, Anti-Affinity Pod が含まれており、違反しないケース - Affinity Pod, Anti-Affinity Pod が含まれており、Affinity に違反するケース - Affinity Pod, Anti-Affinity Pod が含まれており、Anti-Affinity に違反するケース - Affinity Pod, Anti-Affinity Pod が含まれており、どちらにも違反するケース において、正しく動作することを確認
  6. まとめ - やったこと - PreemptionPolicy - PreemptionPolicy が nil の場合の話

    - テストを書いたよ、という話 - Affinity / Anti-Affinity - 何が嬉しいか - 図解 - 実装の説明 - ハマりポイント - テスト