You can use the following install-config.yaml configuration file as a template for deploying a two-node OKD cluster with fencing (TNF) by using the Agent-based Installer method.
See the following sample install-config.yaml configuration file for bare-metal:
apiVersion: v1
baseDomain: example.com
controlPlane:
name: master
replicas: 2
fencing:
credentials:
- hostname: master-0
address: redfish+https://<bmc_ip_0>:<bmc_port>/redfish/v1/Systems/<system_id_0>
username: <bmc_username>
password: <bmc_password>
certificateVerification: Disabled
- macAddress: <mac_address_1>
address: redfish+https://<bmc_ip_1>:<bmc_port>/redfish/v1/Systems/<system_id_1>
username: <bmc_username>
password: <bmc_password>
certificateVerification: Disabled
compute:
- name: worker
replicas: 0
metadata:
name: <cluster_name>
networking:
clusterNetwork:
- cidr: 10.128.0.0/14
hostPrefix: 23
networkType: OVNKubernetes
machineNetwork:
- cidr: <machine_network_cidr>
serviceNetwork:
- 172.30.0.0/16
platform:
baremetal:
apiVIPs:
- <api_vip>
ingressVIPs:
- <ingress_vip>
pullSecret: '<pull_secret>'
sshKey: '<ssh_public_key>'
For other bare metal specific fields, see "Installation configuration parameters for the Agent-based Installer".
The following sample install-config.yaml configuration file is for the attribute platform with value none.
You must provide DNS name resolution and load balancing infrastructure.
apiVersion: v1
baseDomain: example.com
controlPlane:
name: master
replicas: 2
fencing:
credentials:
- hostname: master-0
address: redfish+https://<bmc_ip_0>:<bmc_port>/redfish/v1/Systems/<system_id_0>
username: <bmc_username>
password: <bmc_password>
certificateVerification: Disabled
- macAddress: <mac_address_1>
address: redfish+https://<bmc_ip_1>:<bmc_port>/redfish/v1/Systems/<system_id_1>
username: <bmc_username>
password: <bmc_password>
certificateVerification: Disabled
compute:
- name: worker
replicas: 0
metadata:
name: <cluster_name>
networking:
clusterNetwork:
- cidr: 10.128.0.0/14
hostPrefix: 23
networkType: OVNKubernetes
machineNetwork:
- cidr: <machine_network_cidr>
serviceNetwork:
- 172.30.0.0/16
platform:
none: {}
pullSecret: '<pull_secret>'
sshKey: '<ssh_public_key>'
-
controlPlane.replicas: Must be 2 for a two-node OKD cluster with fencing (TNF).
-
compute[0].replicas: Must be 0. A two-node OKD cluster with fencing does not support compute nodes.
-
controlPlane.fencing.credentials: Exactly 2 entries required, one per control plane node.
-
fencing.credentials[].hostname: The hostname of the control plane node. You must specify at least one of hostname or macAddress for each credential entry. If both are specified, hostname takes precedence for credential identification. Whichever identifiers are provided must be unique across credentials.
-
fencing.credentials[].macAddress: The MAC address of an OS-visible network interface on the control plane node. You can use this field as an alternative to hostname for identifying the node. This must be a MAC address from a non-loopback network interface on the host (for example, the boot NIC), not the BMC management interface MAC. For the Agent-based Installer, this value must match one of the corresponding hosts[].interfaces[].macAddress values in the agent-config.yaml file. MAC addresses are stable hardware identifiers that do not change if the hostname is modified after installation.
-
fencing.credentials[].address: The Redfish BMC URL. Must use the redfish+https:// scheme (for example, redfish+[https://192.168.1.10:443/redfish/v1/Systems/1](https://192.168.1.10:443/redfish/v1/Systems/1)). IPMI addresses are not supported. Vendor-specific Redfish schemes such as idrac-redfish+https:// and ilo5-redfish+https:// are also accepted.
-
fencing.credentials[].username: BMC username for the node.
-
fencing.credentials[].password: BMC password for the node.
-
fencing.credentials[].certificateVerification: Optional. Set to Disabled if your BMC uses self-signed certificates (common for internally-hosted endpoints). Set to Enabled (default) for BMCs with valid CA-signed certificates.