Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
kueueに新しいPriorityClassを足した話
Search
Hiroyuki Moriya
October 20, 2023
820
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
kueueに新しいPriorityClassを足した話
kubernetes meetup tokyoで発表しました
Hiroyuki Moriya
October 20, 2023
More Decks by Hiroyuki Moriya
See All by Hiroyuki Moriya
クライアントの声を聞け
gekko0114
0
24
少人数プロダクト開発において SRE業務を増やさない工夫
gekko0114
0
1k
音声データ解析パイプラインの Software Engineering / Context Engineering
gekko0114
0
330
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
520
IVRyエンジニア忘年LT大会2024 LLM監視の最前線
gekko0114
1
420
JobSet超入門
gekko0114
1
1.2k
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
470
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Chasing Engaging Ingredients in Design
codingconduct
0
260
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
340
Faster Mobile Websites
deanohume
310
32k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Transcript
Kueueに新しいPriorityClassを足した話 Hiroyuki Moriya kubernetes meetup tokyo #61
Self introduction ▶ GitHub: @Gekko0114 ▶ Software Engineer ▶ 趣味でk8s関連のOSS
今日話すこと ▶ kubernetes-sigs/Kueueに新しいPriorityClassを足しました ▶ KEP(提案書)作成〜実装まで、一気通貫でやらせてもらいました ▶ Kueueの概要、KEPの内容、感想を喋ります
Kueueとは ▶ Batchワークロードを柔軟に実行するためのOSS ▶ Job, MPIJob, PyTorchJob, TensorflowJobなどのCRDを管理できる
▶ cluster毎にbudgetを設定すると、実行されるPodのresource合計がbudgetに収まる(詳 細は省略) ▶ 待機しているJobたちは、Queueに積まれる。リソースが空いたら実行される
Job作成から実行までの流れ ▶ Jobを作成すると、workloadというCRDが生成される。workloadがqueueに stackされる。clusterのresourceが空くと、実行される ▶ JobのPriority順に並ぶ
背景:Priorityに関する課題があった ▶ Queue内のworkloadの順番が、Pod Priorityで決まる ▶ Kueue controllerが参照するworkloadのpriorityと、pod priorityが同じなので、 pod preemptionに影響を与えずに、workload側のPriorityだけを独立して管理す
るのが面倒だった
KEP:workloadPriority ▶ workloadPriorityClassを導入した ▶ Jobのlabelを介して、workloadPriorityClassを指定可能にした
workloadPriorityの使い方 ▶ workloadPriorityClassをcreateする ▶ JobのlabelにworkloadPriorityClass の名前を指定
workloadPriorityの使い方 ▶ workloadPriorityClass名が付与され たworkloadが作成される ▶ workloadのpriorityはmutableなの で、「中々実行されないので、priority を上げる」操作も可能!
感想1: コミュニケーションは大事! ▶ コードを書く前に、KEPのdocument上で仕様を詳しく詰めた ▶ そのおかげで、本実装はかなりスムーズだった
感想2: Simple is best ▶ 最初は「時間が経つとPriorityが増える仕組み」を作ろうとしていた ▶ 「個別のニーズに対応しきれないし、負債になる(意訳)」というFBをもらって、方針 転換した
まとめ ▶ pod priorityと独立したPriority classを作成しました ▶ Kueueを使ってみてください!