What are the differences between Kubernetes and OpenShift?
- OpenShift was built by Red Hat. OpenShift did not originally use Kubernetes (OpenShift blog). Kubernetes was built at Google.
- Kubernetes is open source whereas OpenShift usually costs money. There are different types of OpenShift (e.g., OpenShift Online, OpenShift Enterprise etc.).
- You use "oc" (OpenShift Client) commands with OpenShift that are often identical to "kubectl" commands in the options that they support. OpenShift supports native "kubectl" and Red Hat specific "oc" commands.
- OpenShift uses projects which enhance security by default. Projects control the access to a namespace.
- OpenShift has user accounts that can run a limited number of commands. For example OpenShift users cannot by default create virtualized routers. There is a way to use a more privileged user. This can readily allow you to delegate administrator rights to certain users and not others in OpenShift.
- Having different namespaces and user accounts that lend themselves to segmentation can make OpenShift a more hardened container orchestration tool. But these advantages come at the price of proprietary nuances, complexity and financial cost not associated with the purely open source alternative.
- According to OpenShift's website as of 1/12/18, Kubernetes does not support the following features that OpenShift supports:
- Image registry
- Log aggregation
- CI/CD and DevOps
- Enterprise 24/7 Support
- Security response team
- Stable Lifecycle (7 years)
Naturally we believe that Kubernetes and open source Docker facilitate several of the above.