Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.

Chapter 12. 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.

12.1. 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.

12.1.1. Required configuration parameters

Required installation configuration parameters are described in the following table:

Expand
Table 12.1. Required parameters
ParameterDescriptionValues
apiVersion:

The API version for the

install-config.yaml
content. The current version is
v1
. The installation program might also support older API versions.

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

baseDomain
and
metadata.name
parameter values that uses the
<metadata.name>.<baseDomain>
format.

A fully-qualified domain or subdomain name, such as

example.com
.

metadata:

Kubernetes resource

ObjectMeta
, from which only the
name
parameter is consumed.

Object

metadata:
  name:

The name of the cluster. DNS records for the cluster are all subdomains of

{{.metadata.name}}.{{.baseDomain}}
.

String of lowercase letters, hyphens (

-
), and periods (
.
), such as
dev
. The string must be 14 characters or fewer long.

platform:

The configuration for the specific platform upon which to perform the installation:

alibabacloud
,
aws
,
baremetal
,
azure
,
gcp
,
ibmcloud
,
nutanix
,
openstack
,
powervs
,
vsphere
, or
{}
. For additional information about
platform.<platform>
parameters, consult the table for your specific platform that follows.

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.

{
   "auths":{
      "cloud.openshift.com":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      },
      "quay.io":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      }
   }
}

12.1.2. 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.

Only IPv4 addresses are supported.

Note

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.

Expand
Table 12.2. Network parameters
ParameterDescriptionValues
networking:

The configuration for the cluster network.

Object

Note

You cannot change parameters specified by the

networking
object after installation.

networking:
  networkType:

The Red Hat OpenShift Networking network plugin to install.

Either

OpenShiftSDN
or
OVNKubernetes
.
OpenShiftSDN
is a CNI plugin for all-Linux networks.
OVNKubernetes
is a CNI plugin for Linux networks and hybrid networks that contain both Linux and Windows servers. The default value is
OVNKubernetes
.

networking:
  clusterNetwork:

The IP address blocks for pods.

The default value is

10.128.0.0/14
with a host prefix of
/23
.

If you specify multiple IP address blocks, the blocks must not overlap.

An array of objects. For example:

networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
networking:
  clusterNetwork:
    cidr:

Required if you use

networking.clusterNetwork
. An IP address block.

An IPv4 network.

An IP address block in Classless Inter-Domain Routing (CIDR) notation. The prefix length for an IPv4 block is between

0
and
32
.

networking:
  clusterNetwork:
    hostPrefix:

The subnet prefix length to assign to each individual node. For example, if

hostPrefix
is set to
23
then each node is assigned a
/23
subnet out of the given
cidr
. A
hostPrefix
value of
23
provides 510 (2^(32 - 23) - 2) pod IP addresses.

A subnet prefix.

The default value is

23
.

networking:
  serviceNetwork:

The IP address block for services. The default value is

172.30.0.0/16
.

The OpenShift SDN and OVN-Kubernetes network plugins support only a single IP address block for the service network.

An array with an IP address block in CIDR format. For example:

networking:
  serviceNetwork:
   - 172.30.0.0/16
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: 10.0.0.0/16
networking:
  machineNetwork:
    cidr:

Required if you use

networking.machineNetwork
. An IP address block. The default value is
10.0.0.0/16
for all platforms other than libvirt and IBM Power® Virtual Server. For libvirt, the default value is
192.168.126.0/24
. For IBM Power® Virtual Server, the default value is
192.168.0.0/24
.

An IP network block in CIDR notation.

For example,

10.0.0.0/16
.

Note

Set the

networking.machineNetwork
to match the CIDR that the preferred NIC resides in.

12.1.3. Optional configuration parameters

Optional installation configuration parameters are described in the following table:

Expand
Table 12.3. Optional parameters
ParameterDescriptionValues
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 is configured.

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.

String array

capabilities:
  baselineCapabilitySet:

Selects an initial set of optional capabilities to enable. Valid values are

None
,
v4.11
,
v4.12
and
vCurrent
. The default value is
vCurrent
.

String

capabilities:
  additionalEnabledCapabilities:

Extends the set of optional capabilities beyond what you specify in

baselineCapabilitySet
. You can specify multiple capabilities in this parameter.

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.

None
or
AllNodes
.
None
is the default value.

compute:

The configuration for the machines that comprise the compute nodes.

Array of

MachinePool
objects.

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

amd64
and
arm64
. Not all installation options support the 64-bit ARM architecture. To verify if your installation option is supported on your platform, see Supported installation methods for different platforms in Selecting a cluster installation method and preparing it for users.

