Skip to the content.

Reference Configurations

This guide provides reference configurations for using the OpenShift Agent-based Installation Helper tools.

Overview

This helper repository provides pre-defined configurations and automation for common OpenShift deployment patterns:

Using the Configuration Templates

1. Basic Usage

# Copy an example configuration
cp examples/sno/cluster.yml my-cluster/
cp examples/sno/nodes.yml my-cluster/

# Generate the installation media
./hack/create-iso.sh my-cluster

Single-Node OpenShift (SNO)

Basic SNO Configuration

# cluster.yml
cluster_name: my-sno
base_domain: example.com
platform_type: none
control_plane_replicas: 1
app_node_replicas: 0

network_config:
  api_vips:
    - 192.168.70.46
  app_vips:
    - 192.168.70.46
  machine_network_cidrs:
    - 192.168.70.0/23

# nodes.yml
nodes:
  - hostname: sno-node
    role: master
    rootDeviceHints:
      deviceName: /dev/sda
    interfaces:
      - name: ens3
        mac_address: "52:54:00:00:00:01"
    networkConfig:
      interfaces:
        - name: ens3
          type: ethernet
          state: up
          ipv4:
            enabled: true
            address:
              - ip: 192.168.70.46
                prefix-length: 23

Three-Node Compact Cluster

Basic Compact Configuration

# cluster.yml
cluster_name: compact-cluster
base_domain: example.com
platform_type: baremetal
control_plane_replicas: 3
app_node_replicas: 0

# nodes.yml
nodes:
  - hostname: master-0
    role: master
    rootDeviceHints:
      deviceName: /dev/sda
    networkConfig:
      interfaces:
        - name: ens3
          type: ethernet
          state: up
          ipv4:
            enabled: true
            address:
              - ip: 192.168.70.10
                prefix-length: 23
  # ... master-1 and master-2 configurations

Platform-Specific Examples

Bare Metal Configuration

# cluster.yml
platform_type: baremetal
bmc_config:
  username: ADMIN
  password: ADMIN
  disable_certificate_verification: true

# nodes.yml
nodes:
  - hostname: master-0
    role: master
    bmc:
      address: redfish://192.168.1.100/redfish/v1/Systems/1
      username: ADMIN
      password: ADMIN
    rootDeviceHints:
      deviceName: /dev/sda

VMware Configuration

# cluster.yml
platform_type: vsphere
vsphere_config:
  vcenter: vcenter.example.com
  username: administrator@vsphere.local
  password: password
  datacenter: datacenter1
  cluster: cluster1
  network: VM Network
  datastore: datastore1

Helper Scripts

The repository provides several helper scripts for common tasks:

# Generate installation media
./hack/create-iso.sh <cluster-dir>

# Validate configuration
./hack/validate-config.sh <cluster-dir>

# Deploy using Ansible
cd playbooks/
ansible-playbook -e "@../my-cluster/cluster.yml" deploy.yml

External Resources