Skip to main content

Baremetal Provider Setup

Purpose: For platform engineers, shows how to configure the baremetal provider when the hardware and operating system are already provisioned.

Scope

Baremetal is a GA provider for pre-provisioned Linux hosts. openCenter does not provision hardware, PXE workflows, firmware, switches, or operating-system images for you.

Prerequisites

  • Three or more Linux control-plane hosts for production HA
  • One or more Linux worker hosts
  • Stable hostnames and static IPs for every node
  • SSH reachability from the bastion host to every node
  • DNS and NTP configured for the target environment
  • openCenter CLI installed

Initialize the Cluster

opencenter cluster init prod-baremetal --org my-org --type baremetal

Configure the Hosts

Edit the generated cluster config:

opencenter cluster edit prod-baremetal

Populate the provider and static node inventory:

opencenter:
infrastructure:
provider: baremetal
bastion:
address: bastion.example.com

cluster:
kubernetes:
master_count: 3
worker_count: 2
master_nodes:
- id: cp-1
name: cp-1.example.com
access_ip_v4: 192.168.10.11
- id: cp-2
name: cp-2.example.com
access_ip_v4: 192.168.10.12
- id: cp-3
name: cp-3.example.com
access_ip_v4: 192.168.10.13
worker_nodes:
- id: worker-1
name: worker-1.example.com
access_ip_v4: 192.168.10.21
- id: worker-2
name: worker-2.example.com
access_ip_v4: 192.168.10.22

Validate and Render

opencenter cluster validate prod-baremetal
opencenter cluster setup prod-baremetal --render

The rendered output gives you the Kubespray inventory and GitOps repository content for the cluster. There is no Terraform infrastructure-provisioning phase for baremetal.

Operational Notes

  • Host lifecycle stays with your infrastructure team.
  • opencenter cluster drift does not register a baremetal infrastructure backend.
  • Platform services still deploy through the normal GitOps bootstrap flow once the cluster is up.

Verification

opencenter cluster status
kubectl get nodes -o wide

All control-plane and worker hosts should appear with the expected names and IP addresses from the configuration file.