String

compute:
  hyperthreading:

Whether to enable or disable simultaneous multithreading, or

hyperthreading
, on compute machines. By default, simultaneous multithreading is enabled to increase the performance of your machines' cores.

Important

If you disable simultaneous multithreading, ensure that your capacity planning accounts for the dramatically decreased machine performance.

Enabled
or
Disabled

compute:
  name:

Required if you use

compute
. The name of the machine pool.

worker

compute:
  platform:

Required if you use

compute
. Use this parameter to specify the cloud provider to host the worker machines. This parameter value must match the
controlPlane.platform
parameter value.

alibabacloud
,
aws
,
azure
,
gcp
,
ibmcloud
,
nutanix
,
openstack
,
powervs
,
vsphere
, or
{}

compute:
  replicas:

The number of compute machines, which are also known as worker machines, to provision.

A positive integer greater than or equal to

2
. The default value is
3
.

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".

String. The name of the feature set to enable, such as

TechPreviewNoUpgrade
.

controlPlane:

The configuration for the machines that form the control plane.

Array of

MachinePool
objects.

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

amd64
and
arm64
. Not all installation options support the 64-bit ARM architecture. To verify if your installation option is supported on your platform, see Supported installation methods for different platforms in Selecting a cluster installation method and preparing it for users.

String

controlPlane:
  hyperthreading:

Whether to enable or disable simultaneous multithreading, or

hyperthreading
, on control plane machines. By default, simultaneous multithreading is enabled to increase the performance of your machines' cores.

Important

If you disable simultaneous multithreading, ensure that your capacity planning accounts for the dramatically decreased machine performance.

Enabled
or
Disabled

controlPlane:
  name:

Required if you use

controlPlane
. The name of the machine pool.

master

controlPlane:
  platform:

Required if you use

controlPlane
. Use this parameter to specify the cloud provider that hosts the control plane machines. This parameter value must match the
compute.platform
parameter value.

alibabacloud
,
aws
,
azure
,
gcp
,
ibmcloud
,
nutanix
,
openstack
,
powervs
,
vsphere
, or
{}

controlPlane:
  replicas:

The number of control plane machines to provision.

Supported values are

3
, or
1
when deploying single-node OpenShift.

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.

Mint
,
Passthrough
,
Manual
or an empty string (
""
). [1]

fips:

Enable or disable FIPS mode. The default is

false
(disabled). If you enable FIPS mode, the Red Hat Enterprise Linux CoreOS (RHCOS) machines that OpenShift Container Platform runs on bypass the default Kubernetes cryptography suite and use the cryptography modules that RHCOS provides instead.

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.

If you are using Azure File storage, you cannot enable FIPS mode.

false
or
true

imageContentSources:

Sources and repositories for the release-image content.

Array of objects. Includes a

source
and, optionally,
mirrors
, as described in the following rows of this table.

imageContentSources:
  source:

Required if you use

imageContentSources
. Specify the repository that users refer to, for example, in image pull specifications.

String

imageContentSources:
  mirrors:

Specify one or more repositories that might also contain the same images.

Array of strings

platform:
  aws:
    lbType:

Required to set the NLB load balancer type in AWS. Valid values are

Classic
or
NLB
. If no value is specified, the installation program defaults to
Classic
. The installation program sets the value provided here in the ingress cluster configuration object. If you do not specify a load balancer type for other Ingress Controllers, they use the type set in this parameter.

Classic
or
NLB
. The default value is
Classic
.

publish:

How to publish or expose the user-facing endpoints of your cluster, such as the Kubernetes API, OpenShift routes.

Internal
or
External
. To deploy a private cluster, which cannot be accessed from the internet, set
publish
to
Internal
. The default value is
External
.

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

ssh-agent
process uses.

For example,

sshKey: ssh-ed25519 AAAA..
.

  1. 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.

    Note

    If your AWS account has service control policies (SCP) enabled, you must configure the

    credentialsMode
    parameter to
    Mint
    ,
    Passthrough
    , or
    Manual
    . If you are installing on Google Cloud into a shared virtual private cloud (VPC),
    credentialsMode
    must be set to
    Passthrough
    or
    Manual
    .

    Important

    Setting this parameter to

    Manual
    enables alternatives to storing administrator-level secrets in the
    kube-system
    project, which require additional configuration steps. For more information, see "Alternatives to storing administrator-level secrets in the kube-system project".

12.1.4. Optional AWS configuration parameters

Optional AWS configuration parameters are described in the following table:

Expand
Table 12.4. Optional AWS parameters
ParameterDescriptionValues
compute:
  platform:
    aws:
      amiID:

