Skip to content

Commit 1a548d3

Browse files
authored
Merge pull request #55531 from dfitzmau/OSDOCS-5192-SPLAT
2 parents 40e012b + 814a9b5 commit 1a548d3

5 files changed

+208
-0
lines changed

_topic_maps/_topic_map.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -566,6 +566,8 @@ Topics:
566566
Distros: openshift-origin,openshift-enterprise
567567
- Name: Configuring additional devices in an IBM zSystems or IBM LinuxONE environment
568568
File: ibmz-post-install
569+
- Name: Regions and zones for a VMware vCenter
570+
File: post-install-vsphere-zones-regions-configuration
569571
- Name: Red Hat Enterprise Linux CoreOS image layering
570572
File: coreos-layering
571573
Distros: openshift-enterprise
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Module included in the following assemblies:
2+
// * post_installation_configuration/post-install-vsphere-zones-regions-configuration.adoc
3+
4+
:_content-type: REFERENCE
5+
[id="references-regions-zones-infrastructure-vsphere_{context}"]
6+
= Parameters for the cluster-wide infrastructure CRD
7+
8+
You must set values for specific parameters in the cluster-wide infrastructure, `infrastructures.config.openshift.io`, Custom Resource Definition (CRD) to define multiple regions and zones for your {product-title} cluster that runs on a VMware vSphere instance.
9+
10+
The following table lists mandatory parameters for defining multiple regions and zones for your {product-title} cluster:
11+
12+
[cols="1,2",options="header"]
13+
|===
14+
|Parameter | Description
15+
16+
|`vcenters` | The vCenter server for your {product-title} cluster. You can only specify one vCenter for your cluster.
17+
|`datacenters` | vCenter datacenters where VMs associated with the {product-title} cluster will be created or presently exist.
18+
|`port` | The TCP port of the vCenter server.
19+
|`server` | The fully qualified domain name (FQDN) of the vCenter server.
20+
|`failureDomains`| The list of failure domains.
21+
|`name` | The name of the failure domain.
22+
|`region` | The value of the `openshift-region` tag assigned to the topology for the failure failure domain.
23+
|`zone` | The value of the `openshift-zone` tag assigned to the topology for the failure failure domain.
24+
|`topology`| The vCenter reources associated with the failure domain.
25+
|`datacenter` | The datacenter associated with the failure domain.
26+
|`computeCluster` | The full path of the compute cluster associated with the failure domain.
27+
|`resourcePool` | The full path of the resource pool associated with the failure domain.
28+
|`datastore` | The full path of the datastore associated with the failure domain.
29+
|`networks` | A list of port groups associated with the failure domain. Only one portgroup may be defined.
30+
|===
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
// Module included in the following assemblies:
2+
// * post_installation_configuration/sphere-failure-domain-configuration.adoc
3+
4+
:_content-type: PROCEDURE
5+
[id="specifying-regions-zones-infrastructure-vsphere_{context}"]
6+
= Specifying multiple regions and zones for your cluster on vSphere
7+
8+
You can configure the `infrastructures.config.openshift.io` configuration resource to specify multiple regions and zones for your {product-title} cluster that runs on a VMware vSphere instance.
9+
10+
Topology-aware features for the cloud controller manager and the vSphere Container Storage Interface (CSI) Operator Driver require information about the vSphere topology where you host your {product-title} cluster. This topology information exists in the `infrastructures.config.openshift.io` configuration resource.
11+
12+
Before you specify regions and zones for your cluster, you must ensure that all datacenters and compute clusters contain tags, so that the cloud provider can add labels to your node. For example, if `datacenter-1` represents `region-a` and `compute-cluster-1` represents `zone-1`, the cloud provider adds an `openshift-region` category label with a value of `region-a` to `datacenter-1`. Additionally, the cloud provider adds an `openshift-zone` category tag with a value of `zone-1` to `compute-cluster-1`.
13+
14+
[NOTE]
15+
====
16+
You can migrate control plane nodes with vMotion capabilities to a failure domain. After you add these nodes to a failure domain, the cloud provider adds `topology.kubernetes.io/zone` and `topology.kubernetes.io/region` labels to these nodes.
17+
====
18+
19+
.Prerequisites
20+
* You created the `openshift-region` and `openshift-zone` tag categories on the vCenter server.
21+
* You ensured that each datacenter and compute cluster contains tags that represent the name of their associated region or zone, or both.
22+
* Optional: If you defined *API* and *Ingress* static IP addresses to the installation program, you must ensure that all regions and zones share a common layer 2 network. This configuration ensures that API and Ingress Virtual IP (VIP) addresses can interact with your cluster.
23+
24+
// Add link(s) that points to Day-0 docs for creating tags as soon as the Day-0 content is merged.
25+
26+
[IMPORTANT]
27+
====
28+
If you do not supply tags to all datacenters and compute clusters before you create a node or migrate a node, the cloud provider cannot add the `topology.kubernetes.io/zone` and `topology.kubernetes.io/region` labels to the node. This means that services cannot route traffic to your node.
29+
====
30+
31+
.Procedure
32+
33+
. Edit the `infrastructures.config.openshift.io` custom resource definition (CRD) of your cluster to specify multiple regions and zones in the `failureDomains` section of the resource by running the following command:
34+
+
35+
[source,terminal]
36+
----
37+
$ oc edit infrastructures.config.openshift.io cluster
38+
----
39+
+
40+
.Example `infrastructures.config.openshift.io` CRD for a instance named `cluster` with multiple regions and zones defined in its configuration
41+
+
42+
[source,yaml]
43+
----
44+
spec:
45+
cloudConfig:
46+
key: config
47+
name: cloud-provider-config
48+
platformSpec:
49+
type: vSphere
50+
vsphere:
51+
vcenters:
52+
- datacenters:
53+
- <region_a_datacenter>
54+
- <region_b_datacenter>
55+
port: 443
56+
server: <your_vcenter_server>
57+
failureDomains:
58+
- name: <failure_domain_1>
59+
region: <region_a>
60+
zone: <zone_a>
61+
server: <your_vcenter_server>
62+
topology:
63+
datacenter: <region_a_dc>
64+
computeCluster: "</region_a_dc/host/zone_a_cluster>"
65+
resourcePool: "</region_a_dc/host/zone_a_cluster/Resources/resource_pool>"
66+
datastore: "</region_a_dc/datastore/datastore_a>"
67+
networks:
68+
- port-group
69+
- name: <failure_domain_2>
70+
region: <region_a>
71+
zone: <zone_b>
72+
server: <your_vcenter_server>
73+
topology:
74+
computeCluster: </region_a_dc/host/zone_b_cluster>
75+
datacenter: <region_a_dc>
76+
datastore: </region_a_dc/datastore/datastore_a>
77+
networks:
78+
- port-group
79+
- name: <failure_domain_3>
80+
region: <region_b>
81+
zone: <zone_a>
82+
server: <your_vcenter_server>
83+
topology:
84+
computeCluster: </region_b_dc/host/zone_a_cluster>
85+
datacenter: <region_b_dc>
86+
datastore: </region_b_dc/datastore/datastore_b>
87+
networks:
88+
- port-group
89+
nodeNetworking:
90+
external: {}
91+
internal: {}
92+
----
93+
+
94+
[IMPORTANT]
95+
====
96+
After you create a failure domain and you define it in a CRD for a VMware vSphere cluster, you must not modify or delete the failure domain. Doing any of these actions with this configuration can impact the availability and fault tolerance of a control plane machine.
97+
====
98+
99+
. Save the resource file to apply the changes.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Module included in the following assemblies:
2+
// * post_installation_configuration/post-install-vsphere-zones-regions-configuration.adoc
3+
4+
:_content-type: PROCEDURE
5+
[id="vsphere-enabling-multiple-layer2-network_{context}"]
6+
= Enabling a multiple layer 2 network for your cluster
7+
8+
You can configure your cluster to use a multiple layer 2 network configuration so that data transfer among nodes can span across multiple networks.
9+
10+
.Prerequisites
11+
* You configured network connectivity among machines so that cluster components can communicate with each other.
12+
13+
.Procedure
14+
* If you installed your cluster with installer-provisioned infrastructure, you must ensure that all control plane nodes share a common layer 2 network. Additionally, ensure compute nodes that are configured for Ingress pod scheduling share a common layer 2 network.
15+
16+
** If you need compute nodes to span multiple layer 2 networks, you can create infrastructure nodes that can host Ingress pods.
17+
** If you need to provision workloads across additional layer 2 networks, you can create compute machine sets on vSphere and then move these workloads to your target layer 2 networks.
18+
19+
* If you installed your cluster on infrastructure that you provided, which is defined as a user-provisioned infrastructure, complete the following actions to meet your needs:
20+
** Configure your API load balancer and network so that the load balancer can reach the API and Machine Config Server on the control plane nodes.
21+
** Configure your Ingress load balancer and network so that the load balancer can reach the Ingress pods on the compute or infrastructure nodes.
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
:_content-type: ASSEMBLY
2+
:context: post-install-vsphere-zones-regions-configuration
3+
[id="post-install-vsphere-zones-regions-configuration"]
4+
= Multiple regions and zones configuration for a cluster on vSphere
5+
include::_attributes/common-attributes.adoc[]
6+
7+
toc::[]
8+
9+
As an administrator, you can specify multiple regions and zones for your {product-title} cluster that runs on a VMware vSphere instance. This configuration reduces the risk of a hardware failure or network outage causing your cluster to fail.
10+
11+
A failure domain configuration lists parameters that create a topology. The following list states some of these parameters:
12+
13+
* `computeCluster`
14+
15+
* `datacenter`
16+
17+
* `datastore`
18+
19+
* `networks`
20+
21+
* `resourcePool`
22+
23+
After you define multiple regions and zones for your {product-title} cluster, you can create or migrate nodes to another failure domain.
24+
25+
[IMPORTANT]
26+
====
27+
If you want to migrate pre-existing {product-title} cluster compute nodes to a failure domain, you must define a new compute machine set for the compute node. This new machine set can scale up a compute node according to the topology of the failure domain, and scale down the pre-existing compute node.
28+
29+
The cloud provider adds `topology.kubernetes.io/zone` and `topology.kubernetes.io/region` labels to any compute node provisioned by a machine set resource.
30+
31+
For more information, see xref:../machine_management/creating_machinesets/creating-machineset-vsphere.adoc[Creating a compute machine set].
32+
====
33+
34+
include::modules/specifying-regions-zones-infrastructure-vsphere.adoc[leveloffset=+1]
35+
36+
[role="_additional-resources"]
37+
.Additional resources
38+
* xref:../post_installation_configuration/post-install-vsphere-zones-regions-configuration.adoc#references-regions-zones-infrastructure-vsphere_post-install-vsphere-zones-regions-configuration[Parameters for the cluster-wide infrastructure CRD]
39+
40+
include::modules/vsphere-enabling-multiple-layer2-networks.adoc[leveloffset=+1]
41+
42+
[role="_additional-resources"]
43+
.Additional resources
44+
45+
* xref:../installing/installing_vsphere/installing-vsphere-network-customizations.adoc#installation-network-connectivity-user-infra_installing-vsphere-network-customizations[Network connectivity requirements]
46+
47+
* xref:../machine_management/creating-infrastructure-machinesets.adoc#creating-infrastructure-machinesets-production[Creating infrastructure machine sets for production environments]
48+
49+
* xref:../machine_management/creating_machinesets/creating-machineset-vsphere.adoc#machineset-creating_creating-machineset-vsphere[Creating a compute machine set]
50+
51+
include::modules/references-regions-zones-infrastructure-vsphere.adoc[leveloffset=+1]
52+
53+
[role="_additional-resources"]
54+
.Additional resources
55+
56+
* xref:../post_installation_configuration/post-install-vsphere-zones-regions-configuration.adoc#specifying-regions-zones-infrastructure-vsphere_post-install-vsphere-zones-regions-configuration[Specifying multiple regions and zones for your cluster on vSphere]

0 commit comments

Comments
 (0)