OpenShift Tutorial
Guide to OpenShift TutorialRed 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.
Spend less time optimizing Kubernetes Resources. Rely on AI-powered Kubex - an automated Kubernetes optimization platform
Free 60-day TrialContainer 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.
Spend less time optimizing Kubernetes Resources. Rely on AI-powered Kubex - an automated Kubernetes optimization platform
Free 60-day TrialDifference 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:
- 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. - 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. - 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. - 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. - 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.
Spend less time optimizing Kubernetes Resources. Rely on AI-powered Kubex - an automated Kubernetes optimization platform
Free 60-day TrialDeploying 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.
Spend less time optimizing Kubernetes Resources. Rely on AI-powered Kubex - an automated Kubernetes optimization platform
Free 60-day TrialLearning 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.
Chapter 2: OpenShift Route
Routes are the way Openshift exposes services to the public.
Chapter 3: OpenShift Service Mesh
A service mesh is a networking design pattern that gives the cluster more control over network functions.
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)
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.
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.