mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-06 06:46:26 +01:00
820 lines
33 KiB
Plaintext
820 lines
33 KiB
Plaintext
// Module included in the following assemblies:
|
|
//
|
|
// * installing/installing_aws/installing-aws-customizations.adoc
|
|
// * installing/installing_aws/installing-aws-government-region.adoc
|
|
// * installing/installing_aws/installing-aws-network-customizations.adoc
|
|
// * installing/installing_aws/installing-aws-private.adoc
|
|
// * installing/installing_aws/installing-aws-vpc.adoc
|
|
// * installing/installing_azure/installing-azure-customizations.adoc
|
|
// * installing/installing_azure/installing-azure-government-region.adoc
|
|
// * installing/installing_azure/installing-azure-network-customizations.adoc
|
|
// * installing/installing_azure/installing-azure-private.adoc
|
|
// * installing/installing_azure/installing-azure-vnet.adoc
|
|
// * installing/installing_gcp/installing-gcp-customizations.adoc
|
|
// * installing/installing_gcp/installing-gcp-private.adoc
|
|
// * installing/installing_gcp/installing-gcp-network-customizations.adoc
|
|
// * installing/installing_gcp/installing-gcp-vpc.adoc
|
|
// * installing/installing_openstack/installing-openstack-installer-custom.adoc
|
|
// * installing/installing_openstack/installing-openstack-installer-kuryr.adoc
|
|
// * installing/installing_openstack/installing-openstack-user.adoc
|
|
// * installing/installing_openstack/installing-openstack-user-kuryr.adoc
|
|
// * installing/installing_rhv/installing-rhv-custom.adoc
|
|
// * installing/installing_vsphere/installing-vsphere-installer-provisioned-customizations.adoc
|
|
|
|
ifeval::["{context}" == "installing-aws-customizations"]
|
|
:aws:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-aws-government-region"]
|
|
:aws:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-aws-network-customizations"]
|
|
:aws:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-aws-private"]
|
|
:aws:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-aws-vpc"]
|
|
:aws:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-azure-customizations"]
|
|
:azure:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-azure-government-region"]
|
|
:azure:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-azure-network-customizations"]
|
|
:azure:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-azure-private"]
|
|
:azure:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-azure-vnet"]
|
|
:azure:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-gcp-customizations"]
|
|
:gcp:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-gcp-private"]
|
|
:gcp:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-gcp-network-customizations"]
|
|
:gcp:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-gcp-vpc"]
|
|
:gcp:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-aws-customizations"]
|
|
:aws:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-openstack-installer-custom"]
|
|
:osp:
|
|
:osp-custom:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-openstack-installer-kuryr"]
|
|
:osp:
|
|
:osp-kuryr:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-openstack-user"]
|
|
:osp:
|
|
:osp-custom:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-openstack-user-kuryr"]
|
|
:osp:
|
|
:osp-kuryr:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-rhv-customizations"]
|
|
:rhv:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-vsphere-installer-provisioned-customizations"]
|
|
:vsphere:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-openstack-installer-restricted"]
|
|
:osp:
|
|
:osp-custom:
|
|
endif::[]
|
|
|
|
|
|
[id="installation-configuration-parameters_{context}"]
|
|
= Installation configuration parameters
|
|
|
|
Before you deploy an {product-title} cluster, you provide parameter values to describe your account on the cloud platform that hosts your cluster and optionally customize your cluster's platform. When you create the `install-config.yaml` installation configuration file, you provide values for the required parameters through the command line. If you customize your cluster, you can modify the `install-config.yaml` file to provide more details about the platform.
|
|
|
|
[NOTE]
|
|
====
|
|
After installation, you cannot modify these parameters in the `install-config.yaml` file.
|
|
====
|
|
|
|
.Required parameters
|
|
[cols=".^2,.^3,.^5a",options="header"]
|
|
|====
|
|
|Parameter|Description|Values
|
|
|
|
|`apiVersion`
|
|
|The API version for the install-config.yaml content. The current version is `v1`. The installer may also support older API versions.
|
|
|String
|
|
|
|
|`baseDomain`
|
|
|The base domain of your cloud provider. The base domain is used to create routes to your {product-title} 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`.
|
|
ifdef::osp[]
|
|
The string must be 14 characters or fewer long.
|
|
endif::osp[]
|
|
|
|
|`platform`
|
|
|The configuration for the specific platform upon which to perform the installation: `aws`, `baremetal`, `azure`, `openstack`, `ovirt`, `vsphere`. For additional information about `platform.<platform>` parameters, consult the following table for your specific platform.
|
|
|Object
|
|
|
|
ifndef::openshift-origin[]
|
|
|`pullSecret`
|
|
|Get this pull secret from link:https://cloud.redhat.com/openshift/install/pull-secret[] to authenticate downloading container images for {product-title} components from services such as Quay.io.
|
|
|
|
|
[source,json]
|
|
----
|
|
{
|
|
"auths":{
|
|
"cloud.openshift.com":{
|
|
"auth":"b3Blb=",
|
|
"email":"you@example.com"
|
|
},
|
|
"quay.io":{
|
|
"auth":"b3Blb=",
|
|
"email":"you@example.com"
|
|
}
|
|
}
|
|
}
|
|
----
|
|
endif::[]
|
|
|
|
|====
|
|
|
|
.Optional parameters
|
|
[cols=".^2,.^3a,.^3a",options="header"]
|
|
|====
|
|
|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
|
|
|
|
|`compute`
|
|
|The configuration for the machines that comprise the compute nodes.
|
|
|Array of machine-pool objects. For details, see the following "Machine-pool" table.
|
|
|
|
|`compute.architecture`
|
|
|Determines the instruction set architecture of the machines in the pool. Currently, heteregeneous clusters are not supported, so all pools must specify the same architecture. Valid values are `amd64` (the default).
|
|
|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.
|
|
|`aws`, `azure`, `gcp`, `openstack`, `ovirt`, `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`.
|
|
|
|
|`controlPlane`
|
|
|The configuration for the machines that comprise the control plane.
|
|
|Array of machine-pool objects. For details, see the following "Machine-pool" table.
|
|
|
|
|`controlPlane.architecture`
|
|
|Determines the instruction set architecture of the machines in the pool. Currently, heteregeneous clusters are not supported, so all pools must specify the same architecture. Valid values are `amd64` (the default).
|
|
|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.
|
|
|`aws`, `azure`, `gcp`, `openstack`, `ovirt`, `vsphere`, or `{}`
|
|
|
|
|`controlPlane.replicas`
|
|
|The number of control plane machines to provision.
|
|
|A positive integer greater than or equal to `3`. The default value is `3`.
|
|
|
|
|`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 on CCO modes, see the _Cloud Credential Operator_ entry in the _Red Hat Operators reference_ content.
|
|
====
|
|
|`Mint`, `Passthrough`, `Manual`, or an empty string (`""`).
|
|
|
|
|`fips`
|
|
|Enable or disable FIPS mode. The default is `false` (disabled). If FIPS mode is enabled, the {op-system-first} machines that {product-title} runs on bypass the default Kubernetes cryptography suite and use the cryptography modules that are provided with {op-system} instead.
|
|
|`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 may also contain the same images.
|
|
|Array of strings
|
|
|
|
|`networking`
|
|
|The configuration for the Pod network provider in the cluster.
|
|
|Object
|
|
|
|
|`networking.clusterNetwork`
|
|
|The IP address pools for pods. The default is `10.128.0.0/14` with a host prefix of `/23`.
|
|
|Array of objects
|
|
|
|
|`networking.clusterNetwork.cidr`
|
|
|Required if you use `networking.clusterNetwork`. The IP block address pool.
|
|
|IP network. IP networks are represented as strings using Classless Inter-Domain Routing (CIDR) notation with a traditional IP address or network number, followed by the forward slash (/) character, followed by a decimal value between 0 and 32 that describes the number of significant bits. For example, `10.0.0.0/16` represents IP addresses `10.0.0.0` through `10.0.255.255`.
|
|
|
|
|`networking.clusterNetwork.hostPrefix`
|
|
|Required if you use `networking.clusterNetwork`. The prefix size to allocate to each node from the CIDR. For example, 24 would allocate 2^8=256 adresses to each node.
|
|
|Integer
|
|
|
|
|`networking.machineNetwork`
|
|
|The IP address pools for machines.
|
|
|Array of objects
|
|
|
|
|`networking.machineNetwork.cidr`
|
|
|Required if you use `networking.machineNetwork`. The IP block address pool. The default is `10.0.0.0/16` for all platforms other than libvirt. For libvirt, the default is `192.168.126.0/24`.
|
|
|IP network. IP networks are represented as strings using Classless Inter-Domain Routing (CIDR) notation with a traditional IP address or network number, followed by the forward slash (/) character, followed by a decimal value between 0 and 32 that describes the number of significant bits. For example, `10.0.0.0/16` represents IP addresses `10.0.0.0` through `10.0.255.255`.
|
|
|
|
|`networking.networkType`
|
|
|The type of network to install. The default is `OpenShiftSDN`.
|
|
|String
|
|
|
|
|`networking.serviceNetwork`
|
|
|The IP address pools for services. The default is 172.30.0.0/16.
|
|
|Array of IP networks. IP networks are represented as strings using Classless Inter-Domain Routing (CIDR) notation with a traditional IP address or network number, followed by the forward slash (/) character, followed by a decimal value between 0 and 32 that describes the number of significant bits. For example, `10.0.0.0/16` represents IP addresses `10.0.0.0` through `10.0.255.255`.
|
|
|
|
|`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 or keys to authenticate access your cluster machines.
|
|
[NOTE]
|
|
====
|
|
For production {product-title} clusters on which you want to perform installation debugging or disaster recovery, specify an SSH key that your `ssh-agent` process uses.
|
|
====
|
|
a|One or more keys. For example:
|
|
```
|
|
sshKey:
|
|
<key1>
|
|
<key2>
|
|
<key3>
|
|
```
|
|
|====
|
|
|
|
|
|
ifdef::aws[]
|
|
.Optional AWS parameters
|
|
[cols=".^2,.^3,.^5a",options="header"]
|
|
|====
|
|
|Parameter|Description|Values
|
|
|
|
|`compute.platform.aws.amiID`
|
|
|The AWS AMI used to boot compute machines for the cluster. This is required for regions that require a custom {op-system} AMI.
|
|
|Any published or custom {op-system} AMI that belongs to the set AWS region.
|
|
|
|
|`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 instance type of the root volume.
|
|
|Valid link:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html[AWS EBS instance type],
|
|
such as `io1`.
|
|
|
|
|`compute.platform.aws.type`
|
|
|The EC2 instance type for the compute machines.
|
|
|Valid link:https://aws.amazon.com/ec2/instance-types/[AWS instance type], such as `c5.9xlarge`.
|
|
|
|
|`compute.platform.aws.zones`
|
|
|The availability zones where the installation program creates machines for the compute MachinePool. 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
|
|
link:https://yaml.org/spec/1.2/spec.html#sequence//[YAML sequence].
|
|
|
|
|`compute.aws.region`
|
|
|The AWS region that the installation program creates compute resources in.
|
|
|Any valid link:https://docs.aws.amazon.com/general/latest/gr/rande.html[AWS region], such as `us-east-1`.
|
|
|
|
|`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 {op-system} AMI.
|
|
|Any published or custom {op-system} AMI that belongs to the set AWS region.
|
|
|
|
|`controlPlane.platform.aws.type`
|
|
|The EC2 instance type for the control plane machines.
|
|
|Valid link:https://aws.amazon.com/ec2/instance-types/[AWS instance type], such as `c5.9xlarge`.
|
|
|
|
|`controlPlane.platform.aws.zones`
|
|
|The availability zones where the installation program creates machines for the
|
|
control plane MachinePool.
|
|
|A list of valid AWS availability zones, such as `us-east-1c`, in a link:https://yaml.org/spec/1.2/spec.html#sequence//[YAML sequence].
|
|
|
|
|`controlPlane.aws.region`
|
|
|The AWS region that the installation program creates control plane resources in.
|
|
|Valid link:https://docs.aws.amazon.com/general/latest/gr/rande.html[AWS region], such as `us-east-1`.
|
|
|
|
|`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 {op-system} AMI.
|
|
|Any published or custom {op-system} AMI that belongs to the set AWS region.
|
|
|
|
|`platform.aws.serviceEndpoints.name`
|
|
|The AWS service endpoint name. Custom endpoints are only required for cases
|
|
where alternative AWS endpoints, like 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 link:https://docs.aws.amazon.com/general/latest/gr/rande.html[AWS service endpoint] name.
|
|
|
|
|`platform.aws.serviceEndpoints.url`
|
|
|The AWS service endpoint URL. The URL must use the `https` protocol and the
|
|
host must trust the certificate.
|
|
|Valid link:https://docs.aws.amazon.com/general/latest/gr/rande.html[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 link:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html[Tagging Your Amazon EC2 Resources] in the AWS documentation.
|
|
|
|
|`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.
|
|
|Valid subnet IDs.
|
|
|
|
|====
|
|
endif::aws[]
|
|
|
|
ifdef::osp[]
|
|
.Additional {rh-openstack-first} parameters
|
|
[cols=".^2m,.^3a,^5a",options="header"]
|
|
|====
|
|
|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 `30`.
|
|
|
|
|`compute.platform.openstack.rootVolume.type`
|
|
|For compute machines, the root volume's type.
|
|
|String, for example `performance`.
|
|
|
|
|`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.type`
|
|
|For control plane machines, the root volume's type.
|
|
|String, for example `performance`.
|
|
|
|
|`platform.openstack.cloud`
|
|
|The name of the {rh-openstack} cloud to use from the list of clouds in the
|
|
`clouds.yaml` file.
|
|
|String, for example `MyCloud`.
|
|
|
|
|`platform.openstack.externalNetwork`
|
|
|The {rh-openstack} external network name to be used for installation.
|
|
|String, for example `external`.
|
|
|
|
|`platform.openstack.computeFlavor`
|
|
|The {rh-openstack} flavor to use for control plane and compute machines.
|
|
|String, for example `m1.xlarge`.
|
|
|====
|
|
|
|
.Optional {rh-openstack} parameters
|
|
[%header, cols=".^2,.^3,.^5a"]
|
|
|====
|
|
|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, `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`
|
|
|{rh-openstack} Compute (Nova) availability zones (AZs) to install machines on. If this parameter is not set, the installer relies on the default settings for Nova that the {rh-openstack} administrator configured.
|
|
|
|
On clusters that use Kuryr, {rh-openstack} Octavia does not support availability zones. Load balancers and, if you are using the Amphora provider driver, {product-title} 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.additionalNetworkIDs`
|
|
|Additional networks that are associated with control plane 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`.
|
|
|
|
|`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`
|
|
|{rh-openstack} Compute (Nova) availability zones (AZs) to install machines on. If this parameter is not set, the installer relies on the default settings for Nova that the {rh-openstack} administrator configured.
|
|
|
|
On clusters that use Kuryr, {rh-openstack} Octavia does not support availability zones. Load balancers and, if you are using the Amphora provider driver, {product-title} 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"]`.
|
|
|
|
|`platform.openstack.clusterOSImage`
|
|
|The location from which the installer downloads the {op-system} 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.defaultMachinePlatform`
|
|
|The default machine pool platform configuration.
|
|
|
|
|
[source,json]
|
|
----
|
|
{
|
|
"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.lbFloatingIP`
|
|
|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.machinesSubnet`
|
|
|The UUID of a {rh-openstack} 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 {product-title} installer. Instead, link:https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.0/html/command_line_interface_reference/subnet[add DNS to the subnet in {rh-openstack}].
|
|
|
|
|A UUID as a string. For example, `fa806b2f-ac49-4bce-b9db-124bc64209bf`.
|
|
|====
|
|
endif::osp[]
|
|
|
|
ifdef::azure[]
|
|
.Additional Azure parameters
|
|
[cols=".^2,.^3a,.^3a",options="header"]
|
|
|====
|
|
|Parameter|Description|Values
|
|
|
|
|`machines.platform.azure.type`
|
|
|The Azure VM instance type.
|
|
|VMs that use Windows or Linux as the operating system. See the
|
|
link:https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-supported-os?view=azs-1908[Guest operating systems supported on Azure Stack]
|
|
in the Azure documentation.
|
|
|
|
|`machines.platform.azure.osDisk.diskSizeGB`
|
|
|The Azure disk size for the VM.
|
|
|Integer that represents the size of the disk in GB, for example `512`. The
|
|
minimum supported disk size is `120`.
|
|
|
|
|`platform.azure.baseDomainResourceGroupName`
|
|
|The name of the resource group that contains the DNS zone for your base domain.
|
|
|String, for example `production_cluster`.
|
|
|
|
|`platform.azure.outboundType`
|
|
|The outbound routing strategy used to connect your cluster to the internet. If
|
|
you are using user-defined routing, you must have pre-existing networking
|
|
available where the outbound routing has already been configured prior to
|
|
installing a cluster. The installation program is not responsible for
|
|
configuring user-defined routing.
|
|
|`LoadBalancer` or `UserDefinedRouting`. The default is `LoadBalancer`.
|
|
|
|
|`platform.azure.region`
|
|
|The name of the Azure region that hosts your cluster.
|
|
|Any valid region name, such as `centralus`.
|
|
|
|
|`platform.azure.zone`
|
|
|List of availability zones to place machines in. For high availability, specify
|
|
at least two zones.
|
|
|List of zones, for example `["1", "2", "3"]`.
|
|
|
|
|`platform.azure.networkResourceGroupName`
|
|
|The name of the resource group that contains the existing VNet that you want to deploy your cluster to. This name cannot be the same as the `platform.azure.baseDomainResourceGroupName`.
|
|
|String.
|
|
|
|
|`platform.azure.virtualNetwork`
|
|
|The name of the existing VNet that you want to deploy your cluster to.
|
|
|String.
|
|
|
|
|`platform.azure.controlPlaneSubnet`
|
|
|The name of the existing subnet in your VNet that you want to deploy your control plane machines to.
|
|
|Valid CIDR, for example `10.0.0.0/16`.
|
|
|
|
|`platform.azure.computeSubnet`
|
|
|The name of the existing subnet in your VNet that you want to deploy your compute machines to.
|
|
|Valid CIDR, for example `10.0.0.0/16`.
|
|
|
|
|`platform.azure.cloudName`
|
|
|The name of the Azure cloud environment that is used to configure the Azure SDK with the appropriate Azure API endpoints. If empty, the default value `AzurePublicCloud` is used.
|
|
|Any valid cloud environment, such as `AzurePublicCloud` or `AzureUSGovernmentCloud`.
|
|
|
|
|====
|
|
|
|
[NOTE]
|
|
====
|
|
You cannot customize
|
|
link:https://azure.microsoft.com/en-us/global-infrastructure/availability-zones/[Azure Availability Zones]
|
|
or
|
|
link:https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-using-tags[Use tags to organize your Azure resources]
|
|
with an Azure cluster.
|
|
====
|
|
endif::azure[]
|
|
|
|
|
|
ifdef::gcp[]
|
|
.Additional Google Cloud Platform (GCP) parameters
|
|
[cols=".^2,.^3a,.^3a",options="header"]
|
|
|====
|
|
|Parameter|Description|Values
|
|
|
|
|`platform.gcp.network`
|
|
|The name of the existing VPC that you want to deploy your cluster to.
|
|
|String.
|
|
|
|
|`platform.gcp.type`
|
|
|The link:https://cloud.google.com/compute/docs/machine-types[GCP machine type].
|
|
|The GCP machine type.
|
|
|
|
|`platform.gcp.zones`
|
|
|The availability zones where the installation program creates machines for the specified MachinePool.
|
|
|A list of valid link:https://cloud.google.com/compute/docs/regions-zones#available[GCP availability zones], such as `us-central1-a`, in a
|
|
link:https://yaml.org/spec/1.2/spec.html#sequence//[YAML sequence].
|
|
|
|
|`platform.gcp.controlPlaneSubnet`
|
|
|The name of the existing subnet in your VPC that you want to deploy your control plane machines to.
|
|
|The subnet name.
|
|
|
|
|`platform.gcp.computeSubnet`
|
|
|The name of the existing subnet in your VPC that you want to deploy your compute machines to.
|
|
|The subnet name.
|
|
|====
|
|
|
|
endif::gcp[]
|
|
|
|
ifdef::rhv[]
|
|
|
|
.Additional {rh-virtualization-first} parameters for clusters
|
|
[cols=".^2,.^3a,.^3a",options="header"]
|
|
|====
|
|
|Parameter|Description|Values
|
|
|
|
|`platform.ovirt.ovirt_cluster_id`
|
|
|Required. The Cluster where the VMs will be created.
|
|
|String. For example: `68833f9f-e89c-4891-b768-e2ba0815b76b`
|
|
|
|
|`platform.ovirt.ovirt_storage_domain_id`
|
|
|Required. The Storage Domain ID where the VM disks will be created.
|
|
|String. For example: `ed7b0f4e-0e96-492a-8fff-279213ee1468`
|
|
|
|
|`platform.ovirt.ovirt_network_name`
|
|
|Required. The network name where the VM nics will be created.
|
|
|String. For example: `ocpcluster`
|
|
|
|
|`platform.ovirt.vnicProfileID`
|
|
|Required. The vNIC profile ID of the VM network interfaces. This can be inferred if the cluster network has a single profile.
|
|
|String. For example: `3fa86930-0be5-4052-b667-b79f0a729692`
|
|
|
|
|`platform.ovirt.api_vip`
|
|
|Required. An IP address on the machineNetwork that will be assigned to the API virtual IP (VIP). You can access the OpenShift API at this endpoint.
|
|
|String. Example: `10.46.8.230`
|
|
|
|
|`platform.ovirt.ingress_vip`
|
|
|Required. An IP address on the machineNetwork that will be assigned to the Ingress virtual IP (VIP).
|
|
|String. Example: `10.46.8.232`
|
|
|====
|
|
|
|
|
|
.Additional {rh-virtualization} parameters for machine pools
|
|
[cols=".^2,.^3a,.^3a",options="header"]
|
|
|====
|
|
|Parameter|Description|Values
|
|
|
|
|`<machine-pool>.platform.ovirt.cpu`
|
|
|Optional. Defines the CPU of the VM.
|
|
|Object
|
|
|
|
|`<machine-pool>.platform.ovirt.cpu.cores`
|
|
|Required if you use `<machine-pool>.platform.ovirt.cpu`. The number of cores. Total virtual CPUs (vCPUs) is cores * sockets.
|
|
|Integer
|
|
|
|
|`<machine-pool>.platform.ovirt.cpu.sockets`
|
|
|Required if you use `<machine-pool>.platform.ovirt.cpu`. The number of sockets per core. Total virtual CPUs (vCPUs) is cores * sockets.
|
|
|Integer
|
|
|
|
|`<machine-pool>.platform.ovirt.memoryMB`
|
|
|Optional. Memory of the VM in MiB.
|
|
|Integer
|
|
|
|
|`<machine-pool>.platform.ovirt.instanceTypeID`
|
|
|Optional. An instance type UUID, such as `00000009-0009-0009-0009-0000000000f1`, which you can get from the `https://<engine-fqdn>/ovirt-engine/api/instancetypes` endpoint.
|
|
|String of UUID
|
|
|
|
|`<machine-pool>.platform.ovirt.osDisk`
|
|
|Optional. Defines the first and bootable disk of the VM.
|
|
|String
|
|
|
|
|`<machine-pool>.platform.ovirt.osDisk.sizeGB`
|
|
|Required if you use `<machine-pool>.platform.ovirt.osDisk`. Size of the disk in GiB.
|
|
|Number
|
|
|
|
|`<machine-pool>.platform.ovirt.vmType`
|
|
|Optional. The VM workload type, such as `high-performance`, `server`, or `desktop`.
|
|
|String
|
|
|====
|
|
|
|
[NOTE]
|
|
====
|
|
You can replace `<machine-pool>` with `controlPlane` or `compute`.
|
|
====
|
|
|
|
endif::rhv[]
|
|
|
|
ifdef::vsphere[]
|
|
.Additional VMware vSphere cluster parameters
|
|
[cols=".^2,.^3a,.^3a",options="header"]
|
|
|====
|
|
|Parameter|Description|Values
|
|
|
|
|`platform.vsphere.vCenter`
|
|
|The fully-qualified host name or IP address of the vCenter server.
|
|
|String
|
|
|
|
|`platform.vsphere.username`
|
|
|The user name to use to connect to the vCenter instance with. This user must have at least
|
|
the roles and privileges that are required for
|
|
link:https://vmware.github.io/vsphere-storage-for-kubernetes/documentation/vcp-roles.html[static or dynamic persistent volume provisioning]
|
|
in vSphere.
|
|
|String.
|
|
|
|
|`platform.vsphere.password`
|
|
|The password for the vCenter user name.
|
|
|String.
|
|
|
|
|`platform.vsphere.datacenter`
|
|
|The name of the datacenter to use in the vCenter instance.
|
|
|String.
|
|
|
|
|`platform.vsphere.defaultDatastore`
|
|
|The name of the default datastore to use for provisioning volumes.
|
|
|String.
|
|
|
|
|`platform.vsphere.folder`
|
|
|_Optional_. The absolute path of an existing folder where the installation program creates the virtual machines. If you do not provide this value, the installation program creates a folder that is named with the infrastructure ID in the datacenter virtual machine folder.
|
|
|String, for example, `/<datacenter_name>/vm/<folder_name>/<subfolder_name>`.
|
|
|
|
|`platform.vsphere.network`
|
|
|The network in the vCenter instance that contains the virtual IP addresses and DNS records that you configured.
|
|
|String.
|
|
|
|
|`platform.vsphere.cluster`
|
|
|The vCenter cluster to install the {product-title} cluster in.
|
|
|String.
|
|
|
|
|`platform.vsphere.apiVIP`
|
|
|The virtual IP (VIP) address that you configured for control plane API access.
|
|
|An IP address, for example `128.0.0.1`.
|
|
|
|
|`platform.vsphere.ingressVIP`
|
|
|The virtual IP (VIP) address that you configured for cluster ingress.
|
|
|An IP address, for example `128.0.0.1`.
|
|
|====
|
|
|
|
.Optional VMware vSphere machine pool parameters
|
|
[cols=".^2,.^3a,.^3a",options="header"]
|
|
|====
|
|
|Parameter|Description|Values
|
|
|
|
|`platform.vsphere.osDisk.diskSizeGB`
|
|
|The size of the disk in gigabytes.
|
|
|Integer.
|
|
|
|
|`platform.vsphere.cpus`
|
|
|The total number of virtual processor cores to assign a virtual machine.
|
|
|Integer.
|
|
|
|
|`platform.vsphere.coresPerSocket`
|
|
|The number of cores per socket in a virtual machine. The number of virtual CPUs (vCPUs) on the virtual machine is `platform.vsphere.cpus`/`platform.vsphere.coresPerSocket`. The default value is `1`
|
|
|Integer.
|
|
|
|
|`platform.vsphere.memoryMB`
|
|
|The size of a virtual machine's memory in megabytes..
|
|
|Integer.
|
|
|====
|
|
|
|
endif::vsphere[]
|
|
|
|
ifeval::["{context}" == "installing-aws-customizations"]
|
|
:!aws:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-aws-government-region"]
|
|
:!aws:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-aws-network-customizations"]
|
|
:!aws:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-aws-private"]
|
|
:!aws:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-aws-vpc"]
|
|
:!aws:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-azure-customizations"]
|
|
:!azure:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-azure-government-region"]
|
|
:!azure:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-azure-network-customizations"]
|
|
:!azure:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-azure-private"]
|
|
:!azure:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-azure-vnet"]
|
|
:!azure:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-gcp-customizations"]
|
|
:!gcp:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-gcp-private"]
|
|
:!gcp:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-gcp-network-customizations"]
|
|
:!gcp:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-gcp-vpc"]
|
|
:!gcp:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-aws-customizations"]
|
|
:!aws:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-openstack-installer-custom"]
|
|
:!osp:
|
|
:!osp-custom:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-openstack-installer-kuryr"]
|
|
:!osp:
|
|
:!osp-kuryr:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-openstack-user"]
|
|
:!osp:
|
|
:!osp-custom:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-openstack-user-kuryr"]
|
|
:!osp:
|
|
:!osp-kuryr:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-rhv-customizations"]
|
|
:!rhv:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-vsphere-installer-provisioned-customizations"]
|
|
:!vsphere:
|
|
endif::[]
|
|
ifeval::["{context}" == "installing-openstack-installer-restricted"]
|
|
:!osp:
|
|
:!osp-custom:
|
|
endif::[]
|