String
Before you deploy an OKD cluster on OpenStack, 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.
The following tables specify the required, optional, and OpenStack-specific installation configuration parameters that you can set as part of the installation process.
After installation, you cannot modify these parameters in the |
Required installation configuration parameters are described in the following table:
Parameter | Description | Values |
---|---|---|
apiVersion: |
The API version for the |
String |
baseDomain: |
The base domain of your cloud provider. The base domain is used to create routes to your OKD cluster components. The full DNS name for your cluster is a combination of the |
A fully-qualified domain or subdomain name, such as |
metadata: |
Kubernetes resource |
Object |
metadata: name: |
The name of the cluster. DNS records for the cluster are all subdomains of |
String of lowercase letters, hyphens ( |
platform: |
The configuration for the specific platform upon which to perform the installation: |
Object |
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 provide 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 OKD 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
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 | Values | ||
---|---|---|---|---|
networking: |
The configuration for the cluster network. |
Object
|
||
networking: networkType: |
The Red Hat OpenShift Networking network plugin to install. |
|
||
networking: clusterNetwork: |
The IP address blocks for pods. The default value is If you specify multiple IP address blocks, the blocks must not overlap. |
An array of objects. For example:
|
||
networking: clusterNetwork: cidr: |
Required if you use An IPv4 network. |
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 |
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. |
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. |
An array of objects. For example:
|
||
networking: machineNetwork: cidr: |
Required if you use |
An IP network block in CIDR notation. For example,
|
Optional installation configuration parameters are described in the following table:
Parameter | Description | Values | ||
---|---|---|---|---|
additionalTrustBundle: |
A PEM-encoded X.509 certificate bundle that is added to the nodes' trusted certificate store. This trust bundle may also be used when a proxy has been configured. |
String |
||
capabilities: |
Controls the installation of optional core cluster components. You can reduce the footprint of your OKD cluster by disabling optional components. For more information, see the "Cluster capabilities" page in Installing. |
String array |
||
capabilities: baselineCapabilitySet: |
Selects an initial set of optional capabilities to enable. Valid values are |
String |
||
capabilities: additionalEnabledCapabilities: |
Extends the set of optional capabilities beyond what you specify in |
String array |
||
cpuPartitioningMode: |
Enables workload partitioning, which isolates OKD services, cluster management workloads, and infrastructure pods to run on a reserved set of CPUs. Workload partitioning can only be enabled during installation and cannot be disabled 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. |
|
||
compute: |
The configuration for the machines that comprise the compute nodes. |
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 |
String |
||
compute: hyperthreading: |
Whether to enable or disable simultaneous multithreading, or
|
|
||
compute: name: |
Required if you use |
|
||
compute: platform: |
Required if you use |
|
||
compute: replicas: |
The number of compute machines, which are also known as worker machines, to provision. |
A positive integer greater than or equal to |
||
featureSet: |
Enables the cluster for a feature set. A feature set is a collection of OKD features that are not enabled by default. For more information about enabling a feature set during installation, see "Enabling features using feature gates". |
String. The name of the feature set to enable, such as |
||
controlPlane: |
The configuration for the machines that comprise the control plane. |
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 |
String |
||
controlPlane: hyperthreading: |
Whether to enable or disable simultaneous multithreading, or
|
|
||
controlPlane: name: |
Required if you use |
|
||
controlPlane: platform: |
Required if you use |
|
||
controlPlane: replicas: |
The number of control plane machines to provision. |
Supported values are |
||
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.
|
|
||
imageContentSources: |
Sources and repositories for the release-image content. |
Array of objects. Includes a |
||
imageContentSources: source: |
Required if you use |
String |
||
imageContentSources: mirrors: |
Specify one or more repositories that may also contain the same images. |
Array of strings |
||
publish: |
How to publish or expose the user-facing endpoints of your cluster, such as the Kubernetes API, OpenShift routes. |
Setting this field to
|
||
sshKey: |
The SSH key to authenticate access to your cluster machines.
|
For example, |
Additional OpenStack configuration parameters are described in the following table:
Parameter | Description | Values |
---|---|---|
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. |
Integer, for example |
compute: platform: openstack: rootVolume: types: |
For compute machines, the root volume types. |
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 |
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 |
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. |
Integer, for example |
controlPlane: platform: openstack: rootVolume: types: |
For control plane machines, the root volume types. |
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 |
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 |
A list of strings, for example |
platform: openstack: cloud: |
The name of the OpenStack cloud to use from the list of clouds in the In the cloud configuration in the |
String, for example |
platform: openstack: externalNetwork: |
The OpenStack external network name to be used for installation. |
String, for example |
platform: openstack: computeFlavor: |
The OpenStack 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 |
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 in zones
. For example, the count of types cannot be 2 if there are 3 items in zones
.
If you have any existing reference to this property, the installer populates the corresponding value in the controlPlane.platform.openstack.rootVolume.types
field.
Optional OpenStack configuration parameters are described in the following table:
Parameter | Description | Values |
---|---|---|
compute: platform: openstack: additionalNetworkIDs: |
Additional networks that are associated with compute machines. Allowed address pairs are not created for additional networks. |
A list of one or more UUIDs as strings. For example, |
compute: platform: openstack: additionalSecurityGroupIDs: |
Additional security groups that are associated with compute machines. |
A list of one or more UUIDs as strings. For example, |
compute: platform: openstack: zones: |
OpenStack 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 OpenStack administrator configured. |
A list of strings. For example, |
compute: platform: openstack: serverGroupPolicy: |
Server group policy to apply to the group that will contain 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 |
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. |
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. |
A list of one or more UUIDs as strings. For example, |
controlPlane: platform: openstack: zones: |
OpenStack 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 OpenStack administrator configured. |
A list of strings. For example, |
controlPlane: platform: openstack: serverGroupPolicy: |
Server group policy to apply to the group that will contain 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 |
A server group policy to apply to the machine pool. For example, |
platform: openstack: clusterOSImage: |
The location from which the installation program downloads the FCOS image. You must set this parameter to perform an installation in a restricted network. |
An HTTP or HTTPS URL, optionally with an SHA-256 checksum. For example, |
platform: openstack: clusterOSImageProperties: |
Properties to add to the installer-uploaded ClusterOSImage in Glance. This property is ignored if You can use this property to exceed the default persistent volume (PV) limit for OpenStack 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 |
A list of key-value string pairs. For example, |
platform: openstack: defaultMachinePlatform: |
The default machine pool platform configuration. |
|
platform: openstack: ingressFloatingIP: |
An existing floating IP address to associate with the Ingress port. To use this property, you must also define the |
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 |
An IP address, for example |
platform: openstack: externalDNS: |
IP addresses for external DNS servers that cluster instances use for DNS resolution. |
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 |
|
platform: openstack: machinesSubnet: |
The UUID of a OpenStack 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 OKD installer. Instead, add DNS to the subnet in OpenStack. |
A UUID as a string. For example, |