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 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 Kubernetes, and so I broke the comparison down even further into the following chart:
Red Hat Enterprise Linux
Red Hat OpenShift Container Platform
|Applications||tarballs||Images, YAML objects|
Operator Lifecycle Manager (OLM)
So, while not a perfect comparison, I feel like it kinda drives the point home. If you are planning to run Kubernetes, 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 Kubernetes 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 K8s 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.
Have you been thinking about the similarities between the Linux kernel and Kubernetes as well? Drop me a message @xaeth