From 34dff6f3ac8109849f9b5fcaebb2a940fbdf9ae3 Mon Sep 17 00:00:00 2001 From: Jeana Routh Date: Thu, 9 Jan 2025 15:42:50 -0500 Subject: [PATCH] OSDOCS-12868: multi-NIC support in vSphere FDs --- .../cpmso-config-options-vsphere.adoc | 4 + .../creating-machineset-vsphere.adoc | 5 +- .../cpmso-yaml-failure-domain-vsphere.adoc | 4 +- modules/machineset-vsphere-multiple-nics.adoc | 150 ++++++++++++++++++ 4 files changed, 160 insertions(+), 3 deletions(-) create mode 100644 modules/machineset-vsphere-multiple-nics.adoc diff --git a/machine_management/control_plane_machine_management/cpmso_provider_configurations/cpmso-config-options-vsphere.adoc b/machine_management/control_plane_machine_management/cpmso_provider_configurations/cpmso-config-options-vsphere.adoc index 18711ea6a0f1..ac825a4d9160 100644 --- a/machine_management/control_plane_machine_management/cpmso_provider_configurations/cpmso-config-options-vsphere.adoc +++ b/machine_management/control_plane_machine_management/cpmso_provider_configurations/cpmso-config-options-vsphere.adoc @@ -31,3 +31,7 @@ You can enable features by updating values in the control plane machine set. //Adding tags to machines by using machine sets include::modules/machine-api-vmw-add-tags.adoc[leveloffset=+2,tag=!compute] + +//Configuring multiple NICs by using machine sets +//pulled from 4.18 GA +//include::modules/machineset-vsphere-multiple-nics.adoc[leveloffset=+1,tag=!compute] \ No newline at end of file diff --git a/machine_management/creating_machinesets/creating-machineset-vsphere.adoc b/machine_management/creating_machinesets/creating-machineset-vsphere.adoc index 12424858cf1d..9b9971c0d76e 100644 --- a/machine_management/creating_machinesets/creating-machineset-vsphere.adoc +++ b/machine_management/creating_machinesets/creating-machineset-vsphere.adoc @@ -46,4 +46,7 @@ include::modules/machineset-label-gpu-autoscaler.adoc[leveloffset=+1] * xref:../../machine_management/applying-autoscaling.adoc#cluster-autoscaler-cr_applying-autoscaling[Cluster autoscaler resource definition] //Adding tags to machines by using machine sets -include::modules/machine-api-vmw-add-tags.adoc[leveloffset=+1,tag=!controlplane] \ No newline at end of file +include::modules/machine-api-vmw-add-tags.adoc[leveloffset=+1,tag=!controlplane] + +//Configuring multiple NICs by using machine sets +include::modules/machineset-vsphere-multiple-nics.adoc[leveloffset=+1,tag=!controlplane] \ No newline at end of file diff --git a/modules/cpmso-yaml-failure-domain-vsphere.adoc b/modules/cpmso-yaml-failure-domain-vsphere.adoc index 02b3c87f5d76..ece36c79abb5 100644 --- a/modules/cpmso-yaml-failure-domain-vsphere.adoc +++ b/modules/cpmso-yaml-failure-domain-vsphere.adoc @@ -34,8 +34,8 @@ spec: failureDomains: # <1> platform: VSphere vsphere: # <2> - - name: - - name: + - name: + - name: # ... ---- <1> Specifies the vCenter location for {product-title} cluster nodes. diff --git a/modules/machineset-vsphere-multiple-nics.adoc b/modules/machineset-vsphere-multiple-nics.adoc new file mode 100644 index 000000000000..ac8775f3ccb3 --- /dev/null +++ b/modules/machineset-vsphere-multiple-nics.adoc @@ -0,0 +1,150 @@ + +// Module included in the following assemblies: +// +// * machine_management/creating_machinesets/creating-machineset-vsphere.adoc +// * machine_management/control_plane_machine_management/cpmso_provider_configurations/cpmso-config-options-vsphere.adoc + +:_mod-docs-content-type: PROCEDURE +[id="machineset-vsphere-multiple-nics_{context}"] += Configuring multiple network interface controllers by using machine sets + +{product-title} clusters on {vmw-first} support connecting up to 10 network interface controllers (NICs) to a node. +By configuring multiple NICs, you can provide dedicated network links in the node virtual machines (VMs) for uses such as storage or databases. + +You can use machine sets to manage this configuration. + +* 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. +* If your cluster was set up during installation to use multiple NICs, machine sets that you create can use your existing failure domain configuration. +* If your failure domain configuration changes, you can use machine sets to make updates that reflect those changes. + +tag::controlplane[] +[NOTE] +==== +This feature is not compatible with a control plane machine set that uses more than one failure domain. +==== +end::controlplane[] + +:FeatureName: Configuring multiple NICs +include::snippets/technology-preview.adoc[] + +.Prerequisites + +* You have administrator access to {oc-first} for an {product-title} cluster on {vmw-short}. + +.Procedure + +. For a cluster that already uses multiple NICs, obtain the following values from the `Infrastructure` resource by running the following command: ++ +[source,terminal] +---- +$ oc get infrastructure cluster -o=jsonpath={.spec.platformSpec.vsphere.failureDomains} +---- ++ +.Required network interface controller values +|=== +|`Infrastructure` resource value | Placeholder value for sample machine set | Description + +|`failureDomain.topology.networks[0]` +|`` +|The name of the first NIC to use. + +|`failureDomain.topology.networks[1]` +|`` +|The name of the second NIC to use. + +|`failureDomain.topology.networks[]` +|`` +|The name of the __n__th NIC to use. +Collect the name of each NIC in the `Infrastructure` resource. + +|`failureDomain.topology.template` +|`` +|The {vmw-short} VM template to use. + +|`failureDomain.topology.datacenter` +|`` +|The vCenter data center to deploy the machine set on. + +|`failureDomain.topology.datastore` +|`` +|The vCenter datastore to deploy the machine set on. + +|`failureDomain.topology.folder` +|`` +|The path to the {vmw-short} VM folder in vCenter, such as `/dc1/vm/user-inst-5ddjd`. + +|`failureDomain.topology.computeCluster` + `/Resources` +|`` +|The {vmw-short} resource pool for your VMs. + +|`failureDomain.server` +|`` +|The vCenter server IP or fully qualified domain name (FQDN). +|=== + +. In a text editor, open the YAML file for an existing machine set or create a new one. + +. Use a machine set configuration formatted like the following example. ++ +-- +* 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. +* For a cluster that is not using multiple NICs, populate the values you want to use in the machine set custom resource. +-- ++ +.Sample machine set +[source,yaml] +---- +tag::compute[] +apiVersion: machine.openshift.io/v1beta1 +kind: MachineSet +# ... +spec: + template: + spec: + providerSpec: + value: + network: + devices: # <1> + - networkName: "" + - networkName: "" + template: # <2> + workspace: + datacenter: # <3> + datastore: # <4> + folder: # <5> + resourcepool: # <6> + server: # <7> +# ... +end::compute[] +tag::controlplane[] +apiVersion: machine.openshift.io/v1 +kind: ControlPlaneMachineSet +# ... +spec: + template: + machines_v1beta1_machine_openshift_io: + spec: + providerSpec: + value: + network: + devices: # <1> + - networkName: "" + - networkName: "" + template: # <2> + workspace: + datacenter: # <3> + datastore: # <4> + folder: # <5> + resourcepool: # <6> + server: # <7> + +# ... +end::controlplane[] +---- +<1> Specify a list of up to 10 NICs to use. +<2> Specify the {vmw-short} VM template to use, such as `user-5ddjd-rhcos`. +<3> Specify the vCenter data center to deploy the machine set on. +<4> Specify the vCenter datastore to deploy the machine set on. +<5> Specify the path to the {vmw-short} VM folder in vCenter, such as `/dc1/vm/user-inst-5ddjd`. +<6> Specify the {vmw-short} resource pool for your VMs. +<7> Specify the vCenter server IP or fully qualified domain name (FQDN). \ No newline at end of file