mruoss
Flame_k8s_backend - a FLAME Backend for Kubernetes
I’m working on the FLAME Backend for Kubernetes.
In my current PR, I’d like to allow for better control over the runner pod manifest. The current approach basically offers 2 ways of controlling the runner pod manifest.
In the simpler case you can just define env vars and resource requests/limits for the runner pods. The FLAME backend then creates the runner pod with these values set.
If you need more advanced features like pod affinity (e.g. running on GPU nodes), volumes etc, you can implement a callback in which you build the runner pod manifest in your application and return it to the FLAME backend. The backend then adds soem required env variables, set/overwrite a few values like the pod name, container image, etc. and finally apply it to the cluster to create the runner pod.
Inputs anyone?
Most Liked
entone
No feedback at this point, but just wanted to say thank you! I was hoping this would happen quickly!
chrismccord
No worries at all – I didn’t take it that way
Start times fluctuate for sure based on what docker image layers are cached locally or not. On fly, machine creates will favor a host with the current image cached if that host has available capacity, falling back to pulling from a region registry. Also one option for a faster FlyBackend would be to precreate the machines and then stop (or suspend) them. Then growing the flame pool is a machine start instead of create, which would bring starts down to 500ms. I assume the k8s orchestrator is doing something along these lines.
I have avoided this so far on the FlyBackend because it requires more orchestration and failsafes to avoid orphaning resources, and the cold boots are Fast Enough™ . That said, with the new machine suspend features we can technically have a machine back up and running sub 100ms. I still favor the cold creates for simplicity, but I would be open to an option like eager: true which precreates the fly machines if folks really want it.
mruoss
In version 0.4.1 released yesterday I have removed Req - the last dependency besides Flame. Now FLAME can safely be used in Livebooks running on Kubernetes.
Popular in Announcing
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #hex
- #security









