logo FEDIDEVS

KubeCon | CloudNativeCon North America 2024

Day 3 (56) drmorr (136)

Currently doesn't support WASM component model, but would be super helpful. Can YOU help with this???

0 0 1

There's a new way to integrate plugins with the scheduling framework using wasm. WASM modules loaded at runtime via URL; it's in-process so no latency or cache issues. WASI-compatible languages (currently only Go).

0 0 1

Ok we're all done.

But wait! In the title of the talk it says something about wasm.... when are we talking about wasm, exactly??

0 0 1

Recall that you can make your pods (or whatever) to use a different/custom scheduler by setting a field in the podspec.

0 0 1

Scheduler extenders became the scheduling framework, which is a set of pluggable APIs that are compiled directly into kube-scheduler -- lots more extension points. There are a number of in-tree plugins that you can use, but if you want to write your own you have to recompile kube-scheduler.

0 0 1

We're writing a scheduler extender demo in Python that does some regex filtering.

0 0 1

Now we are going to talk about how you better control kube-scheduler. Scheduler extenders give you a network webhook to control the scheduler. Imposes higher latency and the extenders can get out of sync with the kube-scheduler caches. You can set extenders at Filter, Preempt, Prioritize, and Bind extension points.

0 0 1

Currently looking at all the scheduling lifecycle hooks. Enqueue -> Filter -> Score -> Bind (skipping a few steps in there).

0 0 1

Today we're going to demystify kube-scheduler and build a plugin!

0 0 1

The one talk I'm attending today (aside from, you know, my own) is "WASM + KWOK Wizardry: Writing and Testing Scheduler Plugins at Scale" by Dejan Pejchev & Jonathan Giannuzzi, G-Research. Because, uh, SimKube.

However, if you're looking for a talk to go to, I strongly recommend my friend @bizzybits's talk "Bring the Joy Back to Deployments!", in 250 AD!

0 0 1