logoalt Hacker News

austin-schicktoday at 4:41 PM1 replyview on HN

Separately from any details of this post, I think you misunderstand what kubernetes is. To me, that's something worth reading and thinking about.

You seem to think it's like a virtual machine, and it lets you run containers anywhere regardless of operating system or host machine. This is not correct. You can't run containers using k8s directly on a Mac, for example, because there is no Linux kernel to run the container. You need a VM first, then you can run k8s inside of that VM. Kubernetes does not let you magically run a container with ARM binaries on an x86 machine either. You would need additional tools to run binaries for another architecture.

You're totally right that in practice, you usually don't need to think about the host OS when you're using k8s. It is nice to not worry about what packages it has installed, etc. But it is not a tool that allows you to run an arbitrary container anywhere.


Replies

playorizayatoday at 6:20 PM

Nope, I don't think (and don't think I said) it's a VM, or that it can allow you to run any software on any hardware. I have been coding long enough to remember using VirtualBox to do Ruby work for clients :)

I may have alluded to that experience - in saying that we used to use VMs for the same use case (isolation) before mainstream containerization like Docker. But yeah I know the two are unrelated.

The idea of installing software in an isolated (emulated) environment - a snapshot of the OS ("disk image") - is not so different from the PSX emulator analogy since emulators also work that way.

Docker got popular before Kubernetes was even created. It was after the fact that it became its own thing, and tried to become just an "orchestration layer" but it means nothing without containerization.

To say you ported it to the browser with no working containers doesn't mean anything to me. What was ported?

It's like saying you ported PlayStation to Chrome but no games will play. How is it a port of anything.