The AWS AMI used to boot compute machines for the cluster. This is required for regions that require a custom RHCOS AMI.

Any published or custom RHCOS AMI that belongs to the set AWS region. See RHCOS AMIs for AWS infrastructure for available AMI IDs.

compute:
  platform:
    aws:
      iamRole:

A pre-existing AWS IAM role applied to the compute machine pool instance profiles. You can use these fields to match naming schemes and include predefined permissions boundaries for your IAM roles. If undefined, the installation program creates a new IAM role.

The name of a valid AWS IAM role.

compute:
  platform:
    aws:
      rootVolume:
        iops:

The Input/Output Operations Per Second (IOPS) that is reserved for the root volume.

Integer, for example

4000
.

compute:
  platform:
    aws:
      rootVolume:
        size:

The size in GiB of the root volume.

Integer, for example

500
.

compute:
  platform:
    aws:
      rootVolume:
        type:

The type of the root volume.

Valid AWS EBS volume type, such as

io1
.

compute:
  platform:
    aws:
      rootVolume:
        kmsKeyARN:

The Amazon Resource Name (key ARN) of a KMS key. This is required to encrypt operating system volumes of worker nodes with a specific KMS key.

Valid key ID or the key ARN.

compute:
  platform:
    aws:
      type:

The EC2 instance type for the compute machines.

Valid AWS instance type, such as

m4.2xlarge
. See the "Tested instance types for AWS" table on the "Installing a cluster on AWS with customizations" page.

compute:
  platform:
    aws:
      zones:

The availability zones where the installation program creates machines for the compute machine pool. If you provide your own VPC, you must provide a subnet in that availability zone.

A list of valid AWS availability zones, such as

us-east-1c
, in a YAML sequence.

controlPlane:
  platform:
    aws:
      amiID:

The AWS AMI used to boot control plane machines for the cluster. This is required for regions that require a custom RHCOS AMI.

Any published or custom RHCOS AMI that belongs to the set AWS region. See RHCOS AMIs for AWS infrastructure for available AMI IDs.

controlPlane:
  platform:
    aws:
      iamRole:

A pre-existing AWS IAM role applied to the control plane machine pool instance profiles. You can use these fields to match naming schemes and include predefined permissions boundaries for your IAM roles. If undefined, the installation program creates a new IAM role.

The name of a valid AWS IAM role.

controlPlane:
  platform:
    aws:
      rootVolume:
        iops:

The Input/Output Operations Per Second (IOPS) that is reserved for the root volume on control plane machines.

Integer, for example

4000
.

controlPlane:
  platform:
    aws:
      rootVolume:
        size:

The size in GiB of the root volume for control plane machines.

Integer, for example

500
.

controlPlane:
  platform:
    aws:
      rootVolume:
        type:

The type of the root volume for control plane machines.

Valid AWS EBS volume type, such as

io1
.

controlPlane:
  platform:
    aws:
      rootVolume:
        kmsKeyARN:

The Amazon Resource Name (key ARN) of a KMS key. This is required to encrypt operating system volumes of control plane nodes with a specific KMS key.

Valid key ID and the key ARN.

controlPlane:
  platform:
    aws:
      type:

The EC2 instance type for the control plane machines.

Valid AWS instance type, such as

m6i.xlarge
. See the "Tested instance types for AWS" table on the "Installing a cluster on AWS with customizations" page.

controlPlane:
  platform:
    aws:
      zones:

The availability zones where the installation program creates machines for the control plane machine pool.

A list of valid AWS availability zones, such as

us-east-1c
, in a YAML sequence.

platform:
  aws:
    amiID:

The AWS AMI used to boot all machines for the cluster. If set, the AMI must belong to the same region as the cluster. This is required for regions that require a custom RHCOS AMI.

Any published or custom RHCOS AMI that belongs to the set AWS region. See RHCOS AMIs for AWS infrastructure for available AMI IDs.

platform:
  aws:
    hostedZone:

An existing Route 53 private hosted zone for the cluster. You can only use a pre-existing hosted zone when also supplying your own VPC. The hosted zone must already be associated with the user-provided VPC before installation. Also, the domain of the hosted zone must be the cluster domain or a parent of the cluster domain. If undefined, the installation program creates a new hosted zone.

String, for example

Z3URY6TWQ91KVV
.

platform:
  aws:
    hostedZoneRole:

An Amazon Resource Name (ARN) for an existing IAM role in the account containing the specified hosted zone. The installation program and cluster operators assume this role when performing operations on the hosted zone. Use this parameter only when you are installing a cluster into a shared VPC.

