1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/installation-installer-provisioned-vsphere-config-yaml.adoc

156 lines
7.3 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Module included in the following assemblies:
//
// * installing/installing_vsphere/installing-vsphere-installer-provisioned-customizations.adoc
// * installing/installing_vsphere/installing-restricted-networks-installer-provisioned-vsphere.adoc
ifeval::["{context}" == "installing-vsphere-installer-provisioned-customizations"]
:customization:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-installer-provisioned-vsphere"]
:restricted:
endif::[]
:_mod-docs-content-type: CONCEPT
[id="installation-installer-provisioned-vsphere-config-yaml_{context}"]
= Sample install-config.yaml file for an installer-provisioned VMware vSphere cluster
You can customize the `install-config.yaml` file to specify more details about your {product-title} cluster's platform or change the values of the required parameters.
ifdef::restricted[]
[NOTE]
====
The sample `install-config.yaml` file shows the `clusterOSImage` parameter to specify the URL for the {op-system-first} image. As an alternative to this configuration, you can use the `topology.template` parameter to point to the path in your vCenter environment that includes an {op-system} image in Open Virtual Appliance (OVA) format.
====
endif::restricted[]
[source,yaml]
----
apiVersion: v1
baseDomain: example.com <1>
compute: <2>
- architecture: amd64
name: <worker_node>
platform: {}
replicas: 3
controlPlane: <2>
architecture: amd64
name: <parent_node>
platform: {}
replicas: 3
metadata:
creationTimestamp: null
name: test <3>
ifdef::customization[]
networking:
clusterNetwork:
- cidr: 10.128.0.0/14
hostPrefix: 23
machineNetwork:
- cidr: 10.0.0.0/16
networkType: OVNKubernetes <11>
serviceNetwork:
- 172.30.0.0/16
endif::customization[]
platform:
vsphere: <4>
apiVIPs:
- 10.0.0.1
failureDomains: <5>
- name: <failure_domain_name>
region: <default_region_name>
server: <fully_qualified_domain_name>
topology:
computeCluster: "/<data_center>/host/<cluster>"
datacenter: <data_center>
datastore: "/<data_center>/datastore/<datastore>" <6>
networks:
- <VM_Network_name>
resourcePool: "/<data_center>/host/<cluster>/Resources/<resourcePool>" <7>
folder: "/<data_center_name>/vm/<folder_name>/<subfolder_name>"
tagIDs: <8>
- <tag_id> <9>
zone: <default_zone_name>
ingressVIPs:
- 10.0.0.2
vcenters:
- datacenters:
- <data_center>
password: <password>
port: 443
server: <fully_qualified_domain_name>
user: administrator@vsphere.local
diskType: thin <10>
ifdef::restricted[]
clusterOSImage: http://mirror.example.com/images/rhcos-47.83.202103221318-0-vmware.x86_64.ova <11>
endif::restricted[]
ifndef::openshift-origin[]
fips: false
endif::openshift-origin[]
ifndef::restricted[]
pullSecret: '{"auths": ...}'
endif::restricted[]
ifdef::restricted[]
pullSecret: '{"auths":{"<local_registry>": {"auth": "<credentials>","email": "you@example.com"}}}' <12>
endif::restricted[]
sshKey: 'ssh-ed25519 AAAA...'
ifdef::restricted[]
additionalTrustBundle: | <13>
-----BEGIN CERTIFICATE-----
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
-----END CERTIFICATE-----
imageContentSources: <14>
- mirrors:
- <mirror_host_name>:<mirror_port>/<repo_name>/release
source: <source_image_1>
- mirrors:
- <mirror_host_name>:<mirror_port>/<repo_name>/release-images
source: <source_image_2>
endif::restricted[]
----
<1> The base domain of the cluster. All DNS records must be sub-domains of this base and include the cluster name.
<2> The `controlPlane` section is a single mapping, but the `compute` section is a sequence of mappings. To meet the requirements of the different data structures, the first line of the `compute` section must begin with a hyphen, `-`, and the first line of the `controlPlane` section must not. Only one control plane pool is used.
<3> The cluster name that you specified in your DNS records.
<4> Optional: Provides additional configuration for the machine pool parameters for the compute and control plane machines.
+
[IMPORTANT]
====
The VIPs, `apiVIP` and `ingressVIP`, must come from the same `networking.machineNetwork` segment. For `apiVIP` and for `ingressVIP`, if the `networking.machineNetwork` is `10.0.0.0/16` then API VIPs and Ingress VIPs must be in one of the `10.0.0.0/16` machine networks.
====
<5> Establishes the relationships between a region and zone. You define a failure domain by using vCenter objects, such as a `datastore` object. A failure domain defines the vCenter location for {product-title} cluster nodes.
<6> The path to the vSphere datastore that holds virtual machine files, templates, and ISO images.
+
[IMPORTANT]
====
You can specify the path of any datastore that exists in a datastore cluster. By default, Storage vMotion is automatically enabled for a datastore cluster. Red Hat does not support Storage vMotion, so you must disable Storage vMotion to avoid data loss issues for your {product-title} cluster.
If you must specify VMs across multiple datastores, use a `datastore` object to specify a failure domain in your cluster's `install-config.yaml` configuration file. For more information, see "VMware vSphere region and zone enablement".
====
<7> Optional: Provides an existing resource pool for machine creation. If you do not specify a value, the installation program uses the root resource pool of the vSphere cluster.
<8> Optional: Each VM created by {product-title} is assigned a unique tag that is specific to the cluster. The assigned tag enables the installation program to identify and remove the associated VMs when a cluster is decommissioned. You can list up to ten additional tag IDs to be attached to the VMs provisioned by the installation program.
<9> The ID of the tag to be associated by the installation program. For example, `urn:vmomi:InventoryServiceTag:208e713c-cae3-4b7f-918e-4051ca7d1f97:GLOBAL`. For more information about determining the tag ID, see the link:https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-E8E854DD-AA97-4E0C-8419-CE84F93C4058.html[vSphere Tags and Attributes documentation].
<10> The vSphere disk provisioning method.
ifdef::customization[]
<11> The cluster network plugin to install. The default value `OVNKubernetes` is the only supported value.
endif::customization[]
ifdef::restricted[]
<11> The location of the {op-system-first} image that is accessible from the bastion server.
<12> For `<local_registry>`, specify the registry domain name, and optionally the
port, that your mirror registry uses to serve content. For example
`registry.example.com` or `registry.example.com:5000`. For `<credentials>`,
specify the base64-encoded user name and password for your mirror registry.
<13> Provide the contents of the certificate file that you used for your mirror registry.
<14> Provide the `imageContentSources` section from the output of the command to mirror the repository.
endif::restricted[]
[NOTE]
====
In {product-title} 4.12 and later, the `apiVIP` and `ingressVIP` configuration settings are deprecated. Instead, use a list format to enter values in the `apiVIPs` and `ingressVIPs` configuration settings.
====
ifeval::["{context}" == "installing-vsphere-installer-provisioned-customizations"]
:!customization:
endif::[]
ifeval::["{context}" == "installing-restricted-networks-installer-provisioned-vsphere"]
:!restricted:
endif::[]