Live data from Hacker News

I ported Kubernetes to the browser

ngrok.com

31–40 of 110 posts

Re: I ported Kubernetes to the browser

#33
1. It's not really running containers in the browser, right? It seems every service would need a custom connector - and more importantly...

2. ...would need a renderer, right? Otherwise what does it mean to be "ported to the browser"?

To use an analogy - if somebody ported DOOM to the browser, that means I can now play it in the browser. But I can't really run those databases that it shows in the browser tab, can I?

I couldn't say spin up ruby2d and suddenly have client-side Ruby support. It would require all sorts of custom work to get that actually running in a browser tab.

Where presumably with typical backend container services they really can port around and run anywhere.

So I don't see the point, and someone correct me if I'm wrong but it doesn't even seem to be what it asserts.

Re: I ported Kubernetes to the browser

#34

This is cool. As someone who has authored Kubernetes educational content in a past role, I can definitely see the appeal of building something like this. iirc we first used Katacoda and then used some other similar platform and they were very useful since they spun up a fresh instance on the fly for each user with a specific setup. Though it seems like right now this is probably better for conceptual/architectural ed…

Sadly Katacoda got paywalled (totally get why they did it, these things have costs). I think some other similar platforms disappeared because they ran out of people willing to fund it. It’s a shame.

I’m hoping this offers an alternative. It has the risk of becoming out of date with reality, but at least even in that case the core should ~always be relevant.

Re: I ported Kubernetes to the browser

#35
post #30

First of all, this is wonderful stuff! As a minor thought / question – I'm a little surprised that this isn't (yet) wired up for pods to run in Web workers. I appreciate that there is a Clock mechanism (allowing you to step the cluster), which would be more difficult in that setup, but... I feel like especially with SharedArrayBuffer (which admittedly requires the right COOP/COEP), that could be pulled off with atomi…

Web workers were on my mind from the start but I never found myself needing them. They were always my ace-in-the-hole if this ended up being too CPU hungry on the main thread but it never happened, so I didn’t bother.

One of the fun things is it shouldn’t be too difficult to create a new RuntimeService that uses web workers and slots in alongside my existing CRI. I’d love a PR along those lines!

Re: I ported Kubernetes to the browser

#36

1. It's not really running containers in the browser, right? It seems every service would need a custom connector - and more importantly... 2. ...would need a renderer, right? Otherwise what does it mean to be "ported to the browser"? To use an analogy - if somebody ported DOOM to the browser, that means I can now play it in the browser. But I can't really run those databases that it shows in the browser tab, can I?…

Your points are addressed in the post just not in the title.

It’s not running real container images. Maybe a better idea is simulated Kubernetes.

What’s ported is the control plane: scheduler, kube-proxy, deployment controller, etc, transliterated from the actual Go source and tested against k3s for behavioral parity using the same client API. The “rendering” is the demo app visualizing pod-to-pod requests as moving dots.

Re: I ported Kubernetes to the browser

#37

Interesting project and (possibly more) interesting explanation of the development process. I agree with the author that the primary difference between vibe slop and real engineering is just reading the lines of code. However it does feel like we are just on the cusp of only needing to read the tests and _not_ all the lines of code. Maybe a few more model generations and we will be there.

For some projects I think only reading the tests is probably fine. In this project I didn’t think it was enough purely because it’s a port of existing code, so there was a need to validate the port was as exact as it could be.

Many projects would be just fine if you created a comprehensive-enough set of tests that you understood to be enough.

Re: I ported Kubernetes to the browser

#38

This is awesome. Wish I had the idea first. I see this as a fun learning and experimental tool. For a while I have wanted to make a web page where you can do service load balancing and queuing simulations so this would be a great basis for it.

I have some potentially bad news for you:

https://samwho.dev/load-balancing https://encore.dev/blog/queueing

Re: I ported Kubernetes to the browser

#39
post #29
post #27

Earlier quoted context omitted.

So your prior is that token costs are only going to go up. Doesn't stuff like GLM 5.2 and Deepseek change this? I.e. something close to Opus 4.5 that runs 10X + more performantly.

No, because those loans still have to be repaid.

Could you explain your mental model of the situation a bit more?

Let's take something like GML 5.2 that is open source - anyone can run it on NVIDIA or AMD chips. People are currently making money by running GLM 5.2 Nvidia and AMD chips and selling inference on aggregators like openRouter.

So the cost to serve is like cost of Chip or financing for Chip + power and rackspace somewhere. We basically know that each year you will be able to server exponentially more inference per $ on Nvidia and AMD hardware as it gets to newer generations, so why would you expect the cost of inference on open models to also increase?

Like let's say not through a Chinese subsidized provider but like BaseTen https://www.baseten.co/pricing/ why would that get more expensive year over year?

Post reply on HN