Skip to content

Commit

Permalink
baremetal: expand baremetal IPI docs to include customizations
Browse files Browse the repository at this point in the history
The platform now has a bunch of optional possible customizations, this
expands the documentation to follow the other platforms by including a
customization.md that details each of the options and why you might want
to use them.
  • Loading branch information
stbenjam committed Jan 15, 2020
1 parent a035040 commit 195a8aa
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 1 deletion.
1 change: 1 addition & 0 deletions docs/user/customization.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ The following `install-config.yaml` properties are available:
The default is 172.30.0.0/16.
* `platform` (required object): The configuration for the specific platform upon which to perform the installation.
* `aws` (optional object): [AWS-specific properties](aws/customization.md#cluster-scoped-properties).
* `baremetal` (optional object): [Baremetal IPI-specific properties](metal/ipi/customization.md).
* `azure` (optional object): [Azure-specific properties](azure/customization.md#cluster-scoped-properties).
* `openstack` (optional object): [OpenStack-specific properties](openstack/customization.md#cluster-scoped-properties).
* `vsphere` (optional object): [vSphere-specific properties](vsphere/customization.md#cluster-scoped-properties).
Expand Down
3 changes: 2 additions & 1 deletion docs/user/metal/install_ipi.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,8 @@ containing all of the details of the bare metal hosts to be provisioned.

The `install-config.yaml` file requires some additional details. Most of the
information is teaching the installer and the resulting cluster enough about
the available hardware so that it is able to fully manage it.
the available hardware so that it is able to fully manage it. There are
[additional customizations](ipi/customization.md) possible.

Here is an example `install-config.yaml` with the required `baremetal` platform
details.
Expand Down
68 changes: 68 additions & 0 deletions docs/user/metal/ipi/customization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Bare Metal Platform Customization

## Image Overrides

When doing a disconnected installation, the baremetal platform has the
additional requirement that we have locations to download the RHCOS
images. The installer downloads these from a location described in
[/data/data/rhcos.json](/data/data/rhcos.json), but they can be
overriden to point to a local mirror.

```yaml
platform:
baremetal:
bootstrapOSImage: http://mirror.example.com/images/rhcos-43.81.201912131630.0-qemu.x86_64.qcow2.gz?sha256=f40e826ac4a6c5c073416a7bc0039ec8726a338885d2031e7607cec8783e580e
clusterOSImage: http://mirror.example.com/images/rhcos-43.81.201912131630.0-openstack.x86_64.qcow2.gz?sha256=ffebbd68e8a1f2a245ca19522c16c86f67f9ac8e4e0c1f0a812b068b16f7265d
```

## Networking customization

By default, the baremetal IPI environment uses a provisioning network of
`172.22.0.0/24`, picks the 2nd and 3rd address of that subnet for the
bootstrap and cluster provisioning IP's, and operates an internal DHCP
and TFTP server in the cluster to support provisioning. Much of this can
be customized.

### Custom provisioning network

To use a different network range, a user may set the
`provisioningNetworkCIDR` option. If they wish to use a different
we will pick the 2nd and 3rd addresses in that subnet.


```yaml
platform:
baremetal:
provisioningNetworkCIDR: 172.23.0.0/16
bootstrapProvisioningIP: 172.23.0.2
provisioningHostIP: 172.23.0.3
```

### Custom DHCP range

By default, the installer picks a range from the 10th to 100th
addresses. To use a different range, specify this using the
provisioingDHCPRange option in the baremetal platform. This should be a
comma-separated list indicating the start and end range.

```yaml
platform:
baremetal:
provisioningDHCPRange: "172.23.0.10,172.23.0.100"
```


### External DHCP

If you would prefer to use an external DHCP server, you can specify
provisioningDHCPExternal, in which case the cluster will only run TFTP.
When using PXE boot for the control plane and workers, your DHCP server
needs to specify the next-server as `bootstrapProvisioningIP` for the
control plane, and `provisioningHostIP` for the workers.

```yaml
platform:
baremetal:
provisioningDHCPExternal: true
```

0 comments on commit 195a8aa

Please sign in to comment.