String, for example

arn:aws:iam::1234567890:role/shared-vpc-role
.

platform:
  aws:
    region:

The AWS region that the installation program creates all cluster resources in.

Any valid AWS region, such as

us-east-1
. You can use the AWS CLI to access the regions available based on your selected instance type by running the following command:

$ aws ec2 describe-instance-type-offerings --filters Name=instance-type,Values=c7g.xlarge
Important

When running on ARM based AWS instances, ensure that you enter a region where AWS Graviton processors are available. See Global availability map in the AWS documentation. Currently, AWS Graviton3 processors are only available in some regions.

platform:
  aws:
    serviceEndpoints:
      - name:
        url:

The AWS service endpoint name and URL. Custom endpoints are only required for cases where alternative AWS endpoints, such as FIPS, must be used. Custom API endpoints can be specified for EC2, S3, IAM, Elastic Load Balancing, Tagging, Route 53, and STS AWS services.

Valid AWS service endpoint name and valid AWS service endpoint URL.

platform:
  aws:
    userTags:

A map of keys and values that the installation program adds as tags to all resources that it creates.

Any valid YAML map, such as key value pairs in the

<key>: <value>
format. For more information about AWS tags, see Tagging Your Amazon EC2 Resources in the AWS documentation.

Note

You can add up to 25 user-defined tags during installation. The remaining 25 tags are reserved for OpenShift Container Platform.

platform:
  aws:
    propagateUserTags:

A flag that directs in-cluster Operators to include the specified user tags in the tags of the AWS resources that the Operators create.

Boolean values, for example

true
or
false
.

platform:
  aws:
    subnets:

If you provide the VPC instead of allowing the installation program to create the VPC for you, specify the subnet for the cluster to use. The subnet must be part of the same

machineNetwork[].cidr
ranges that you specify.

For a standard cluster, specify a public and a private subnet for each availability zone.

For a private cluster, specify a private subnet for each availability zone.

For clusters that use AWS Local Zones, you must add AWS Local Zone subnets to this list to ensure edge machine pool creation.

Valid subnet IDs.

platform:
  aws:
    preserveBootstrapIgnition:

Prevents the S3 bucket from being deleted after completion of bootstrapping.

true
or
false
. The default value is
false
, which results in the S3 bucket being deleted.

Additional RHOSP configuration parameters are described in the following table:

Expand
Table 12.5. Additional RHOSP parameters
ParameterDescriptionValues
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

30
.

compute:
  platform:
    openstack:
      rootVolume:
        types:

For compute machines, the root volume types.

A list of strings, for example, {

performance-host1
,
performance-host2
,
performance-host3
}. [1]

compute:
  platform:
    openstack:
      rootVolume:
        type:

For compute machines, the root volume’s type. This property is deprecated and is replaced by

compute.platform.openstack.rootVolume.types
.

String, for example,

performance
. [2]

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

compute.platform.openstack.zones
is defined.

A list of strings, for example

["zone-1", "zone-2"]
.

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

30
.

controlPlane:
  platform:
    openstack:
      rootVolume:
        types:

For control plane machines, the root volume types.

A list of strings, for example, {

performance-host1
,
performance-host2
,
performance-host3
}. [1]

controlPlane:
  platform:
    openstack:
      rootVolume:
        type:

For control plane machines, the root volume’s type. This property is deprecated and is replaced by

compute.platform.openstack.rootVolume.types
.

String, for example,

performance
. [2]

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

controlPlane.platform.openstack.zones
is defined.

A list of strings, for example

["zone-1", "zone-2"]
.

platform:
  openstack:
    cloud:

The name of the RHOSP cloud to use from the list of clouds in the

clouds.yaml
file.

In the cloud configuration in the

clouds.yaml
file, if possible, use application credentials rather than a user name and password combination. Using application credentials avoids disruptions from secret propogation that follow user name and password rotation.

String, for example

MyCloud
.

platform:
  openstack:
    externalNetwork:

The RHOSP external network name to be used for installation.

String, for example

external
.

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

type
key in the
platform.openstack.defaultMachinePlatform
property. You can also set a flavor value for each machine pool individually.

String, for example

m1.xlarge
.

  1. 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
    .
  2. If you have any existing reference to this property, the installer populates the corresponding value in the
    controlPlane.platform.openstack.rootVolume.types
    field.

12.1.6. Optional RHOSP configuration parameters

Optional RHOSP configuration parameters are described in the following table:

Expand
Table 12.6. Optional RHOSP parameters
ParameterDescriptionValues
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,

fa806b2f-ac49-4bce-b9db-124bc64209bf
.

