Kahibaro
Discord Login Register

OpenShift Architecture

Big-Picture View of OpenShift Architecture

OpenShift is often described as “Kubernetes plus batteries included.” Architecturally, it is a Kubernetes distribution with a set of integrated components and conventions that turn raw Kubernetes into a more complete application platform.

At a high level, an OpenShift cluster consists of:

Later chapters will dive into individual architectural aspects (control plane, nodes, Operators, networking, storage). Here, the focus is on how these pieces fit together and what is distinctively “OpenShift” in the way the architecture is organized.

Core Architectural Principles

Several design principles drive OpenShift’s architecture:

High-Level Component View

From an architectural perspective, you can think of OpenShift as a set of layers:

  1. Infrastructure layer
    • Physical or virtual machines (on-prem or cloud)
    • Networking and storage provided by the underlying environment
  2. Kubernetes layer
    • Kubernetes control plane (API server, scheduler, controllers)
    • Worker nodes (kubelet, container runtime)
    • Core Kubernetes objects and behavior
  3. OpenShift platform layer
    • OpenShift-specific APIs (via Custom Resource Definitions, CRDs)
    • Platform Operators (cluster configuration, ingress, registry, etc.)
    • Integrated platform services (registry, monitoring, logging, etc.)
    • Web console and CLI (oc)
  4. Application layer
    • User workloads: Pods, Deployments/DeploymentConfigs, Jobs, etc.
    • Application services: Routes, ConfigMaps, Secrets, PVCs, etc.
    • CI/CD, GitOps, and higher-level workflows

The key architectural idea is that OpenShift extends Kubernetes with additional APIs and controllers (Operators) to manage not only user workloads, but also the platform itself.

Cluster Topology

An OpenShift cluster is composed of multiple machines with well-defined roles:

How these roles are implemented is covered in detail in later architecture subsections, but the architectural pattern is always a separation between control logic and workload execution.

OpenShift-Specific APIs and Abstractions

Architecturally, OpenShift extends Kubernetes by defining its own API groups and custom resources. These become first-class citizens in the cluster API and drive platform behavior.

Examples of OpenShift-specific abstractions include:

These resources are consumed and reconciled by various Operators and controllers, ensuring that the desired global configuration is continually enforced.

Operators as Architectural Building Blocks

A defining architectural trait of OpenShift is its extensive use of Operators to manage:

Conceptually, a typical OpenShift platform component is structured as:

This Operator-based architecture offers:

Integrated Platform Services

OpenShift’s architecture includes a set of integrated services that are part of the core platform, rather than optional add-ons. These typically run as Kubernetes workloads managed by Operators.

Common built-in platform services include:

These services are part of the platform layer and are observed and controlled through the same Kubernetes APIs and Operators that manage other cluster resources.

Configuration and State Management

From an architectural point of view, OpenShift stores nearly all configuration as Kubernetes resources:

The global configuration model is:

  1. Administrators define desired cluster configuration by creating or editing config resources.
  2. Platform Operators watch these resources and:
    • Adjust running platform components (Deployments, DaemonSets, etc.).
    • Validate and enforce the configuration.
    • Surface status and conditions in status fields.

This leads to a self-healing architecture, where changes to configuration are reflected automatically and platform components attempt to return to the desired state when something drifts.

Security and Multi-Tenancy as Architectural Concerns

OpenShift’s architecture is intentionally multi-tenant and secure-by-default. Some aspects that are baked into the design (but explained in detail in separate security chapters):

Because these elements are part of the core API and enforcement path, they influence how you design and deploy workloads on OpenShift from the start.

Cluster Lifecycle and Self-Management

OpenShift is designed to manage its own lifecycle as much as possible. Architecturally, this is achieved through:

This architecture means that a cluster:

Relationship to the Underlying Infrastructure

Although OpenShift is infrastructure-agnostic at the API level, its architecture is designed to integrate deeply with the underlying environment where appropriate:

Architecturally, this leads to a consistent cluster experience (same APIs and behaviors) even when the implementation details for nodes, storage, or load balancing differ across environments.

Architectural View Across Deployment Models

Different OpenShift deployment models (installer-provisioned, user-provisioned, managed services, single-node) share the same core architecture:

This consistency allows you to apply the same architectural understanding whether you are dealing with a small single-node lab or a large multi-zone production cluster.

How This Architecture Shapes Day-to-Day Use

Understanding OpenShift’s architecture influences how you:

Subsequent chapters on control plane, node roles, Operators, networking, and storage will explore specific architectural components in more depth, building on this overall structural view.

Views: 24

Comments

Please login to add a comment.

Don't have an account? Register now!