Kahibaro
Discord Login Register

Overview of OpenShift architecture

High-Level View of OpenShift as a Platform

OpenShift is a Kubernetes-based application platform that bundles Kubernetes with additional components for security, automation, developer productivity, and operations. Architecturally, you can think of it as several integrated layers:

  1. Infrastructure layer – physical or virtual machines, networking, and storage in data centers or clouds.
  2. OpenShift cluster layer – control plane, worker nodes, Operators, and platform services running on top of Kubernetes.
  3. Application services layer – routing, service discovery, storage, observability, CI/CD, and security features.
  4. User interaction layer – web console, CLI, APIs, and automation interfaces used by developers and cluster administrators.

This chapter focuses on how these layers fit together and what makes OpenShift’s architecture distinct compared to “plain” Kubernetes distributions.

Core Architectural Principles

Several design principles shape OpenShift’s architecture:

Logical Components and Layers

From a logical perspective, OpenShift’s architecture can be broken into key component groups.

Kubernetes Foundation

At the base is a standard Kubernetes cluster:

OpenShift does not replace this foundation; instead, it extends it with additional APIs and controllers.

OpenShift Platform Services

On top of Kubernetes, OpenShift adds a curated set of integrated services that are considered part of the platform itself. Typical examples include:

Each of these services is managed declaratively via Kubernetes-style APIs, and their lifecycle is automated using Operators.

Operators as Architectural Building Blocks

Operators are a defining architectural element of OpenShift. Conceptually, they:

A typical pattern in OpenShift is:

  1. You define a custom resource (for example, a ClusterVersion, IngressController, or StorageCluster).
  2. The relevant Operator reads that resource and applies the necessary Kubernetes changes.
  3. The Operator continuously watches for drift or failures and corrects them.

This makes Operators central to how OpenShift is installed, configured, and upgraded.

Multi-Tenancy and Project Isolation

OpenShift is designed for multi-tenant use: many teams and applications share the same cluster. Architectural choices to support this include:

From an architecture standpoint, this means OpenShift must keep strong separation between system components (platform services) and user workloads (applications), even though they all run on the same physical or virtual nodes.

Physical and Deployment View

While the logical view explains relationships between components, the physical view explains where they run and how they are deployed.

Cluster Nodes and Roles (High-Level)

An OpenShift cluster typically consists of:

OpenShift may further refine node roles (for example, nodes dedicated to infrastructure workloads vs. user applications, or specialized nodes for GPUs or storage). The architecture allows for dedicated machine pools with tailored configurations per role.

Network and Storage Integration

OpenShift is designed to plug into diverse networking and storage backends:

Architecturally, these integrations are modular but managed as part of the platform, not as ad hoc add-ons.

Cluster Lifecycle as a First-Class Concern

An important architectural distinction is that OpenShift treats cluster lifecycle as part of the platform:

These capabilities rely heavily on Operators and custom resources that represent the desired cluster version, machine pools, and configuration profiles.

Control Plane vs. Platform vs. Workloads

Architecturally, it helps to distinguish between three categories of components, all running on the same cluster:

  1. Kubernetes control plane – core API server, controllers, and etcd equivalents (cluster data store), responsible for fundamental scheduling and state management.
  2. OpenShift platform components – Operators and system services providing features such as ingress, registry, monitoring, authentication, and configuration.
  3. User workloads – applications and services deployed by developers and operators, using the APIs and capabilities provided by the first two layers.

OpenShift’s architecture ensures:

Extensibility and Ecosystem Integration

A key architectural goal is to make OpenShift extensible, so additional capabilities can be layered on without disrupting the base platform.

API-Driven Extensibility

Operators and Catalogs

Architecturally, this makes OpenShift not just a cluster, but a platform for running and managing other platforms and services on top of Kubernetes.

Security and Compliance as Architectural Concerns

Security is embedded into the architecture rather than added later:

Because these aspects are built into how the platform is structured and how components interact, they influence the design of nearly every other architectural element.

Architectural Summary

In summary, OpenShift’s architecture can be viewed as:

This architectural foundation is what enables OpenShift to function as a full application platform, rather than just a raw Kubernetes cluster, for teams building and operating containerized applications.

Views: 19

Comments

Please login to add a comment.

Don't have an account? Register now!