if all you are building is a lightsout k8s/k3s cluster then maybe k3os is a good choice. However if you are trying to choose one OS to rule them all then k3os is not it. That the website boasts that "Doesn鈥檛 require a package manager" you have to ask... "for what?" Don't get me wrong... if you're trying to make the OS immutable like CoreOS then maybe this is not the right way.
It's been a long day.... include a package manager or kill the project and make k3s easier and more reliable to install.
It's not a general purpose OS :) But ideal in case you only need to a basic Kubernetes setup with minimal hassle. Kind of like Android - installing system packages is something done by the manufacturer and a user can only install APKs (or Kubernetes pods in case of k3os). An update just replaces the lower level components maintained by the manufacturer and all the user-level stuff remains unchanged.
For me, the k3os approach seems to be ideal for a simple k3s system. Incredibly easy to install and set up, and after that just use kubectl to remotely manage the system.
Also works great as a disposable Kubernetes system running in a desktop VM like VirtualBox.
I've tried other approaches like Fedora Atomic, microk8s, but found updates to be a hassle - had to manage daily noncritical updates for components I never use.
To upgrade, just mount the system partition and extract the latest iso to /k3os. Once the update operator https://github.com/rancher/k3os/issues/157 is ready, it will be even easier.
The only real issue I see is that this approach doesn't work if you need to install exotic drivers.
I closed this because my request was a little too subjective like generics, however, I'll argue that if the host is meant to be immutable then by extension updates are just as flawed as packages. I'd rather have the one path to upgrades being replace the whole thing with either a good PXE, cloud-init, or kickstart approach. "we" should be able to answer some basic questions, click a button, and a cluster appears.... but in a way that can be repaired. (I crashed rancher many times)
Most helpful comment
It's not a general purpose OS :) But ideal in case you only need to a basic Kubernetes setup with minimal hassle. Kind of like Android - installing system packages is something done by the manufacturer and a user can only install APKs (or Kubernetes pods in case of k3os). An update just replaces the lower level components maintained by the manufacturer and all the user-level stuff remains unchanged.
For me, the k3os approach seems to be ideal for a simple k3s system. Incredibly easy to install and set up, and after that just use kubectl to remotely manage the system.
Also works great as a disposable Kubernetes system running in a desktop VM like VirtualBox.
I've tried other approaches like Fedora Atomic, microk8s, but found updates to be a hassle - had to manage daily noncritical updates for components I never use.
To upgrade, just mount the system partition and extract the latest iso to /k3os. Once the update operator https://github.com/rancher/k3os/issues/157 is ready, it will be even easier.
The only real issue I see is that this approach doesn't work if you need to install exotic drivers.