Skip to content

Commit 3597b7d

Browse files
committed
OSDOCS-12868: multi-NIC support in vSphere FDs
1 parent 4f27d5a commit 3597b7d

File tree

4 files changed

+160
-3
lines changed

4 files changed

+160
-3
lines changed

machine_management/control_plane_machine_management/cpmso_provider_configurations/cpmso-config-options-vsphere.adoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,7 @@ You can enable features by updating values in the control plane machine set.
3131

3232
//Adding tags to machines by using machine sets
3333
include::modules/machine-api-vmw-add-tags.adoc[leveloffset=+2,tag=!compute]
34+
35+
//Configuring multiple NICs by using machine sets
36+
//pulled from 4.18 GA
37+
//include::modules/machineset-vsphere-multiple-nics.adoc[leveloffset=+1,tag=!compute]

machine_management/creating_machinesets/creating-machineset-vsphere.adoc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,7 @@ include::modules/machineset-label-gpu-autoscaler.adoc[leveloffset=+1]
4646
* xref:../../machine_management/applying-autoscaling.adoc#cluster-autoscaler-cr_applying-autoscaling[Cluster autoscaler resource definition]
4747
4848
//Adding tags to machines by using machine sets
49-
include::modules/machine-api-vmw-add-tags.adoc[leveloffset=+1,tag=!controlplane]
49+
include::modules/machine-api-vmw-add-tags.adoc[leveloffset=+1,tag=!controlplane]
50+
51+
//Configuring multiple NICs by using machine sets
52+
include::modules/machineset-vsphere-multiple-nics.adoc[leveloffset=+1,tag=!controlplane]

