Kubernetes and Openshift: what is the difference?

Tarun Manrai
4 min readMay 29, 2020

--

You may hear the word containerization when people talk about OpenShift and Kubernetes. But have you ever thought about what it means and how it’s used? Commonly defined as the bundling of different applications as a way to more effectively develop, manage, and deploy them across various infrastructures. Containerization enables companies to become more agile and scalable.

Full article: http://entradasoft.com/blogs/kubernetes-and-openshift-what-is-the-difference

Kubernetes is the kernel

Kubernetes is an open-source container-as-a-service (CaaS) framework created by Google developers more than a decade ago. At its core, Kubernetes is a portable, open-source containerization system that lets developers manage services and workloads. The system automates application deployment, scaling, and operations. Now part of the Cloud Native Computing Foundation, Kubernetes enables application developers to leverage capabilities like self-monitoring, process automation, container balancing, storage orchestration, and more.

At CoreOS we considered Kubernetes to be the “kernel” of distributed systems. We recognized that a well designed job scheduler, operating across multiple machines, capable of reconciling the state of managed workloads would naturally foster collaboration much in the same way that the Linux kernel did for the scheduling workloads on a single host. Following this logic, we knew that products would differentiate themselves based on the concerns important to their users.

OpenShift is the distribution

This is a powerful distinction. The team behind OpenShift has been proud to produce a distribution of Kubernetes focused on the experience of developers who have the need to develop the next generation of cloud native applications.

OpenShift is a family of containerization software offerings created by open-source software provider Red Hat. According to the company, Kubernetes is the kernel of distributed systems, while OpenShift is the distribution. At its core, OpenShift is a cloud-based Kubernetes container platform that’s considered both containerization software and a platform-as-a-service (PaaS). It’s also partly built on Docker, another popular containerization platform. OpenShift offers consistent security, built-in monitoring, centralized policy management, and compatibility with Kubernetes container workloads. It’s fast, enables self-service provisioning, and integrates with a variety of tools. In other words, there’s no vendor lock-in. Previously known as Origin, the open-source platform, OpenShift OKD lets developers create, test, and deploy applications on the cloud. It also supports several programming languages, including Go, Node.js, Ruby, Python, PHP, Perl, and Java.

Kubernetes Vs. OpenShift

Here are just a few of the many ways OpenShift and Kubernetes differ.

Deployment Base

Kubernetes is flexible when it comes to running on different operating systems. However, RPM is the preferred package manager, which is a Linux distribution. It is preferred that Kubernetes be run on Ubuntu, Fedora, and Debian. This setup allows it to run on major LaaS platforms like AWS, GCP, and Azure. OpenShift, on the other hand, can be installed on the Red Hat Enterprise Linux or RHEL, as well as the Red Hat Enterprise Linux Atomic Host. Thus, it can also run on CentOS and Fedora.

Security

OpenShift has stricter security policies. For instance, it is forbidden to run a container as root. It also offers a secure-by-default option to enhance security. Kubernetes doesn’t come with built-in authentication or authorization capabilities, so developers must create bearer tokens and other authentication procedures manually.

Networking

Kuubernetes does not include a native networking solution and only offers an interface that can be used by network plugins made by third parties. OpenShift includes a native networking solution called Open Switch, which provides three different plugins.

Integrated Image Registry

Kubernetes does not have any concept of integrated image registries. Users can set up their own Docker registry. OpenShift includes their image registry, which can be used with Red Hat or DockerHub. It also allows users to search for information regarding images and image streams related to projects, via a registry console.

Key Cloud Platform Availability

Kubernetes is available on EKS for Amazon AWS, AKS for Microsoft Azure, and GKE for Google GCP. OpenShift has a product known as OpenShift Online, OpenShift Dedicated, as well as OpenShift on Azure.

CI/CD

Kubernetes has possibility with Jenkins but is not integrated within it. While OpenShift has seamless integration with Jenkins is available.

Web UI

In Kubernetes the dashboard inside Kubernetes requires separate installation and can be accessed only through the Kube proxy for forwarding a port of the user’s local machine to the cluster admin’s server. Since it lacks a login page, users need to create a bearer token for authorization and authentication manually. All this makes the Web UI complicated and not suited for daily administrative work. OpenShift comes with a login page, which can be easily accessed. It provides users with the ability to create and change resources using a form. Users can thus visualize servers, cluster roles, and even projects, using the web.

Both Kubernetes and OpenShift are popular container management systems, and each has its unique features and benefits. While Kubernetes helps automate application deployment, scaling, and operations, OpenShift is the container platform that works with Kubernetes to help applications run more efficiently.

Read more… http://entradasoft.com/blogs/kubernetes-and-openshift-what-is-the-difference

--

--

Tarun Manrai
Tarun Manrai

No responses yet