mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 12:46:18 +01:00
156 lines
7.3 KiB
Plaintext
156 lines
7.3 KiB
Plaintext
// 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::[]
|