Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CA_kube-scheduler
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
himura467
October 24, 2024
34
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CA_kube-scheduler
himura467
October 24, 2024
More Decks by himura467
See All by himura467
Figma MCP 勉強会
himura
0
55
基盤モデルのアーキテクチャを改造してみよう - 時系列基盤モデルのマルチモーダル拡張事例の紹介 -
himura
1
1.4k
Python アプリケーションの裏側とその機序 -WSGI, ASGI 編-
himura
0
110
人生における期待効用の最大化について考える
himura
0
130
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
The Curse of the Amulet
leimatthew05
3
16k
Making Projects Easy
brettharned
120
6.8k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
How STYLIGHT went responsive
nonsquared
100
6.3k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Transcript
CyberAgent MLPlatform インターン 最終発表 設楽 朗人
- FragileGroupScheduling の isAllPrioritySame 関数において PreemptionPolicy == Never であれば許容するように修正 -
FragileGroupScheduling の PreFilter Phase において、Group 内 Pod 間の Affinity / Anti-Affinity が満たされているかを早期に 検査するように機能を追加 やったこと
PreemptionPolicy
PreemptionPolicy PreemptionPolicy が nil の場合はデフォルトが指定される デフォルトは LowerPriority らしい
PreemptionPolicy テストケースに Higher Priority であり Preemption が Never である Pod
を追加
PreemptionPolicy テストケースに Higher Priority であり Preemption が Never である Pod
を追加 ↓ テストケースが正しく通ることを確認
Affinity / Anti-Affinity 何が嬉しいか PodGroup は全て Bind されるか全て棄却されるか のどちらかであるため、 PodGroup
内に Pod 間で Affinity / Anti-Affinity を違反する Pod が 一つでも存在した時点で全て棄却されることが確定する。 これを PodGroup の中の一つの Pod を見るだけで判断できる ようになれば、パフォーマンスの向上が期待できるのではないか
Affinity / Anti-Affinity
Affinity / Anti-Affinity
Affinity / Anti-Affinity PodGroup
Affinity / Anti-Affinity PodGroup 相互の Affinity 関係を検証
Affinity / Anti-Affinity PodGroup ダメだったらその時点で Group 全て棄却
Affinity / Anti-Affinity PreFilter 関数で Group 内の Pod の Affinity
をチェック
Affinity / Anti-Affinity 実装は本家 Kubernetes の kubernetes/pkg/scheduler/framework/plugins/interpodaffinity/filtering.go の podMatchesAllAffinityTerms 関数をほぼパクった
Affinity / Anti-Affinity ハマりポイント Affinity Term は自身には適用すべきでないので、Kubernetes 本家のように Terms をまとめて検査することができなかった。
↓ UID で判定して自身以外の Pod のみを Term に適用するように修正した。
Affinity / Anti-Affinity テスト 新たなテストを定義し、 - GroupSize を 2 とした
basic な Pod - PodAffinity として GroupSize=2 を指定した Pod - PodAffinity として GroupSize=3 を指定した Pod - PodAntiAffinity として GroupSize=2 を指定した Pod - PodAntiAffinity として GroupSize=3 を指定した Pod を宣言
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 が含まれており、どちらにも違反するケース において、正しく動作することを確認
Affinity / Anti-Affinity テスト テスト網羅性は ふわっと
まとめ - やったこと - PreemptionPolicy - PreemptionPolicy が nil の場合の話
- テストを書いたよ、という話 - Affinity / Anti-Affinity - 何が嬉しいか - 図解 - 実装の説明 - ハマりポイント - テスト