Beyond the platform-agnostic install-config.yaml
properties, the installer supports additional, OpenStack-specific properties.
cloud
(required string): The name of the OpenStack cloud to use fromclouds.yaml
.computeFlavor
(required string): The OpenStack flavor to use for compute and control-plane machines. This is currently required, but has lower precedence than thetype
property on thecompute
andcontrolPlane
machine-pools.externalDNS
(optional list of strings): The IP addresses of DNS servers to be used for the DNS resolution of all instances in the clusterexternalNetwork
(required string): The OpenStack external network name to be used for installation.lbFloatingIP
(required string): Existing Floating IP to associate with the API load balancer.octaviaSupport
(optional string): Whether OpenStack supports Octavia (1
for true or0
for false)region
(deprecated string): The OpenStack region where the cluster will be created. Currently this value is not used by the installer.trunkSupport
(optional string): Whether OpenStack ports can be trunked (1
for true or0
for false)
type
(optional string): The OpenStack flavor name for machines in the pool.rootVolume
(optional object): Defines the root volume for instances in the machine pool. The instances use ephemeral disks if not set.size
(required integer): Size of the root volume in GB.type
(required string): The volume pool to create the volume from.
Some example install-config.yaml
are shown below.
For examples of platform-agnostic configuration fragments, see here.
An example minimal OpenStack install config is:
apiVersion: v1
baseDomain: example.com
metadata:
name: test-cluster
platform:
openstack:
cloud: mycloud
computeFlavor: m1.s2.xlarge
externalNetwork: external
externalDNS:
- "8.8.8.8"
- "192.168.1.12"
lbFloatingIP: 128.0.0.1
region: region1
pullSecret: '{"auths": ...}'
sshKey: ssh-ed25519 AAAA...
An example OpenStack install config with custom machine pools:
apiVersion: v1
baseDomain: example.com
controlPlane:
name: master
replicas: 3
compute:
- name: worker
platform:
openstack:
type: ml.large
rootVolume:
size: 30
type: performance
replicas: 3
metadata:
name: test-cluster
platform:
openstack:
cloud: mycloud
computeFlavor: m1.s2.xlarge
externalNetwork: external
lbFloatingIP: 128.0.0.1
region: region1
pullSecret: '{"auths": ...}'
sshKey: ssh-ed25519 AAAA...
For customizing the installation beyond what is possible with openshift-install
, refer to the UPI (User Provided Infrastructure) documentation.