πŸ“šBook Signing at KubeCon EU 2026Meet us at Booking.com HQ (Mon 18:30-21:00) & vCluster booth #521 (Tue 24 Mar, 12:30-1:30pm) β€” free book giveaway!RSVP Booking.com Event
Deployments intermediate ⏱ 15 minutes K8s 1.28+

Disconnected Environments OpenShift

Complete guide to OpenShift disconnected and air-gapped environments. Mirror registry, oc-mirror, OLM, OSUS, IDMS, upgrades, and enclave support overview.

By Luca Berton β€’ β€’ πŸ“– 5 min read

πŸ’‘ Quick Answer: A disconnected OpenShift environment is any cluster without full internet access β€” from restricted networks with firewalls to fully air-gapped installations. Key components: mirror registry (image storage), oc-mirror (mirroring tool), IDMS/ITMS (pull redirection), OLM with mirrored catalogs (Operators), and OSUS (upgrade graph). Red Hat recommends oc-mirror v2 + Agent-based Installer + local OSUS.

The Problem

Many organizations β€” government, defense, financial services, healthcare, telco β€” must run OpenShift clusters without internet access. OpenShift’s automation depends on pulling images, catalogs, and update graphs from public registries. Without a structured disconnected strategy:

  • Installation fails at image pull
  • Operators can’t be installed or updated
  • Cluster upgrades are blocked
  • Security patches can’t be applied
  • Multi-cluster management becomes chaotic

The Solution

Disconnected Environment Types

TypeInternet AccessPhysical SeparationTransfer Method
Air-gappedNonePhysical gapUSB/disk transport
DisconnectedNoneLogical separationInternal network only
Restricted networkLimited (firewall/proxy)Firewall boundaryProxy/allowlist

Component Architecture

graph TD
    subgraph Internet
        RH[Red Hat Registries<br/>quay.io, registry.redhat.io]
        CIN[Cincinnati API<br/>api.openshift.com]
    end
    
    subgraph Bastion / Connected Side
        OCM[oc-mirror v2] --> |pulls| RH
        OCM --> |creates| TAR[Archive on Disk]
    end
    
    subgraph Disconnected Cluster
        MR[Mirror Registry] --> |IDMS redirect| CVO[ClusterVersion Operator]
        MR --> |CatalogSource| OLM[OLM / OperatorHub]
        OSUS[OSUS Operator] --> |graph| CVO
        MR --> |serves images| NODES[Worker Nodes]
    end
    
    TAR --> |transfer| MR
    
    style RH fill:#EE0000,color:white
    style MR fill:#76B900,color:white
    style OSUS fill:#4CAF50,color:white

The Disconnected Lifecycle

PhaseComponentArticle
1. RegistryDeploy mirror registryMirror Registry Guide
2. MirrorMirror images with oc-mirroroc-mirror Guide
3. RedirectConfigure IDMS/ITMSIDMS/ITMS Guide
4. InstallAgent-based disconnected installDisconnected Install
5. OperatorsOLM with mirrored catalogsOLM Disconnected
6. UpgradesOSUS + mirrored releasesOSUS Guide
7. ConvertConnected β†’ disconnectedConversion Guide
  1. oc-mirror v2 β€” single tool for all mirroring (replaces v1)
  2. Agent-based Installer β€” preferred disconnected install method
  3. OSUS β€” local upgrade graph for ClusterVersion operator
  4. IDMS/ITMS β€” replaces deprecated ICSP for image pull redirection

Quick Reference: Key Commands

# Mirror images (partially disconnected)
oc mirror --v2 -c imageset-config.yaml \
  --workspace file:///opt/workspace \
  docker://mirror.example.com:8443

# Mirror to disk (fully air-gapped)
oc mirror --v2 -c imageset-config.yaml \
  file:///mnt/transfer

# Disk to mirror (in disconnected network)
oc mirror --v2 -c imageset-config.yaml \
  --from file:///mnt/transfer \
  docker://mirror.example.com:8443

# Apply generated resources
oc apply -f working-dir/cluster-resources/

# Check upgrade availability
oc adm upgrade

# Disable default OperatorHub
oc patch OperatorHub cluster --type json \
  -p '[{"op":"add","path":"/spec/disableAllDefaultSources","value":true}]'

Enclave Support (oc-mirror v2)

For environments with multiple security enclaves behind intermediate disconnected networks:

Internet β†’ Bastion β†’ Enterprise Registry β†’ Enclave 1 Registry
                                         β†’ Enclave 2 Registry

oc-mirror v2 supports multi-enclave workflows with registries.conf files and incremental archive generation per enclave.

Best Practices

  • Start with oc-mirror v2 β€” v1 is deprecated, v2 generates IDMS/ITMS and handles incremental mirroring
  • Mirror incrementally β€” first mirror is large (100s of GB), subsequent ones are delta-only
  • Test the full lifecycle in staging β€” mirror, install, upgrade, Operator install
  • Automate mirror refresh β€” schedule regular oc-mirror runs on the connected bastion
  • Document your image inventory β€” know exactly which images your workloads need
  • Plan storage carefully β€” mirror registries grow quickly with multiple OCP versions and Operators

Key Takeaways

  • Disconnected OpenShift requires 7 components: mirror registry, oc-mirror, IDMS/ITMS, OLM catalogs, OSUS, Agent installer, and network configuration
  • Each component has a dedicated guide in this series β€” follow them in order for a complete setup
  • oc-mirror v2 is the central tool that generates all required Kubernetes resources
  • Red Hat’s recommended path: oc-mirror v2 + Agent-based Installer + local OSUS
  • Incremental mirroring minimizes ongoing data transfer after initial setup
  • Multi-enclave support enables centralized mirroring for multiple security zones
#openshift #disconnected #air-gapped #restricted-network #enterprise
Luca Berton
Written by Luca Berton

Principal Solutions Architect specializing in Kubernetes, AI/GPU infrastructure, and cloud-native platforms. Author of Kubernetes Recipes and creator of CopyPasteLearn courses.

Kubernetes Recipes book cover

Want More Kubernetes Recipes?

This recipe is from Kubernetes Recipes, our 750-page practical guide with hundreds of production-ready patterns.

Luca Berton Ansible Pilot Ansible by Example Open Empower K8s Recipes Terraform Pilot CopyPasteLearn ProteinLens