Due to a work commitment, I've finally found the time and motivation to take a close look at Kubernetes. Having lived and breathed OpenShift for the past three years, I can only wish I'd done this sooner, if not before exploring OpenShift in the beginning.
The first obviation is the accessibility to approaching Kubernetes. I need to remind myself that many of the Kubernetes concepts and my understanding of it came easy because of my OpenShift experience. That said, with very minimal resources, short amount of time, little fuss and no quibble, a simple one control plane node and one worker node deployment is possible.
Sure there is Minikube, but I like to replicate things properly for learning and testing. I know from MiniShift (now known as the rather undescriptive CodeReady Containers, MiniShift is a better name in my opinion) that those local single-node implementations are sufficient for the developer but don't cut it from an infrastructure and platform engineering perspective.
My second observation is the granularity, right from the start you're close to all the moving parts of what makes a Kubernetes cluster tick. You can even take this further following something like "Kubernetes the hard way" https://github.com/mmumshad/kubernetes-the-hard-way. I found this to be a much better foundation for understanding what is under the OpenShift hood.
Which brings me to my third observation, in that just how much OpenShift adds to the equation. Sure, OpenShift is an enterprise product with a paid subscription that provides support, which also means Red Hat has opinionated implementations on the "missing" bits and "value-added" features. Such as security policies, internal container registry, optional logging stack, Prometheus monitoring, route objects, enhanced deployment options, image streams and integrated CI/CD solutions.
It's quite clear then, OpenShift is a Kubernetes based product that comes with batteries included.
However, if your a system administrator or engineer trying to get to grips with either or both platforms, I'd seriously recommend starting with Kubernetes and the working through the Certified Kubernetes Administrator topics. You'll find the resources to spin up a minimal cluster and be running
kubectl commands quickly and being able to work through the core topics of Storage, Troubleshooting, Workloads & Scheduling, Cluster Architecture, Installation, Configuration, Services and Networking.
All of this is the perfect foundation for understanding OpenShift, which covers the topics previously and builds upon them. Knowing both platforms is a huge boost, and I can maybe see use cases for Kubernetes in development, OpenShift for production.