This is a tutorial on installing Ubuntu, then k3s, then other software. What exactly is "bare-metal" about this?? :)
This is a tutorial on installing Ubuntu, then k3s, then other software. What exactly is "bare-metal" about this?? :)
In this context, this means running K8s nodes directly on the hardware.
As opposed to running the nodes as virtual machines. Normally VMs are used in the context of cloud providers but it's not uncommon (with beefier hardware) to run k8s as VMs in datacenters. Deployments on top of OpenStack, Azure Stack or Anthos are common. As is ESXi. It's another abstraction layer, but that gives you easier handling of things like storage and, in some cases, networking.
> More recently, the definition has confusingly expanded to sometimes include an operating system, but without a hypervisor.
That's exactly it - the definition has expanded.
In your mind, how does a computer system function without an operating system?
And that Kubernetes deployments out there primarily run on Linux.
Many do not. I've seen quite a few ARM processors running without any OS.
No, not all embedded systems run an OS. Linux is not an OS, it's a kernel. Ubuntu is an OS. Kubernetes is application software that runs on several operating systems, primarily ones based on the Linux kernel.
Ubuntu is not an OS, it's a Linux distribution.
You see this in plenty of domains: firmware, embedded systems, uEFI, bootloaders, etc.
This used to be the norm too. Old 8-bit personal computers like Commodores didn't run an OS, instead they'd have BASIC run as firmware (though you could get CP/M, GEM and others for a lot of the later generations of 8-bit micros).
You can also get modern software that runs bare metal without an OS. eg this game: https://github.com/adventurerok/Bare-metal-Space-Invaders-Cl...
I've written for bare metal on several platforms. Operating systems exist for a specific use case: when you want to run potentially multiple programs on the same piece of hardware, over time (not nec. concurrently), and you don't want your software to have to think about how to interface with the hardware. That's what operating systems do. There are plenty of cases when you don't need, or want, an OS.