Kubernetes is the Kernel
One of my former teammates approached me the other day (and by other day i mean like 3 months ago) and asked 'Am I thinking about this right? Kubernetes, or K8s, is actually akin to the Linux Kernel. So Rancher and OpenShift are distributions of Kubernetes. And for a supported enterprise application I'm more likely to use a more enterprise focused distribution than a DIY distribution, yeah?' To which I responded 'Yep, you hit the nail on the head'.As the number of K8s deployment models, distributions, and use cases become more widespread we are going to keep having conversations about why you choose one k8s stack over another. There is a strong desire to avoid things like RKE (Rancher) and OKD (OpenShift), but I see lots of struggles getting this to work.While talking with my new team a few weeks ago we kept going back and forth about the benefits of Helm in K8s, and so I broke the comparison down even further into the following chart:
Red Hat Enterprise Linux
Red Hat OpenShift Container Platform
ApplicationstarballsImages, YAML objectsPackages
Operator Lifecycle Manager (OLM)
The same week we had that conversation, Brian ‘Redbeard’ Harrington of CoreOS fame posted a blog about OpenShift and K8s that expressed the same sentiment.So, while not a perfect comparison, I feel like it kinda drives the point home. If you are planning to run K8ss, unless you have the spare resources to build all the layers, you should aim for a distribution. Much like Linux,
- even the distributions can have their rough points, but they are going to have solved lots of problems for you that just running K8s directly will not.
- the longer we run and improve these tools the cleaner and easier they will be to run.
- what you see in the Kubernetes distributions is a push for simplicity through opinionation. If you don't like the distribution's opinions, things are not going to be easy for you. But if you can find a distribution that you agree with or can conform too, that is a powerful step.