Hacker News new | ask | show | jobs
by playorizaya 28 days ago
Sure - but to use another analogy...

If someone said they "ported git to the browser" but it was just a UI for git workflows it would be equally misleading.

I think because that isn't what "porting" is.

In such a case I would expect git - the version control code and diffing - running in browser JavaScript in the same way DOOM is when someone says they ported DOOM to the browser.

That's what porting means, right?

Since there are k8s bindings written in languages like Node.js (effectively a port) - and even they don't call it "a port" is worth considering for OP with regards to the title! Just my 2c

1 comments

I don't think this analogy holds. Version control and diffing are some core capabilities of git. Sam lists core capabilities of k8s that his port can handle: pod lifecycles, container garbage collection, IP allocation, etc.

My understanding is that the interesting part of k8s is how it orchestrates containers, which this port can do a lot of. Your comments imply that a core component of k8s is actually running containers (rather than orchestrating them), but I don't think that's right. That would be the job of containerd or the operating system, depending at what level you're looking at. Happy to be corrected if I'm wrong about any of this!

To me the interesting part is the use case.

To call it a port that doesn’t actually work? Idk seems like a baseline requirement.

It’s like saying you ported YouTube to a calculator but it doesn’t play videos because the most interesting part is the search algorithm, and it’s for educational purposes not functionality.

That just isn’t a port.

I get your point. I will disagree that it "doesn't work". It does! You just can't use it for real production workloads since it runs in your browser. If you ported kubernetes to your toaster would it be a port? I think so, but you probably couldn't deploy prod on it. That's just a fun semantics conversation though. Is a taco a sandwich? :-)
Considering what kubernetes actually is - there's a fantastic use case if you really did port it to the browser. So when someone says they did it, I kinda expect that they literally ported that containerization logic to JavaScript.

That would mean I could run an image of an OS like Linux in browser JavaScript. It's a wild thing, but that's what porting literally means! And what I expected with that title.

Think of like a PlayStation emulator... the game itself does not need to be ported - just as if you really made a k8s port you would not really need to reinvent Linux in JS, only be able to run it

A PSX emulator can be said to have been ported (e.g. Tomb Raider has been ported to the browser even though it relies on underlying C++) because it ultimately runs fully 1:1 in a web page. It's a port as far as I'm concerned.

But a k8s port that doesn't do what k8s does isn't a port IMO

K8s doesn't run containers, container runtime environments do.

K8s sits on top of those and orchestrates them.

This “port” doesn’t even do that
But Kubernetes isn't postgres or ruby or containers. It's the orchestration service. Your comparison doesn't make sense.
It’s like saying you ported PlayStation to the browser but no games work.

It would be the most pointless emulator ever.

And it wouldn’t qualify as being ported IMO

Sorry to be blunt but from the messages you have written in this threads it is pretty clear you don't know well enough what you are talking about.A real working Kubernetes cluster has many layers of abstractions and the lower ones are outside Kubernetes completely (i.e. containerd or the Linux kernel itself).
Save the insults. Make points.

mAnY lAyERs aside if it doesn’t actually do anything you have not ported anything.

It has to WORK to be a port.

See the PlayStation emulator example - same thing. The game itself is not ported but it still runs. That’s the point!