Kahibaro
Discord Login Register

User-Provisioned Infrastructure

Key Characteristics of User-Provisioned Infrastructure (UPI)

In a User-Provisioned Infrastructure (UPI) deployment, you — not the OpenShift installer — are responsible for creating, configuring, and managing the underlying infrastructure on which OpenShift runs. The installer only lays down the OpenShift control plane and worker nodes on top of resources you have already prepared.

In contrast to Installer-Provisioned Infrastructure (IPI), UPI:

Common reasons to choose UPI:

Supported Platforms and Typical Use Cases

UPI is supported on most major platforms where OpenShift runs. Typical environments include:

Common use cases:

UPI Deployment Workflow Overview

UPI follows a more manual, multi-step process. While details differ by platform, the general workflow is:

  1. Prepare DNS, networking, and certificates
    • Create the required DNS records:
      • api.<cluster>.<domain> (control plane API)
      • *.apps.<cluster>.<domain> (routes/wildcard for applications)
    • Ensure network connectivity for:
      • Control plane <-> workers
      • Nodes <-> registry, mirrors, and external dependencies
    • Plan and implement load balancing for:
      • API (:6443) to control plane nodes
      • Machine Config Server (:22623) if applicable
      • Optional: Ingress controllers (HTTP/HTTPS)
  2. Prepare compute resources
    • Create VMs or bare-metal servers for:
      • Bootstrap node (temporary)
      • Control plane (master) nodes
      • Worker nodes
    • Allocate CPU, memory, and storage according to sizing guidance.
    • Attach appropriate networks (management, storage, application, etc.).
  3. Generate installation assets
    • Use openshift-install to generate manifests and ignition files:
      • install-config.yaml (input)
      • bootstrap.ign
      • master.ign
      • worker.ign
    • Optionally customize manifests for:
      • Network configuration
      • Machine config
      • Additional cluster settings
  4. Provision nodes with ignition
    • Provide ignition files to nodes using:
      • Cloud-init or platform-specific metadata services.
      • ISO images or PXE boot with embedded/hosted ignition.
      • Web or storage hosting for ignition files.
    • Ensure each node gets the correct ignition:
      • Bootstrap node uses bootstrap.ign.
      • Control plane nodes use master.ign.
      • Workers use worker.ign.
  5. Monitor bootstrap and installation
    • Use openshift-install wait-for bootstrap-complete to monitor.
    • Once bootstrap is complete:
      • Remove the bootstrap node from load balancers.
      • Decommission the bootstrap node.
  6. Approve node certificates and finalize cluster
    • Approve pending CSRs (if required) so nodes join the cluster.
    • Validate that:
      • All control plane nodes are Ready.
      • Worker nodes are registered and schedulable.
    • Run openshift-install wait-for install-complete to finish.
  7. Post-install tasks
    • Configure:
      • Storage (StorageClasses, CSI drivers).
      • Ingress controllers and TLS.
      • Identity providers and RBAC.
    • Integrate with monitoring, logging, and backup systems already present on your infrastructure.

Detailed Responsibilities in a UPI Deployment

Compared to IPI, you must take explicit ownership of several infrastructure components.

DNS and Load Balancing

You manage all DNS and load balancing, typically by:

You must also handle:

Compute and Operating System Preparation

You create and lifecycle-manage the machines that form the cluster:

Networking and Security Integration

You must integrate OpenShift networking into your environment:

Cluster networking itself (SDN/OVN-Kubernetes, etc.) is configured by OpenShift, but its integration with the broader environment is your responsibility.

Storage and Persistent Volumes

Unlike IPI, UPI often requires you to:

Bootstrap Process Management

The bootstrap node plays a central role in cluster creation but is temporary:

Managing this lifecycle cleanly is specific to UPI and is often automated with scripts or infrastructure-as-code.

Infrastructure-as-Code and Automation in UPI

Because UPI is highly manual by default, teams often standardize it with automation:

This approach makes UPI clusters more reproducible and maintainable, especially at scale.

Comparison: When to Choose UPI vs IPI

While an earlier chapter covers deployment options conceptually, from a practical standpoint you typically choose UPI when:

You trade off:

Common Pitfalls and Practical Tips for UPI

Some frequent issues and mitigations specific to UPI:

Planning, documenting, and automating your UPI design significantly reduces operational risk and makes the deployment model sustainable over time.

Views: 13

Comments

Please login to add a comment.

Don't have an account? Register now!