compute:
  platform:
    openstack:
      additionalSecurityGroupIDs:

Additional security groups that are associated with compute machines.

A list of one or more UUIDs as strings. For example,

7ee219f3-d2e9-48a1-96c2-e7429f1b0da7
.

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.

On clusters that use Kuryr, RHOSP Octavia does not support availability zones. Load balancers and, if you are using the Amphora provider driver, OpenShift Container Platform services that rely on Amphora VMs, are not created according to the value of this property.

A list of strings. For example,

["zone-1", "zone-2"]
.

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

anti-affinity
,
soft-affinity
, and
soft-anti-affinity
. The default value is
soft-anti-affinity
.

An

affinity
policy prevents migrations and therefore affects RHOSP upgrades. The
affinity
policy is not supported.

If you use a strict

anti-affinity
policy, an additional RHOSP host is required during instance migration.

A server group policy to apply to the machine pool. For example,

soft-affinity
.

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,

fa806b2f-ac49-4bce-b9db-124bc64209bf
.

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,

7ee219f3-d2e9-48a1-96c2-e7429f1b0da7
.

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.

On clusters that use Kuryr, RHOSP Octavia does not support availability zones. Load balancers and, if you are using the Amphora provider driver, OpenShift Container Platform services that rely on Amphora VMs, are not created according to the value of this property.

A list of strings. For example,

["zone-1", "zone-2"]
.

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

anti-affinity
,
soft-affinity
, and
soft-anti-affinity
. The default value is
soft-anti-affinity
.

An

affinity
policy prevents migrations, and therefore affects RHOSP upgrades. The
affinity
policy is not supported.

If you use a strict

anti-affinity
policy, an additional RHOSP host is required during instance migration.

A server group policy to apply to the machine pool. For example,

soft-affinity
.

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.

An HTTP or HTTPS URL, optionally with an SHA-256 checksum.

For example,

http://mirror.example.com/images/rhcos-43.81.201912131630.0-openstack.x86_64.qcow2.gz?sha256=ffebbd68e8a1f2a245ca19522c16c86f67f9ac8e4e0c1f0a812b068b16f7265d
. The value can also be the name of an existing Glance image, for example
my-rhcos
.

platform:
  openstack:
    clusterOSImageProperties:

Properties to add to the installer-uploaded ClusterOSImage in Glance. This property is ignored if

platform.openstack.clusterOSImage
is set to an existing Glance image.

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

hw_scsi_model
property value to
virtio-scsi
and the
hw_disk_bus
value to
scsi
.

You can also use this property to enable the QEMU guest agent by including the

hw_qemu_guest_agent
property with a value of
yes
.

A set of string properties. For example:

clusterOSImageProperties:
    hw_scsi_model: "virtio-scsi"
    hw_disk_bus: "scsi"
    hw_qemu_guest_agent: "yes"
platform:
  openstack:
    defaultMachinePlatform:

The default machine pool platform configuration.

{
   "type": "ml.large",
   "rootVolume": {
      "size": 30,
      "type": "performance"
   }
}
platform:
  openstack:
    ingressFloatingIP:

An existing floating IP address to associate with the Ingress port. To use this property, you must also define the

platform.openstack.externalNetwork
property.

An IP address, for example

128.0.0.1
.

platform:
  openstack:
    apiFloatingIP:

An existing floating IP address to associate with the API load balancer. To use this property, you must also define the

platform.openstack.externalNetwork
property.

An IP address, for example

128.0.0.1
.

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,

["8.8.8.8", "192.168.1.12"]
.

platform:
  openstack:
    loadbalancer:

Whether or not to use the default, internal load balancer. If the value is set to

UserManaged
, this default load balancer is disabled so that you can deploy a cluster that uses an external, user-managed load balancer. If the parameter is not set, or if the value is
OpenShiftManagedDefault
, the cluster uses the default load balancer.

UserManaged
or
OpenShiftManagedDefault
.

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

networking.machineNetwork
must match the value of
machinesSubnet
.

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.

A UUID as a string. For example,

fa806b2f-ac49-4bce-b9db-124bc64209bf
.

12.1.7. Additional Google Cloud configuration parameters

Additional Google Cloud configuration parameters are described in the following table:

Expand
Table 12.7. Additional Google Cloud parameters
ParameterDescriptionValues
controlPlane:
  platform:
    gcp:
      osImage:
        project:

Optional. By default, the installation program downloads and installs the Red Hat Enterprise Linux CoreOS (RHCOS) image that is used to boot control plane machines. You can override the default behavior by specifying the location of a custom RHCOS image that the installation program is to use for control plane machines only. Control plane machines do not contribute to licensing costs when using the default image. But, if you apply a Google Cloud Marketplace image for a control plane machine, usage costs do apply.