modules/cpmso-yaml-failure-domain-vsphere.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ spec:
3434
failureDomains: # <1>
3535
platform: VSphere
3636
vsphere: # <2>
37-
- name: <failure_domain_name1>
38-
- name: <failure_domain_name2>
37+
- name: <failure_domain_name_1>
38+
- name: <failure_domain_name_2>
3939
# ...
4040
----
4141
<1> Specifies the vCenter location for {product-title} cluster nodes.
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
2+
// Module included in the following assemblies:
3+
//
4+
// * machine_management/creating_machinesets/creating-machineset-vsphere.adoc
5+
// * machine_management/control_plane_machine_management/cpmso_provider_configurations/cpmso-config-options-vsphere.adoc
6+
7+
:_mod-docs-content-type: PROCEDURE
8+
[id="machineset-vsphere-multiple-nics_{context}"]
9+
= Configuring multiple network interface controllers by using machine sets
10+
11+
{product-title} clusters on {vmw-first} support connecting up to 10 network interface controllers (NICs) to a node.
12+
By configuring multiple NICs, you can provide dedicated network links in the node virtual machines (VMs) for uses such as storage or databases.
13+
14+
You can use machine sets to manage this configuration.
15+
16+
* If you want to use multiple NICs in a {vmw-short} cluster that was not configured to do so during installation, you can use machine sets to implement this configuration.
17+
* If your cluster was set up during installation to use multiple NICs, machine sets that you create can use your existing failure domain configuration.
18+
* If your failure domain configuration changes, you can use machine sets to make updates that reflect those changes.
19+
20+
tag::controlplane[]
21+
[NOTE]
22+
====
23+
This feature is not compatible with a control plane machine set that uses more than one failure domain.
24+
====
25+
end::controlplane[]
26+
27+
:FeatureName: Configuring multiple NICs
28+
include::snippets/technology-preview.adoc[]
29+
30+
.Prerequisites
31+
32+
* You have administrator access to {oc-first} for an {product-title} cluster on {vmw-short}.
33+
34+
.Procedure
35+
36+
. For a cluster that already uses multiple NICs, obtain the following values from the `Infrastructure` resource by running the following command:
37+
+
38+
[source,terminal]
39+
----
40+
$ oc get infrastructure cluster -o=jsonpath={.spec.platformSpec.vsphere.failureDomains}
41+
----
42+
+
43+
.Required network interface controller values
44+
|===
45+
|`Infrastructure` resource value | Placeholder value for sample machine set | Description
46+
47+
|`failureDomain.topology.networks[0]`
48+
|`<vm_network_name_1>`
49+
|The name of the first NIC to use.
50+
51+
|`failureDomain.topology.networks[1]`
52+
|`<vm_network_name_2>`
53+
|The name of the second NIC to use.
54+
55+
|`failureDomain.topology.networks[<n-1>]`
56+
|`<vm_network_name_n>`
57+
|The name of the __n__th NIC to use.
58+
Collect the name of each NIC in the `Infrastructure` resource.
59+
60+
|`failureDomain.topology.template`
61+
|`<vm_template_name>`
62+
|The {vmw-short} VM template to use.
63+
64+
|`failureDomain.topology.datacenter`
65+
|`<vcenter_data_center_name>`
66+
|The vCenter data center to deploy the machine set on.
67+
68+
|`failureDomain.topology.datastore`
69+
|`<vcenter_datastore_name>`
70+
|The vCenter datastore to deploy the machine set on.
71+
72+
|`failureDomain.topology.folder`
73+
|`<vcenter_vm_folder_path>`
74+
|The path to the {vmw-short} VM folder in vCenter, such as `/dc1/vm/user-inst-5ddjd`.
75+
76+
|`failureDomain.topology.computeCluster` + `/Resources`
77+
|`<vsphere_resource_pool>`
78+
|The {vmw-short} resource pool for your VMs.
79+
80+
|`failureDomain.server`
81+
|`<vcenter_server_ip>`
82+
|The vCenter server IP or fully qualified domain name (FQDN).
83+
|===
84+
85+
. In a text editor, open the YAML file for an existing machine set or create a new one.
86+
87+
. Use a machine set configuration formatted like the following example.
88+
+
89+
--
90+
* For a cluster that currently uses multiple NICs, use the values from the `Infrastructure` resource to populate the values in the machine set custom resource.
91+
* For a cluster that is not using multiple NICs, populate the values you want to use in the machine set custom resource.
92+
--
93+
+
94+
.Sample machine set
95+
[source,yaml]
96+
----
97+
tag::compute[]
98+
apiVersion: machine.openshift.io/v1beta1
99+
kind: MachineSet
100+
# ...
101+
spec:
102+
template:
103+
spec:
104+
providerSpec:
105+
value:
106+
network:
107+
devices: # <1>
108+
- networkName: "<vm_network_name_1>"
109+
- networkName: "<vm_network_name_2>"
110+
template: <vm_template_name> # <2>
111+
workspace:
112+
datacenter: <vcenter_data_center_name> # <3>
113+
datastore: <vcenter_datastore_name> # <4>
114+
folder: <vcenter_vm_folder_path> # <5>
115+
resourcepool: <vsphere_resource_pool> # <6>
116+
server: <vcenter_server_ip> # <7>
117+
# ...
118+
end::compute[]
119+
tag::controlplane[]
120+
apiVersion: machine.openshift.io/v1
121+
kind: ControlPlaneMachineSet
122+
# ...
123+
spec:
124+
template:
125+
machines_v1beta1_machine_openshift_io:
126+
spec:
127+
providerSpec:
128+
value:
129+
network:
130+
devices: # <1>
131+
- networkName: "<vm_network_name_1>"
132+
- networkName: "<vm_network_name_2>"
133+
template: <vm_template_name> # <2>
134+
workspace:
135+
datacenter: <vcenter_data_center_name> # <3>
136+
datastore: <vcenter_datastore_name> # <4>
137+
folder: <vcenter_vm_folder_path> # <5>
138+
resourcepool: <vsphere_resource_pool> # <6>
139+
server: <vcenter_server_ip> # <7>
140+
141+
# ...
142+
end::controlplane[]
143+
----
144+
<1> Specify a list of up to 10 NICs to use.
145+
<2> Specify the {vmw-short} VM template to use, such as `user-5ddjd-rhcos`.
146+
<3> Specify the vCenter data center to deploy the machine set on.
147+
<4> Specify the vCenter datastore to deploy the machine set on.
148+
<5> Specify the path to the {vmw-short} VM folder in vCenter, such as `/dc1/vm/user-inst-5ddjd`.
149+
<6> Specify the {vmw-short} resource pool for your VMs.
150+
<7> Specify the vCenter server IP or fully qualified domain name (FQDN).

0 commit comments

Comments
 (0)