String
Before you deploy an OKD cluster on IBM Cloud®, 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 IBM Cloud-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.
Only IPv4 addresses are supported.
Globalnet is not supported with Red Hat OpenShift Data Foundation disaster recovery solutions. For regional disaster recovery scenarios, ensure that you use a nonoverlapping 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. |
|
||
sshKey: |
The SSH key to authenticate access to your cluster machines.
|
For example, |
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.
Additional IBM Cloud® configuration parameters are described in the following table:
Parameter | Description | Values |
---|---|---|
controlPlane: platform: ibmcloud: bootVolume: encryptionKey: |
An IBM® Key Protect for IBM Cloud® (Key Protect) root key that should be used to encrypt the root (boot) volume of only control plane machines. |
The Cloud Resource Name (CRN) of the root key. The CRN must be enclosed in quotes (""). |
compute: platform: ibmcloud: bootVolume: encryptionKey: |
A Key Protect root key that should be used to encrypt the root (boot) volume of only compute machines. |
The CRN of the root key. The CRN must be enclosed in quotes (""). |
platform: ibmcloud: defaultMachinePlatform: bootvolume: encryptionKey: |
A Key Protect root key that should be used to encrypt the root (boot) volume of all of the cluster’s machines. When specified as part of the default machine configuration, all managed storage classes are updated with this key. As such, data volumes that are provisioned after the installation are also encrypted using this key. |
The CRN of the root key. The CRN must be enclosed in quotes (""). |
platform: ibmcloud: resourceGroupName: |
The name of an existing resource group.
By default, an installer-provisioned VPC and cluster resources are placed in this resource group. When not specified, the installation program creates the resource group for the cluster.
If you are deploying the cluster into an existing VPC, the installer-provisioned cluster resources are placed in this resource group. When not specified, the installation program creates the resource group for the cluster. The VPC resources that you have provisioned must exist in a resource group that you specify using the |
String, for example |
platform: ibmcloud: serviceEndpoints: - name: url: |
A list of service endpoint names and URIs. By default, the installation program and cluster components use public service endpoints to access the required IBM Cloud® services. If network restrictions limit access to public service endpoints, you can specify an alternate service endpoint to override the default behavior. You can specify only one alternate service endpoint for each of the following services:
|
A valid service endpoint name and fully qualified URI. Valid names include:
|
platform: ibmcloud: networkResourceGroupName: |
The name of an existing resource group. This resource contains the existing VPC and subnets to which the cluster will be deployed. This parameter is required when deploying the cluster to a VPC that you have provisioned. |
String, for example |
platform: ibmcloud: dedicatedHosts: profile: |
The new dedicated host to create. If you specify a value for |
Valid IBM Cloud® dedicated host profile, such as |
platform: ibmcloud: dedicatedHosts: name: |
An existing dedicated host. If you specify a value for |
String, for example |
platform: ibmcloud: type: |
The instance type for all IBM Cloud® machines. |
Valid IBM Cloud® instance type, such as |
platform: ibmcloud: vpcName: |
The name of the existing VPC that you want to deploy your cluster to. |
String. |
platform: ibmcloud: controlPlaneSubnets: |
The name(s) of the existing subnet(s) in your VPC that you want to deploy your control plane machines to. Specify a subnet for each availability zone. |
String array |
platform: ibmcloud: computeSubnets: |
The name(s) of the existing subnet(s) in your VPC that you want to deploy your compute machines to. Specify a subnet for each availability zone. Subnet IDs are not supported. |
String array |
Whether you define an existing resource group, or if the installer creates one, determines how the resource group is treated when the cluster is uninstalled. If you define a resource group, the installer removes all of the installer-provisioned resources, but leaves the resource group alone; if a resource group is created as part of the installation, the installer removes all of the installer-provisioned resources and the resource group.
To determine which profile best meets your needs, see Instance Profiles in the IBM® documentation.