String. The name of Google Cloud project where the image is located.

controlPlane:
  platform:
    gcp:
      osImage:
        name:

The name of the custom RHCOS image that the installation program is to use to boot control plane machines. If you use

controlPlane.platform.gcp.osImage.project
, this field is required.

String. The name of the RHCOS image.

compute:
  platform:
    gcp:
      osImage:
        project:

Optional. By default, the installation program downloads and installs the RHCOS image that is used to boot compute machines. You can override the default behavior by specifying the location of a custom RHCOS image that the installation program is to use for compute machines only.

String. The name of Google Cloud project where the image is located.

compute:
  platform:
    gcp:
      osImage:
        name:

The name of the custom RHCOS image that the installation program is to use to boot compute machines. If you use

compute.platform.gcp.osImage.project
, this field is required.

String. The name of the RHCOS image.

platform:
  gcp:
    network:

The name of the existing Virtual Private Cloud (VPC) where you want to deploy your cluster. If you want to deploy your cluster into a shared VPC, you must set

platform.gcp.networkProjectID
with the name of the Google Cloud project that contains the shared VPC.

String.

platform:
  gcp:
    networkProjectID:

Optional. The name of the Google Cloud project that contains the shared VPC where you want to deploy your cluster.

String.

platform:
  gcp:
    projectID:

The name of the Google Cloud project where the installation program installs the cluster.

String.

platform:
  gcp:
    region:

The name of the Google Cloud region that hosts your cluster.

Any valid region name, such as

us-central1
.

platform:
  gcp:
    controlPlaneSubnet:

The name of the existing subnet where you want to deploy your control plane machines.

The subnet name.

platform:
  gcp:
    computeSubnet:

The name of the existing subnet where you want to deploy your compute machines.

The subnet name.

platform:
  gcp:
    defaultMachinePlatform:
      zones:

The availability zones where the installation program creates machines.

A list of valid Google Cloud availability zones, such as

us-central1-a
, in a YAML sequence.

Important

When running your cluster on Google Cloud 64-bit ARM infrastructures, ensure that you use a zone where Ampere Altra Arm CPU’s are available. You can find which zones are compatible with 64-bit ARM processors in the "Google Cloud availability zones" link.

platform:
  gcp:
    defaultMachinePlatform:
      osDisk:
        diskSizeGB:

The size of the disk in gigabytes (GB).

Any size between 16 GB and 65536 GB.

platform:
  gcp:
    defaultMachinePlatform:
      osDisk:
        diskType:

The Google Cloud disk type.

The default disk type for all machines. Control plane nodes must use the

pd-ssd
disk type. Compute nodes can use the
pd-ssd
,
pd-balanced
, or
pd-standard
disk types.

platform:
  gcp:
    defaultMachinePlatform:
      osImage:
        project:

Optional. By default, the installation program downloads and installs the RHCOS image that is used to boot control plane and compute machines. You can override the default behavior by specifying the location of a custom RHCOS image that the installation program is to use for both types of machines.

String. The name of Google Cloud project where the image is located.

platform:
  gcp:
    defaultMachinePlatform:
      osImage:
        name:

The name of the custom RHCOS image that the installation program is to use to boot control plane and compute machines. If you use

platform.gcp.defaultMachinePlatform.osImage.project
, this field is required.

String. The name of the RHCOS image.

platform:
  gcp:
    defaultMachinePlatform:
      tags:

Optional. Additional network tags to add to the control plane and compute machines.

One or more strings, for example

network-tag1
.

platform:
  gcp:
    defaultMachinePlatform:
      type:

The Google Cloud machine type for control plane and compute machines.

The Google Cloud machine type, for example

n1-standard-4
.

platform:
  gcp:
    defaultMachinePlatform:
      osDisk:
        encryptionKey:
          kmsKey:
            name:

The name of the customer managed encryption key to be used for machine disk encryption.

The encryption key name.

platform:
  gcp:
    defaultMachinePlatform:
      osDisk:
        encryptionKey:
          kmsKey:
            keyRing:

The name of the Key Management Service (KMS) key ring to which the KMS key belongs.

The KMS key ring name.

platform:
  gcp:
    defaultMachinePlatform:
      osDisk:
        encryptionKey:
          kmsKey:
            location:

The Google Cloud location in which the KMS key ring exists.

The Google Cloud location.

platform:
  gcp:
    defaultMachinePlatform:
      osDisk:
        encryptionKey:
          kmsKey:
            projectID:

The ID of the project in which the KMS key ring exists. This value defaults to the value of the

platform.gcp.projectID
parameter if it is not set.

The Google Cloud project ID.

platform:
  gcp:
    defaultMachinePlatform:
      osDisk:
        encryptionKey:
          kmsKeyServiceAccount:

The Google Cloud service account used for the encryption request for control plane and compute machines. If absent, the Compute Engine default service account is used. For more information about Google Cloud service accounts, see Google’s documentation on service accounts.

The Google Cloud service account email, for example

<service_account_name>@<project_id>.iam.gserviceaccount.com
.

platform:
  gcp:
    defaultMachinePlatform:
      secureBoot:

Whether to enable Shielded VM secure boot for all machines in the cluster. Shielded VMs have additional security protocols such as secure boot, firmware and integrity monitoring, and rootkit protection. For more information on Shielded VMs, see Google’s documentation on Shielded VMs.

Enabled
or
Disabled
. The default value is
Disabled
.

platform:
  gcp:
    defaultMachinePlatform:
      confidentialCompute:

Whether to use Confidential VMs for all machines in the cluster. Confidential VMs provide encryption for data during processing. For more information on Confidential computing, see Google’s documentation on Confidential computing.

Enabled
or
Disabled
. The default value is
Disabled
.

platform:
  gcp:
    defaultMachinePlatform:
      onHostMaintenance:

Specifies the behavior of all VMs during a host maintenance event, such as a software or hardware update. For Confidential VMs, this parameter must be set to

Terminate
. Confidential VMs do not support live VM migration.

Terminate
or
Migrate
. The default value is
Migrate
.

controlPlane:
  platform:
    gcp:
      osDisk:
        encryptionKey:
          kmsKey:
            name:

The name of the customer managed encryption key to be used for control plane machine disk encryption.

The encryption key name.

controlPlane:
  platform:
    gcp:
      osDisk:
        encryptionKey:
          kmsKey:
            keyRing:

For control plane machines, the name of the KMS key ring to which the KMS key belongs.

The KMS key ring name.

controlPlane:
  platform:
    gcp:
      osDisk:
        encryptionKey:
          kmsKey:
            location:

For control plane machines, the Google Cloud location in which the key ring exists. For more information about KMS locations, see Google’s documentation on Cloud KMS locations.

The Google Cloud location for the key ring.

controlPlane:
  platform:
    gcp:
      osDisk:
        encryptionKey:
          kmsKey:
            projectID:

For control plane machines, the ID of the project in which the KMS key ring exists. This value defaults to the VM project ID if not set.

The Google Cloud project ID.

controlPlane:
  platform:
    gcp:
      osDisk:
        encryptionKey:
          kmsKeyServiceAccount:

The Google Cloud service account used for the encryption request for control plane machines. If absent, the Compute Engine default service account is used. For more information about Google Cloud service accounts, see Google’s documentation on service accounts.

The Google Cloud service account email, for example

<service_account_name>@<project_id>.iam.gserviceaccount.com
.

controlPlane:
  platform:
    gcp:
      osDisk:
        diskSizeGB:

The size of the disk in gigabytes (GB). This value applies to control plane machines.

Any integer between 16 and 65536.

controlPlane:
  platform:
    gcp:
      osDisk:
        diskType:

The Google Cloud disk type for control plane machines.

Control plane machines must use the

pd-ssd
disk type, which is the default.

controlPlane:
  platform:
    gcp:
      tags:

Optional. Additional network tags to add to the control plane machines. If set, this parameter overrides the

platform.gcp.defaultMachinePlatform.tags
parameter for control plane machines.

One or more strings, for example

control-plane-tag1
.

controlPlane:
  platform:
    gcp:
      type:

The Google Cloud machine type for control plane machines. If set, this parameter overrides the

platform.gcp.defaultMachinePlatform.type
parameter.

The Google Cloud machine type, for example

n1-standard-4
.

controlPlane:
  platform:
    gcp:
      zones:

The availability zones where the installation program creates control plane machines.

A list of valid Google Cloud availability zones, such as

us-central1-a
, in a YAML sequence.

Important

When running your cluster on Google Cloud 64-bit ARM infrastructures, ensure that you use a zone where Ampere Altra Arm CPU’s are available. You can find which zones are compatible with 64-bit ARM processors in the "Google Cloud availability zones" link.

controlPlane:
  platform:
    gcp:
      secureBoot:

Whether to enable Shielded VM secure boot for control plane machines. Shielded VMs have additional security protocols such as secure boot, firmware and integrity monitoring, and rootkit protection. For more information on Shielded VMs, see Google’s documentation on Shielded VMs.

