OpenShift Tutorial

Guide to OpenShift Tutorial
calendar June 16, 2022
Introduction OpenShift Tutorial

Red Hat’s OpenShift Container Platform (OCP) is Red Hat’s enterprise-grade security and support integrated with Kubernetes. Kubernetes is a platform for deploying, scaling, and managing — also known as orchestrating — container workloads on-premise and in the cloud.

In this series of articles, we’ll explore the OpenShift container platform in depth. To help you get started before moving on to advanced topics like OpenShift Architecture, OpenShift Mesh, and OpenShift Route, we’ll start with OpenShift basics in this introduction.

OpenShift and Kubernetes History

Server virtualization helped the software industry abstract underlying computer hardware from workloads. Since then, containerization has risen in popularity, further abstracting away underlying system components, and becoming the cornerstone of microservices architecture.

The microservices architecture design pattern allows services to be developed, maintained, and scaled individually while communicating with other microservices via an API. With this application architecture, developers can create a microservice without dependencies on other microservices. In this paradigm, the container hosting a microservice is terminated and replaced each time a new version of the microservice is released by developers. This allows the teams that develop microservices to iterate and innovate faster using short-lived containers.

As microservices architecture grew in popularity, so did the need for container orchestration at scale. Container orchestration is the problem that platforms like Kubernetes — a Google project released in June 2014 and eventually handed over to the Cloud Native Computing Foundation ( CNCF) — and OpenShift help solve.

Machine learning for Kubernetes sizing

Learn More
Visualize Utilization Metrics Set Resource Requests & Limits Set Requests & Limits with Machine Learning Identify mis-sized containers at a glance & automate resizing Get Optimal Node Configuration Recommendations
Kubernetes ✔ ✔
Kubernetes + Densify ✔ ✔ ✔ ✔ ✔

Container Orchestration through Kubernetes and OpenShift

To understand OpenShift, you need to understand Kubernetes and container orchestration.

As microservices-based applications grow, efficient container orchestration becomes crucial. Orchestration streamlines and automates many tasks an administrator or developer must otherwise do manually. These tasks include managing most aspects of resource utilization, including networking and storage, essentially any computing resource.

Much like how the Linux operating system manages an individual system's computing resources, it might be helpful to think about OpenShift as the operating system for a data center or a collection of resources. It manages the CPUs, RAM, storage, and communication between all functions through APIs.

Scratching the surface here, Kubernetes groups workloads into pods at a high level. Pods are a group of one or more closely related containers. Pods represent a workload in an OpenShift environment. These pods are placed on machines (physical or virtual) in the cluster called worker nodes. At least three other control nodes, collectively called the control plane, manage a production cluster.

For more on how all the components work, check out our OpenShift Architecture article.

Pick the ideal instance type for your workload using an ML-powered visual catalog map

See how it works

Difference between OpenShift and Kubernetes

Because OpenShift is a version of Kubernetes, there are many similarities between the two platforms. For example, much like the kubectl command, OpenShift has the oc command that allows interaction with the OpenShift API via the command line.

However, they are not the same. OpenShift takes opinionated stances, provides more structure around specific topics, and adds value for end users. Many OpenShift value-adds are developer tools such as the Source-2-Image (S2I) workflow, where a container image can be built from a source code repository. Here are several other areas where RedHat OpenShift and Kubernetes differ:

  1. Support - Red Hat’s OpenShift is supported by Red Hat. Developers and administrators have trusted images, updates, and support professionals to help with the platform. Kubernetes is community-supported.
  2. Security - OpenShift limits running containers to non-root users and has built-in role-based access controls (RBAC) defining who can do what with regards to the cluster.
  3. Image Registry - OpenShift has a built-in image registry that integrates with DockerHub and RedHat, while Kubernetes relies on public images or user-configured private registries for image sources.
  4. Web Interface - Out of the box, OpenShift has a web-based cluster management interface. On the Kubernetes side, you need to install an additional dashboard.
  5. RedHat CoreOS - OpenShift uses RedHat CoreOS (RHCOS). RHCOS is a lightweight, container-optimized, and immutable base operating system. Red Hat acquired CoreOS in 2018 and has integrated it into OpenShift, the default supported host operating system on both the controller and worker nodes.

Identify under/over-provisioned K8s resources and use Terraform to auto-optimize


Deploying OpenShift

One of the benefits of OpenShift is that it can be deployed in the cloud, on-premise, or with a mixture of both. It allows for the usage of many resources, allowing developers and administrators to use the right resources for the right workload.

OpenShift deployment models

Platform Description
OpenShift Dedicated A fully managed instance of OpenShift on AWS or GCP
Azure Red Hat OpenShift OCP on Azure cloud; this is a managed instance of OpenShift on Azure cloud
Red Hat OpenShift on IBM cloud A fully managed OCP service on the IBM cloud
Red Hat OpenShift Container Platform Self-managed install of OCP in the cloud or on-premise

Additionally, Red Hat Code Ready Containers are a way to deploy a local instance of OpenShift to your laptop or test machine. As noted before, a production cluster needs at least three control nodes and then some number of worker nodes. Code Ready Containers(CRC) runs OpenShift on a single machine.

Be aware that Code Ready Containers are not viable for production deployment. Many of the high-availability and production level features are not available.

Free Proof of Concept implementation if you run more than 5,000 containers


Learning More about OpenShift

If you’d like to learn more about RedHat OpenShift, check out these detailed technical articles:

Chapter 1: OpenShift Architecture

Learn the core concepts and components that are the building blocks of OpenShift.

OpenShift Architecture

Chapter 2: OpenShift Route

Routes are the way Openshift exposes services to the public.

OpenShift Route

Chapter 3: OpenShift Service Mesh

A service mesh is a networking design pattern that gives the cluster more control over network functions.

OpenShift Service Mesh

Chapter 4: Openshift Alternatives

Understand the pros and cons of OpenShift alternatives such as AWS ECS for Kubernetes (EKS), Google Kubernetes Engine (GKE), and Azure Kubernetes Service (AKS)

Openshift Alternatives

Chapter 5: Understanding OpenShift Container Storage

Deep-dive into OpenShift container storage to understand its benefits such as environment independence, scalability customizability built-in monitoring, and more

Understanding OpenShift Container Storage

Chapter 6: Using Azure OpenShift

Explore the benefits of using OpenShift on Azure including built-in security, cloud-native integrations, quick startup, flexible instance types, and more.

Using Azure OpenShift

Chapter 7: Rancher vs. Openshift: The Guide

Learn how Rancher and Openshift offer similar features, and how their differences influence when to use each tool. Understand when to use each through recommendations and examples.

Rancher vs. Openshift: The Guide

More chapters to come soon.

Like this article?

Subscribe to our LinkedIn Newsletter to receive more educational content

Subscribe now

Discover the benefits of optimized cloud & container resources. Try Densify today!

Request a Demo