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:
- Single-Node OpenShift (SNO)
- Three-Node Compact Cluster
- Standard HA Cluster
- Platform-specific configurations (Bare Metal, vSphere, platform=none)
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