Enabled
or
Disabled
. The default value is
Disabled
.

controlPlane:
  platform:
    gcp:
      confidentialCompute:

Whether to enable Confidential VMs for control plane machines. Confidential VMs provide encryption for data while it is being processed. For more information on Confidential VMs, see Google’s documentation on Confidential Computing.

Enabled
or
Disabled
. The default value is
Disabled
.

controlPlane:
  platform:
    gcp:
      onHostMaintenance:

Specifies the behavior of control plane VMs during a host maintenance event, such as a software or hardware update. For Confidential VMs, this parameter must be set to

Terminate
. Confidential VMs do not support live VM migration.

Terminate
or
Migrate
. The default value is
Migrate
.

compute:
  platform:
    gcp:
      osDisk:
        encryptionKey:
          kmsKey:
            name:

The name of the customer managed encryption key to be used for compute machine disk encryption.

The encryption key name.

compute:
  platform:
    gcp:
      osDisk:
        encryptionKey:
          kmsKey:
            keyRing:

For compute machines, the name of the KMS key ring to which the KMS key belongs.

The KMS key ring name.

compute:
  platform:
    gcp:
      osDisk:
        encryptionKey:
          kmsKey:
            location:

For compute machines, the Google Cloud location in which the key ring exists. For more information about KMS locations, see Google’s documentation on Cloud KMS locations.

The Google Cloud location for the key ring.

compute:
  platform:
    gcp:
      osDisk:
        encryptionKey:
          kmsKey:
            projectID:

For compute machines, the ID of the project in which the KMS key ring exists. This value defaults to the VM project ID if not set.

The Google Cloud project ID.

compute:
  platform:
    gcp:
      osDisk:
        encryptionKey:
          kmsKeyServiceAccount:

The Google Cloud service account used for the encryption request for compute machines. If this value is not set, the Compute Engine default service account is used. For more information about Google Cloud service accounts, see Google’s documentation on service accounts.

The Google Cloud service account email, for example

<service_account_name>@<project_id>.iam.gserviceaccount.com
.

compute:
  platform:
    gcp:
      osDisk:
        diskSizeGB:

The size of the disk in gigabytes (GB). This value applies to compute machines.

Any integer between 16 and 65536.

compute:
  platform:
    gcp:
      osDisk:
        diskType:

The Google Cloud disk type for compute machines.

pd-ssd
,
pd-standard
, or
pd-balanced
. The default is
pd-ssd
.

compute:
  platform:
    gcp:
      tags:

Optional. Additional network tags to add to the compute machines. If set, this parameter overrides the

platform.gcp.defaultMachinePlatform.tags
parameter for compute machines.

One or more strings, for example

compute-network-tag1
.

compute:
  platform:
    gcp:
      type:

The Google Cloud machine type for compute machines. If set, this parameter overrides the

platform.gcp.defaultMachinePlatform.type
parameter.

The Google Cloud machine type, for example

n1-standard-4
.

compute:
  platform:
    gcp:
      zones:

The availability zones where the installation program creates compute machines.

A list of valid Google Cloud availability zones, such as

us-central1-a
, in a YAML sequence.

Important

When running your cluster on Google Cloud 64-bit ARM infrastructures, ensure that you use a zone where Ampere Altra Arm CPU’s are available. You can find which zones are compatible with 64-bit ARM processors in the "Google Cloud availability zones" link.

compute:
  platform:
    gcp:
      secureBoot:

Whether to enable Shielded VM secure boot for compute machines. Shielded VMs have additional security protocols such as secure boot, firmware and integrity monitoring, and rootkit protection. For more information on Shielded VMs, see Google’s documentation on Shielded VMs.

Enabled
or
Disabled
. The default value is
Disabled
.

compute:
  platform:
    gcp:
      confidentialCompute:

Whether to enable Confidential VMs for compute machines. Confidential VMs provide encryption for data while it is being processed. For more information on Confidential VMs, see Google’s documentation on Confidential Computing.

Enabled
or
Disabled
. The default value is
Disabled
.

compute:
  platform:
    gcp:
      onHostMaintenance:

Specifies the behavior of compute VMs during a host maintenance event, such as a software or hardware update. For Confidential VMs, this parameter must be set to

Terminate
. Confidential VMs do not support live VM migration.

Terminate
or
Migrate
. The default value is
Migrate
.

Red Hat logoGithubredditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können. Entdecken Sie unsere neuesten Updates.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

Theme

© 2026 Red Hat
Nach oben