Installation configuration parameters for OpenStack
Before you deploy an OpenShift Container Platform cluster on Red Hat OpenStack Platform (RHOSP), you provide parameters to customize your cluster and the platform that hosts it. When you create the install-config.yaml file, you provide values for the required parameters through the command line. You can then modify the install-config.yaml file to customize your cluster further.
Available installation configuration parameters for OpenStack
The following tables specify the required, optional, and OpenStack-specific installation configuration parameters that you can set as part of the installation process.
Important
After installation, you cannot change these parameters in the install-config.yaml file.
Required configuration parameters
Required installation configuration parameters are described in the following table:
| Parameter | Description |
|---|---|
apiVersion: |
The API version for the Value: String |
baseDomain: |
The base domain of your cloud provider. The base domain is used to create routes to your OpenShift Container Platform cluster components. The full DNS name for your cluster is a combination of the Value: A fully-qualified domain or subdomain name, such as |
metadata: |
Kubernetes resource Value: Object |
metadata: name: |
The name of the cluster. DNS records for the cluster are all subdomains of Value: String of lowercase letters, hyphens ( |
platform: |
The configuration for the specific platform upon which to perform the installation: Value: Object |
pullSecret: |
Get a pull secret from Red Hat OpenShift Cluster Manager to authenticate downloading container images for OpenShift Container Platform components from services such as Quay.io. Value:
|
Additional IBM PowerVC configuration parameters
Additional IBM PowerVC configuration parameters are described in the following table:
| Parameter | Description |
|---|---|
platform:
powervc:
cloud: |
The name of the IBM PowerVC cloud to use from the list of clouds in the In the cloud configuration in the Value: String, for example |
Optional IBM PowerVC configuration parameters
Optional IBM PowerVC configuration parameters are described in the following table:
| Parameter | Description |
|---|---|
compute:
platform:
powervc:
zones: |
IBM PowerVC Compute availability zones to install machines on. If this parameter is not set, the installation program relies on the default settings that the IBM PowerVC administrator configured. Value: A list of strings. For example, |
controlPlane:
platform:
powervc:
zones: |
IBM PowerVC Compute availability zones to install machines on. If this parameter is not set, the installation program relies on the default settings that the IBM PowerVC administrator configured. Value: A list of strings. For example, |
platform:
powervc:
clusterOSImage: |
The name of the existing IBM PowerVC image. Value: the name of an existing IBM PowerVC image, for example |
platform:
powervc:
controlPlanePort:
fixedIPs: |
Subnets for the machines to use. Value: A list of subnet names or UUIDs to use in cluster installation. |
platform:
powervc:
controlPlanePort:
network: |
A network for the machines to use. Value: The UUID or name of an IBM PowerVC network to use in cluster installation. |
platform:
powervc:
defaultMachinePlatform: |
The default machine pool platform configuration. Value:
|
platform:
powervc:
externalDNS: |
IP addresses for external DNS servers that cluster instances use for DNS resolution. Value: A list of IP addresses as strings. For example, |
platform:
powervc:
loadbalancer: |
Whether or not to use the default, internal load balancer. If the value is set to Value: |
platform:
powervc:
apiVIPs: |
Virtual IP (VIP) addresses that you configured for control plane API access. Value: A list of IP addresses as strings. For example, |
platform:
powervc:
ingressVIPs: |
Virtual IP (VIP) addresses that you configured for cluster ingress. Value: A list of IP addresses as strings. For example, |
Network configuration parameters
You can customize your installation configuration based on the requirements of your existing network infrastructure. For example, you can expand the IP address block for the cluster network or configure different IP address blocks than the defaults.
Consider the following information before you configure network parameters for your cluster:
-
If you use the Red Hat OpenShift Networking OVN-Kubernetes network plugin, both IPv4 and IPv6 address families are supported.
-
If you deployed nodes in an OpenShift Container Platform cluster with a network that supports both IPv4 and non-link-local IPv6 addresses, configure your cluster to use a dual-stack network.
-
For clusters configured for dual-stack networking, both IPv4 and IPv6 traffic must use the same network interface as the default gateway. This ensures that in a multiple network interface controller (NIC) environment, a cluster can detect what NIC to use based on the available network interface. For more information, see "OVN-Kubernetes IPv6 and dual-stack limitations" in About the OVN-Kubernetes network plugin.
-
To prevent network connectivity issues, do not install a single-stack IPv4 cluster on a host that supports dual-stack networking.
-
If you configure your cluster to use both IP address families, review the following requirements:
-
Both IP families must use the same network interface for the default gateway.
-
Both IP families must have the default gateway.
-
You must specify IPv4 and IPv6 addresses in the same order for all network configuration parameters. For example, in the following configuration, IPv4 addresses are listed before IPv6 addresses:
networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 - cidr: fd00:10:128::/56 hostPrefix: 64 serviceNetwork: - 172.30.0.0/16 - fd00:172:16::/112
Note
Globalnet is not supported with Red Hat OpenShift Data Foundation disaster recovery solutions. For regional disaster recovery scenarios, ensure that you use a non-overlapping range of private IP addresses for the cluster and service networks in each cluster.
| Parameter | Description |
|---|---|
networking: |
The configuration for the cluster network. Value: Object Note You cannot change parameters specified by the |
networking: networkType: |
The Red Hat OpenShift Networking network plugin to install. Value:
|
networking: clusterNetwork: |
The IP address blocks for pods. The default value is If you specify multiple IP address blocks, the blocks must not overlap. Value: An array of objects. For example:
|
networking:
clusterNetwork:
cidr: |
Required if you use An IPv4 network. Value: An IP address block in Classless Inter-Domain Routing (CIDR) notation. The prefix length for an IPv4 block is between |
networking:
clusterNetwork:
hostPrefix: |
The subnet prefix length to assign to each individual node. For example, if Value: A subnet prefix. The default value is |
networking: serviceNetwork: |
The IP address block for services. The default value is The OVN-Kubernetes network plugins supports only a single IP address block for the service network. Value: An array with an IP address block in CIDR format. For example:
|
networking: machineNetwork: |
The IP address blocks for machines. If you specify multiple IP address blocks, the blocks must not overlap. Value: An array of objects. For example:
|
networking:
machineNetwork:
cidr: |
Required if you use Value: An IP network block in CIDR notation. For example, Note Set the |
networking:
ovnKubernetesConfig:
ipv4:
internalJoinSubnet: |
Configures the IPv4 join subnet that is used internally by Value: An IP network block in CIDR notation. The default value is |
Optional configuration parameters
Optional installation configuration parameters are described in the following table:
| Parameter | Description |
|---|---|
additionalTrustBundle: |
A PEM-encoded X.509 certificate bundle that is added to the nodes' trusted certificate store. This trust bundle might also be used when a proxy has been configured. Value: String |
capabilities: |
Controls the installation of optional core cluster components. You can reduce the footprint of your OpenShift Container Platform cluster by disabling optional components. For more information, see the "Cluster capabilities" page in Installing. Value: String array |
capabilities: baselineCapabilitySet: |
Selects an initial set of optional capabilities to enable. Valid values are Value: String |
capabilities: additionalEnabledCapabilities: |
Extends the set of optional capabilities beyond what you specify in Value: String array |
cpuPartitioningMode: |
Enables workload partitioning, which isolates OpenShift Container Platform services, cluster management workloads, and infrastructure pods to run on a reserved set of CPUs. You can only enable workload partitioning during installation. You cannot disable it after installation. While this field enables workload partitioning, it does not configure workloads to use specific CPUs. For more information, see the Workload partitioning page in the Scalability and Performance section. Value: |
compute: |
The configuration for the machines that comprise the compute nodes. Value: Array of |
compute: architecture: |
Determines the instruction set architecture of the machines in the pool. Currently, clusters with varied architectures are not supported. All pools must specify the same architecture. Valid values are Value: String |
compute: hyperthreading: |
Whether to enable or disable simultaneous multithreading, or Important If you disable simultaneous multithreading, ensure that your capacity planning accounts for the dramatically decreased machine performance. Value: |
compute: name: |
Required if you use Value: |
compute: platform: |
Required if you use Value:
|
compute: replicas: |
The number of compute machines, which are also known as worker machines, to provision. Value: A positive integer greater than or equal to |
featureSet: |
Enables the cluster for a feature set. A feature set is a collection of OpenShift Container Platform features that are not enabled by default. For more information about enabling a feature set during installation, see "Enabling features using feature gates". Value: String. The name of the feature set to enable, such as |
controlPlane: |
The configuration for the machines that form the control plane. Value: Array of |
controlPlane: architecture: |
Determines the instruction set architecture of the machines in the pool. Currently, clusters with varied architectures are not supported. All pools must specify the same architecture. Valid values are Value: String |
controlPlane: architecture: |
Determines the instruction set architecture of the machines in the pool. Currently, heterogeneous clusters are not supported, so all pools must specify the same architecture. The valid value is the default: Value: String |
controlPlane: hyperthreading: |
Whether to enable or disable simultaneous multithreading, or Important If you disable simultaneous multithreading, ensure that your capacity planning accounts for the dramatically decreased machine performance. Value: |
controlPlane: name: |
Required if you use Value: |
controlPlane: platform: |
Required if you use Value:
|
controlPlane: replicas: |
The number of control plane machines to provision. Value:
Supported values are |
arbiter:
name: arbiter |
The OpenShift Container Platform cluster requires a name for arbiter nodes. For example, |
arbiter:
replicas: 1 |
The |
credentialsMode: |
The Cloud Credential Operator (CCO) mode. If no mode is specified, the CCO dynamically tries to determine the capabilities of the provided credentials, with a preference for mint mode on the platforms where multiple modes are supported. Note Not all CCO modes are supported for all cloud providers. For more information about CCO modes, see the "Managing cloud provider credentials" entry in the Authentication and authorization content. Value: |
fips: |
Enable or disable FIPS mode. The default is Important To enable FIPS mode for your cluster, you must run the installation program from a Red Hat Enterprise Linux (RHEL) computer configured to operate in FIPS mode. For more information about configuring FIPS mode on RHEL, see Switching RHEL to FIPS mode. When running Red Hat Enterprise Linux (RHEL) or Red Hat Enterprise Linux CoreOS (RHCOS) booted in FIPS mode, OpenShift Container Platform core components use the RHEL cryptographic libraries that have been submitted to NIST for FIPS 140-2/140-3 Validation on only the x86_64, ppc64le, and s390x architectures. Important If you are using Azure File storage, you cannot enable FIPS mode. Value: |
endpoint: name: <endpoint_name> clusterUseOnly: `true` or `false` |
The Important When When you want the installation program to use the public API endpoints and cluster operators to use the API endpoint overrides, set Value: String or boolean |
imageContentSources: |
Sources and repositories for the release-image content. Value: Array of objects. Includes a |
imageContentSources: source: |
Required if you use Value: String |
imageContentSources: mirrors: |
Specify one or more repositories that might also contain the same images. Value: Array of strings |
publish: |
How to publish or expose the user-facing endpoints of your cluster, such as the Kubernetes API, OpenShift routes. Value:
Setting this field to Important If the value of the field is set to |
sshKey: |
The SSH key to authenticate access to your cluster machines. Note For production OpenShift Container Platform clusters on which you want to perform installation debugging or disaster recovery, specify an SSH key that your Value: For example, |
Additional Red Hat OpenStack Platform (RHOSP) configuration parameters
Additional RHOSP configuration parameters are described in the following table:
| Parameter | Description |
|---|---|
compute:
platform:
openstack:
rootVolume:
size: |
For compute machines, the size in gigabytes of the root volume. If you do not set this value, machines use ephemeral storage. Value: Integer, for example |
compute:
platform:
openstack:
rootVolume:
types: |
For compute machines, the root volume types. Value: A list of strings, for example, { |
compute:
platform:
openstack:
rootVolume:
type: |
For compute machines, the root volume’s type. This property is deprecated and is replaced by Value: String, for example, |
compute:
platform:
openstack:
rootVolume:
zones: |
For compute machines, the Cinder availability zone to install root volumes on. If you do not set a value for this parameter, the installation program selects the default availability zone. This parameter is mandatory when Value: A list of strings, for example |
controlPlane:
platform:
openstack:
rootVolume:
size: |
For control plane machines, the size in gigabytes of the root volume. If you do not set this value, machines use ephemeral storage. Value: Integer, for example |
controlPlane:
platform:
openstack:
rootVolume:
types: |
For control plane machines, the root volume types. Value: A list of strings, for example, { |
controlPlane:
platform:
openstack:
rootVolume:
type: |
For control plane machines, the root volume’s type. This property is deprecated and is replaced by Value: String, for example, |
controlPlane:
platform:
openstack:
rootVolume:
zones: |
For control plane machines, the Cinder availability zone to install root volumes on. If you do not set this value, the installation program selects the default availability zone. This parameter is mandatory when Value: A list of strings, for example |
platform:
openstack:
cloud: |
The name of the RHOSP cloud to use from the list of clouds in the In the cloud configuration in the Value: String, for example |
platform:
openstack:
externalNetwork: |
The RHOSP external network name to be used for installation. Value: String, for example |
platform:
openstack:
computeFlavor: |
The RHOSP flavor to use for control plane and compute machines. This property is deprecated. To use a flavor as the default for all machine pools, add it as the value of the Value: String, for example |
-
If the machine pool defines
zones, the count of types can either be a single item or match the number of items inzones. For example, the count of types cannot be 2 if there are 3 items inzones. -
If you have any existing reference to this property, the installation program populates the corresponding value in the
controlPlane.platform.openstack.rootVolume.typesfield.
Optional RHOSP configuration parameters
Optional RHOSP configuration parameters are described in the following table:
| Parameter | Description |
|---|---|
compute:
platform:
openstack:
additionalNetworkIDs: |
Additional networks that are associated with compute machines. Allowed address pairs are not created for additional networks. Value: A list of one or more UUIDs as strings. For example, |
compute:
platform:
openstack:
additionalSecurityGroupIDs: |
Additional security groups that are associated with compute machines. Value: A list of one or more UUIDs as strings. For example, |
compute:
platform:
openstack:
zones: |
RHOSP Compute (Nova) availability zones (AZs) to install machines on. If this parameter is not set, the installation program relies on the default settings for Nova that the RHOSP administrator configured. Value: A list of strings. For example, |
compute:
platform:
openstack:
serverGroupPolicy: |
The server group policy to apply to the group that contains the compute machines in the pool. You cannot change server group policies or affiliations after creation. Supported options include An If you use a strict Value: A server group policy to apply to the machine pool. For example, |
controlPlane:
platform:
openstack:
additionalNetworkIDs: |
Additional networks that are associated with control plane machines. Allowed address pairs are not created for additional networks. Additional networks that are attached to a control plane machine are also attached to the bootstrap node. Value: A list of one or more UUIDs as strings. For example, |
controlPlane:
platform:
openstack:
additionalSecurityGroupIDs: |
Additional security groups that are associated with control plane machines. Value: A list of one or more UUIDs as strings. For example, |
controlPlane:
platform:
openstack:
zones: |
RHOSP Compute (Nova) availability zones (AZs) to install machines on. If this parameter is not set, the installation program relies on the default settings for Nova that the RHOSP administrator configured. Value: A list of strings. For example, |
controlPlane:
platform:
openstack:
serverGroupPolicy: |
Server group policy to apply to the group that contains the control plane machines in the pool. You cannot change server group policies or affiliations after creation. Supported options include An If you use a strict Value: A server group policy to apply to the machine pool. For example, |
platform:
openstack:
clusterOSImage: |
The location from which the installation program downloads the RHCOS image. You must set this parameter to perform an installation in a restricted network. Value: An HTTP or HTTPS URL, optionally with an SHA-256 checksum. For example, |
platform:
openstack:
clusterOSImageProperties: |
Properties to add to the installation program-uploaded ClusterOSImage in Glance. This property is ignored if You can use this property to exceed the default persistent volume (PV) limit for RHOSP of 26 PVs per node. To exceed the limit, set the You can also use this property to enable the QEMU guest agent by including the Value: A set of string properties. For example:
|
platform:
openstack:
controlPlanePort:
fixedIPs: |
Subnets for the machines to use. Value: A list of subnet names or UUIDs to use in cluster installation. |
platform:
openstack:
controlPlanePort:
network: |
A network for the machines to use. Value: The UUID or name of an RHOSP network to use in cluster installation. |
platform:
openstack:
defaultMachinePlatform: |
The default machine pool platform configuration. Value:
|
platform:
openstack:
ingressFloatingIP: |
An existing floating IP address to associate with the Ingress port. To use this property, you must also define the Value: An IP address, for example |
platform:
openstack:
apiFloatingIP: |
An existing floating IP address to associate with the API load balancer. To use this property, you must also define the Value: An IP address, for example |
platform:
openstack:
externalDNS: |
IP addresses for external DNS servers that cluster instances use for DNS resolution. Value: A list of IP addresses as strings. For example, |
platform:
openstack:
loadbalancer: |
Whether or not to use the default, internal load balancer. If the value is set to Value: |
platform:
openstack:
machinesSubnet: |
The UUID of a RHOSP subnet that the cluster’s nodes use. Nodes and virtual IP (VIP) ports are created on this subnet. The first item in If you deploy to a custom subnet, you cannot specify an external DNS server to the OpenShift Container Platform installer. Instead, add DNS to the subnet in RHOSP. Value: A UUID as a string. For example, |