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 driftdoes 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.