Skip to content

OpenShift

Overview

Red Hat OpenShift is an enterprise Kubernetes platform that provides developer and operational tools for building, deploying, and managing containerized applications at scale.

What is OpenShift?

OpenShift is a comprehensive container application platform built on Kubernetes that adds: - Developer-friendly tools and workflows - Enhanced security features - Built-in CI/CD capabilities - Enterprise support and lifecycle management - Integrated monitoring and logging - Multi-tenancy and project management

Key Features

Developer Experience

  • Source-to-Image (S2I) builds
  • Built-in CI/CD with Tekton Pipelines
  • Developer console and CLI tools
  • Application templates and catalogs
  • Hot reload and live debugging

Operations

  • Automated installation and updates
  • Cluster management and scaling
  • Built-in monitoring with Prometheus
  • Centralized logging
  • Backup and disaster recovery

Security

  • Security Context Constraints (SCC)
  • Role-Based Access Control (RBAC)
  • Network policies and isolation
  • Image scanning and signing
  • Secrets management

Networking

  • Software-Defined Networking (SDN)
  • Routes for external access
  • Service mesh integration (Istio)
  • Load balancing
  • Network policies

OpenShift vs Kubernetes

Feature Kubernetes OpenShift
Installation Manual/Complex Automated installer
Updates Manual Automated over-the-air
Security Basic RBAC SCC + Enhanced RBAC
Networking Requires CNI plugin Built-in SDN
Routing Ingress controller Routes + Ingress
CI/CD External tools Built-in Tekton
Monitoring Manual setup Built-in Prometheus
Registry External Integrated registry
Console Basic dashboard Full-featured web console
Support Community Enterprise support

OpenShift Editions

OpenShift Container Platform (OCP)

  • Self-managed on-premises or cloud
  • Full control over infrastructure
  • Enterprise support from Red Hat

OpenShift Dedicated

  • Managed service on AWS or GCP
  • Red Hat manages control plane
  • Customer manages applications

Azure Red Hat OpenShift (ARO)

  • Jointly managed by Microsoft and Red Hat
  • Native Azure integration
  • Simplified billing

Red Hat OpenShift Service on AWS (ROSA)

  • Managed service on AWS
  • Native AWS integration
  • Pay-as-you-go pricing

Architecture Components

Control Plane

  • API Server
  • etcd
  • Controller Manager
  • Scheduler
  • Cloud Controller Manager

Worker Nodes

  • Kubelet
  • Container Runtime (CRI-O)
  • Kube Proxy
  • Node Agent

OpenShift-Specific Components

  • OpenShift API Server
  • OpenShift Controller Manager
  • OAuth Server
  • Image Registry
  • Router (HAProxy)
  • Monitoring Stack
  • Logging Stack

Getting Started

Prerequisites

  • Understanding of containers and Kubernetes
  • Linux command line knowledge
  • Basic networking concepts
  • YAML syntax familiarity

Installation Options

  1. OpenShift Local (formerly CodeReady Containers)
  2. Local development environment
  3. Single-node cluster on laptop

  4. Installer-Provisioned Infrastructure (IPI)

  5. Automated installation
  6. Supports AWS, Azure, GCP, VMware

  7. User-Provisioned Infrastructure (UPI)

  8. Manual infrastructure setup
  9. More control over configuration

  10. Managed Services

  11. ROSA, ARO, OpenShift Dedicated
  12. No installation required

Core Concepts

Projects

OpenShift projects extend Kubernetes namespaces with additional features: - Multi-tenancy - Resource quotas - Network isolation - RBAC integration

BuildConfigs

Define how to build container images: - Source-to-Image (S2I) - Docker builds - Custom builds - Pipeline builds

DeploymentConfigs

Extend Kubernetes Deployments with: - Deployment strategies (Rolling, Recreate, Custom) - Lifecycle hooks - Automatic rollbacks - Triggers

Routes

Expose services externally: - Hostname-based routing - Path-based routing - TLS termination options - Load balancing

ImageStreams

Manage container images: - Image versioning - Automatic updates - Image promotion - Trigger deployments

Use Cases

Application Development

  • Rapid prototyping
  • Microservices development
  • CI/CD automation
  • Multi-environment deployments

Enterprise Applications

  • Legacy application modernization
  • Hybrid cloud deployments
  • Multi-tenancy
  • Compliance and security

DevOps and Platform Engineering

  • Self-service developer platforms
  • Standardized deployment pipelines
  • Infrastructure as Code
  • GitOps workflows

Learning Path

  1. Fundamentals
  2. Kubernetes basics
  3. Container concepts
  4. YAML configuration

  5. OpenShift Basics

  6. Installation and setup
  7. Projects and applications
  8. CLI and web console

  9. Development

  10. Building applications
  11. Deployment strategies
  12. Routes and services

  13. Operations

  14. Monitoring and logging
  15. Security and RBAC
  16. Storage management

  17. Advanced Topics

  18. CI/CD pipelines
  19. Service mesh
  20. Operators
  21. Multi-cluster management

Resources

Official Documentation

Training

  • Red Hat OpenShift Administration (DO280)
  • Red Hat OpenShift Development (DO288)
  • Red Hat Certified Specialist in OpenShift

Community

Next Steps

  1. Review the Overview for detailed introduction
  2. Learn about Components and Architecture
  3. Get hands-on with OpenShift CLI
  4. Deploy your first Web Service
  5. Explore Projects & Namespaces
  6. Configure Routes & Ingress
  7. Manage Storage
  8. Implement Security
  9. Set up Monitoring & Logging
  10. Build CI/CD Pipelines