Try our new open source stack builder and get a free, customized report >> Get Started
With a rapidly expanding selection of container technologies and platforms, picking the right one can be a challenge. In this blog, we compare Rancher vs. OpenShift — two popular options for managing Kubernetes clusters.
Rancher and OpenShift are both Kubernetes cluster managers. They are used to give a web console and CLI access to Kubernetes, making it easier to manage and use.
Rancher is a tool for managing Kubernetes clusters. It can manage clusters it creates (using RKE), or imported clusters, like in-house Kubernetes, or EKS, GKE, or other cloud hosted clusters. It provides both a web UI and a CLI for automation. It adds user roles and permission that can be applied across clusters and projects. It runs on RKE, which is an easy to build Kubernetes cluster.
OpenShift is an actual Kubernetes distribution, downstream from the Kubernetes open source project. It adds additional features, and relies heavily on Kubernetes operators to run. Openshift is available on Amazon, Azure, and GCP as a managed service. There are two main variants, Openshift Container Platform and OKD (also known as Openshift Origin). OCP is the Red Hat Enterprise version, and OKD is the community version.
OpenShift comes with a full installer, that goes from an installation config file to provisioning and full deployment of control plane and worker nodes. It can be provisioned on many cloud providers such as AWS, Azure, and GCP, VMWare, bare metal, and others.
Rancher provides a web UI and a CLI tool to manage clusters. It can manage any cluster, and multiple clusters, not just Rancher created clusters.
A Rancher docker deploy uses k3s, and a full HA deployment uses RKE and a Helm chart. RKE is a Kubernetes distribution based entirely around containers. It can run on any system that has docker. Rancher can easily manage multiple clusters from a single console.
OpenShift runs on RHEL (Fedora) CoreOS for the master nodes, and RHEL (or other compatible distribution) for the worker nodes. It integrates a lot of projects to add features from base Kubernetes, such as software-defined networking, Jenkins pipelines, and a private container registry.
Have Questions on Which Platform is Best for Your Project?Talk with an open source expert today to discuss options.Talk to an Expert
Talk with an open source expert today to discuss options.
Talk to an Expert
OpenShift is a Kubernetes distribution, with extra features built-in, or easily added. It is a platform for developing and deploying containerized applications. As such, it adds a lot of tools for easily creating container images, such as creating CI/CD pipelines, operators, helm charts, and container images.
Rancher works in conjunction with RKE, Rancher Lab’s own Kubernetes distribution, to provide a full clustered environment, along with managing externally created clusters.
Installation of OpenShift is a lot more involved than Rancher. The controller nodes can only be installed on RHEL (Fedora) CoreOS. The installation creates a temporary instance that it has control over, creates a basic Kubernetes install on it, and uses it to bootstrap a cluster, then transfers control over to the new cluster, and deletes the instance. Some people have reported installation times of between 3 days and a couple weeks.
Rancher installation is a simple helm install to a small RKE cluster, which itself can be created with only one node and a simple config. It is easy to expand that cluster itself. Building a new cluster is easy with a few simple commands. All that is needed is a host, running any distribution, with docker.
Upgrades of OpenShift involve both the OpenShift software, along with the Kubernetes distribution it is based on. It depends on a custom operator that validates versions and orchestrates state changes of other operators to ensure the cluster gets updated in a controlled and correct manner. Since OpenShift controls the full machine, this also includes system updates and reboots.
Rancher is relatively easy to upgrade. The Rancher software itself is either a helm chart upgrade (or docker image upgrade). Upgrading fully managed clusters is done through the UI, as a rolling update across the nodes. RKE is easy to update due to its design of being fully container based. External clusters will require upgrading through their own separate procedures.
OpenShift has the full support of Red Hat. It is integrated well with their infrastructure. You can get a managed service, or run it yourself in cloud or on-premise environments. They provide a lot of add-ons to provide extra features, for example the Advanced Cluster Manager that lets you manage multiple clusters through a central console. It is very well geared toward development, with a lot of features to make building and deploying applications in containers easy.
Rancher has an application catalog with a lot of applications that can be deployed to your cluster, including monitoring, databases, and backups. You can also add your own repos with helm charts for deploying apps. Just like OpenShift, Rancher provides a command line tool for interfacing with Rancher, in addition to normal Kubernetes commands.
OpenShift is backed by Red Hat, so you get good support through their engineers. Because you have to be a Red Hat customer already, you also get support for the OS.
Rancher is backed by Rancher Labs, which is part of SUSE. The Rancher software was created in 2014, with the current 2.x series from 2018.
If you are part of the Red Hat ecosystem already, OpenShift is a good choice. It is designed to integrate with RHEL and the Red Hat infrastructure. It comes with features that aid in development of containerized applications.
Rancher is a good tool to use when you have multiple clusters you want to manage through a single interface. It is also good when you have users across the multiple clusters that you want to manage permissions centrally. It is easy to use, can manage multiple (and multiple types) of clusters, and can be installed on any system that runs docker. This makes it a good choice if you are using different distributions than RHEL, or need to manage many clusters centrally.
Choosing between Rancher and OpenShift largely comes down to a decision between ecosystems. Do you want to work within the Red Hat ecosystem (for better or worse)? Then OpenShift is a good option. If you're RHEL-averse, or want to manage many clusters centrally, then Rancher is the way to go.
Whichever platform or container technology you go with, OpenLogic can help provide support for your integrated open source. Learn more about how we can support your project by talking to an open source expert today.
TALK TO AN EXPERT
Lance has been working in the IT field for over 30 years, most of it concentrated on data centers and infrastructure. For the past 10 years he has focused on SaaS infrastructure, ensuring reliability, high availability, and scalability of systems. He has been working with CentOS related distributions for the past 25 years.