Skip to content

Commit 315443a

Browse files
authored
Merge pull request #40732 from jeana-redhat/OSDOCS-2871
OSDOCS-2871: Azure Accelerated Networking support
2 parents 4999b3e + 78a006d commit 315443a

10 files changed

+204
-1
lines changed

installing/installing_azure/installing-azure-customizations.adoc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@ include::modules/installation-azure-config-yaml.adoc[leveloffset=+2]
3232

3333
include::modules/installation-configure-proxy.adoc[leveloffset=+2]
3434

35+
// Enabling Accelerated Networking during install
36+
include::modules/machineset-azure-enabling-accelerated-networking-new-install.adoc[leveloffset=+1]
37+
38+
.Additional resources
39+
40+
* For more details about Accelerated Networking, see xref:../../machine_management/creating_machinesets/creating-machineset-azure.adoc#machineset-azure-accelerated-networking_creating-machineset-azure[Accelerated Networking for Microsoft Azure VMs].
41+
3542
include::modules/installation-launching-installer.adoc[leveloffset=+1]
3643

3744
include::modules/cli-installing-cli.adoc[leveloffset=+1]

installing/installing_azure/installing-azure-government-region.adoc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ include::modules/installation-azure-config-yaml.adoc[leveloffset=+2]
4242

4343
include::modules/installation-configure-proxy.adoc[leveloffset=+2]
4444

45+
// Enabling Accelerated Networking during install
46+
include::modules/machineset-azure-enabling-accelerated-networking-new-install.adoc[leveloffset=+1]
47+
48+
.Additional resources
49+
50+
* For more details about Accelerated Networking, see xref:../../machine_management/creating_machinesets/creating-machineset-azure.adoc#machineset-azure-accelerated-networking_creating-machineset-azure[Accelerated Networking for Microsoft Azure VMs].
51+
4552
include::modules/installation-launching-installer.adoc[leveloffset=+1]
4653

4754
include::modules/cli-installing-cli.adoc[leveloffset=+1]

installing/installing_azure/installing-azure-network-customizations.adoc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,13 @@ include::modules/configuring-hybrid-ovnkubernetes.adoc[leveloffset=+1]
4848
For more information on using Linux and Windows nodes in the same cluster, see xref:../../windows_containers/understanding-windows-container-workloads.adoc#understanding-windows-container-workloads[Understanding Windows container workloads].
4949
====
5050

51+
// Enabling Accelerated Networking during install
52+
include::modules/machineset-azure-enabling-accelerated-networking-new-install.adoc[leveloffset=+1]
53+
54+
.Additional resources
55+
56+
* For more details about Accelerated Networking, see xref:../../machine_management/creating_machinesets/creating-machineset-azure.adoc#machineset-azure-accelerated-networking_creating-machineset-azure[Accelerated Networking for Microsoft Azure VMs].
57+
5158
include::modules/installation-launching-installer.adoc[leveloffset=+1]
5259

5360
include::modules/cli-installing-cli.adoc[leveloffset=+1]

installing/installing_azure/installing-azure-private.adoc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,13 @@ include::modules/installation-azure-config-yaml.adoc[leveloffset=+2]
3737

3838
include::modules/installation-configure-proxy.adoc[leveloffset=+2]
3939

40+
// Enabling Accelerated Networking during install
41+
include::modules/machineset-azure-enabling-accelerated-networking-new-install.adoc[leveloffset=+1]
42+
43+
.Additional resources
44+
45+
* For more details about Accelerated Networking, see xref:../../machine_management/creating_machinesets/creating-machineset-azure.adoc#machineset-azure-accelerated-networking_creating-machineset-azure[Accelerated Networking for Microsoft Azure VMs].
46+
4047
include::modules/installation-launching-installer.adoc[leveloffset=+1]
4148

4249
include::modules/cli-installing-cli.adoc[leveloffset=+1]

installing/installing_azure/installing-azure-vnet.adoc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,13 @@ include::modules/installation-azure-config-yaml.adoc[leveloffset=+2]
3131

3232
include::modules/installation-configure-proxy.adoc[leveloffset=+2]
3333

34+
// Enabling Accelerated Networking during install
35+
include::modules/machineset-azure-enabling-accelerated-networking-new-install.adoc[leveloffset=+1]
36+
37+
.Additional resources
38+
39+
* For more details about Accelerated Networking, see xref:../../machine_management/creating_machinesets/creating-machineset-azure.adoc#machineset-azure-accelerated-networking_creating-machineset-azure[Accelerated Networking for Microsoft Azure VMs].
40+
3441
include::modules/installation-launching-installer.adoc[leveloffset=+1]
3542

3643
include::modules/cli-installing-cli.adoc[leveloffset=+1]

machine_management/creating_machinesets/creating-machineset-azure.adoc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,17 @@ include::modules/machineset-creating-azure-ephemeral-os.adoc[leveloffset=+1]
3333

3434
//Enabling customer-managed encryption keys for a machine set
3535
include::modules/machineset-customer-managed-encryption-azure.adoc[leveloffset=+1]
36+
37+
// Accelerated Networking for Microsoft Azure VMs
38+
include::modules/machineset-azure-accelerated-networking.adoc[leveloffset=+1]
39+
40+
.Additional resources
41+
42+
* For information about enabling Accelerated Networking during installation, see xref:../../installing/installing_azure/installing-azure-customizations.adoc#machineset-azure-enabling-accelerated-networking-new-install_installing-azure-customizations[Enabling Accelerated Networking during installation].
43+
44+
// Enabling Accelerated Networking on an existing Microsoft Azure cluster
45+
include::modules/machineset-azure-enabling-accelerated-networking-existing.adoc[leveloffset=+1]
46+
47+
.Additional resources
48+
49+
* For more details about scaling a machine set, see xref:../../machine_management/manually-scaling-machineset.adoc#manually-scaling-machineset[Manually scaling a machine set].
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * machine_management/creating_machinesets/creating-machineset-azure.adoc
4+
5+
[id="machineset-azure-accelerated-networking_{context}"]
6+
= Accelerated Networking for Microsoft Azure VMs
7+
8+
Accelerated Networking uses single root I/O virtualization (SR-IOV) to provide Microsoft Azure VMs with a more direct path to the switch. This enhances network performance. This feature can be enabled during or after installation.
9+
10+
[id="machineset-azure-accelerated-networking-limits_{context}"]
11+
== Limitations
12+
13+
Consider the following limitations when deciding whether to use Accelerated Networking:
14+
15+
* Accelerated Networking is only supported on clusters where the Machine API is operational.
16+
17+
* Although the minimum requirement for an Azure worker node is two vCPUs, Accelerated Networking requires an Azure VM size that includes at least four vCPUs. To satisfy this requirement, you can change the value of `vmSize` in your machine set. For information about Azure VM sizes, see link:https://docs.microsoft.com/en-us/azure/virtual-machines/sizes[Microsoft Azure documentation].
18+
19+
* When this feature is enabled on an existing Azure cluster, only newly provisioned nodes are affected. Currently running nodes are not reconciled. To enable the feature on all nodes, you must replace each existing machine. This can be done for each machine individually, or by scaling the replicas down to zero, and then scaling back up to your desired number of replicas.
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * machine_management/creating_machinesets/creating-machineset-azure.adoc
4+
5+
[id="machineset-azure-enabling-accelerated-networking-existing_{context}"]
6+
= Enabling Accelerated Networking on an existing Microsoft Azure cluster
7+
8+
You can enable Accelerated Networking on Azure by adding `acceleratedNetworking` to your machine set YAML file.
9+
10+
.Prerequisites
11+
12+
* Have an existing Microsoft Azure cluster where the Machine API is operational.
13+
14+
.Procedure
15+
16+
. List the machine sets in your cluster by running the following command:
17+
+
18+
[source,terminal]
19+
----
20+
$ oc get machinesets -n openshift-machine-api
21+
----
22+
+
23+
The machine sets are listed in the form of `<cluster-id>-worker-<region>`.
24+
+
25+
.Example output
26+
[source,terminal]
27+
----
28+
NAME DESIRED CURRENT READY AVAILABLE AGE
29+
jmywbfb-8zqpx-worker-centralus1 1 1 1 1 15m
30+
jmywbfb-8zqpx-worker-centralus2 1 1 1 1 15m
31+
jmywbfb-8zqpx-worker-centralus3 1 1 1 1 15m
32+
----
33+
34+
. For each machine set:
35+
36+
.. Edit the custom resource (CR) by running the following command:
37+
+
38+
[source,terminal]
39+
----
40+
$ oc edit machineset <machine-set-name>
41+
----
42+
43+
.. Add the following to the `providerSpec` field:
44+
+
45+
[source,yaml]
46+
----
47+
providerSpec:
48+
value:
49+
...
50+
acceleratedNetworking: true <1>
51+
...
52+
vmSize: <azure-vm-size> <2>
53+
...
54+
----
55+
+
56+
<1> This line enables Accelerated Networking.
57+
<2> Specify an Azure VM size that includes at least four vCPUs. For information about VM sizes, see link:https://docs.microsoft.com/en-us/azure/virtual-machines/sizes[Microsoft Azure documentation].
58+
59+
. To enable the feature on currently running nodes, you must replace each existing machine. This can be done for each machine individually, or by scaling the replicas down to zero, and then scaling back up to your desired number of replicas.
60+
61+
.Verification
62+
63+
* On the Microsoft Azure portal, review the *Networking* settings page for a machine provisioned by the machine set, and verify that the `Accelerated networking` field is set to `Enabled`.
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * installing/installing_azure/installing-azure-customizations.adoc
4+
// * installing/installing_azure/installing-azure-network-customizations.adoc
5+
// * installing/installing_azure/installing-azure-vnet.adoc
6+
// * installing/installing_azure/installing-azure-private.adoc
7+
// * installing/installing_azure/installing-azure-government-region.adoc
8+
9+
ifeval::["{context}" == "installing-azure-network-customizations"]
10+
:custom-network:
11+
endif::[]
12+
13+
[id="machineset-azure-enabling-accelerated-networking-new-install_{context}"]
14+
= Enabling Accelerated Networking during installation
15+
16+
You can enable Accelerated Networking on Microsoft Azure by adding `acceleratedNetworking` to your machine set YAML file before you install the cluster.
17+
18+
.Prerequisites
19+
20+
* You have created the `install-config.yaml` file and completed any modifications to it.
21+
22+
ifdef::custom-network[]
23+
* You have created the manifests for your cluster.
24+
endif::custom-network[]
25+
26+
.Procedure
27+
28+
ifndef::custom-network[]
29+
. Change to the directory that contains the installation program and create the manifests:
30+
+
31+
[source,terminal]
32+
----
33+
$ ./openshift-install create manifests --dir <installation_directory> <1>
34+
----
35+
+
36+
<1> `<installation_directory>` specifies the name of the directory that contains the `install-config.yaml` file for your cluster.
37+
+
38+
.Example output
39+
+
40+
[source,terminal]
41+
----
42+
INFO Credentials loaded from the "myprofile" profile in file "/home/myuser/.azure/credentials"
43+
INFO Consuming Install Config from target directory
44+
INFO Manifests created in: installation_directory/manifests and installation_directory/openshift
45+
----
46+
endif::custom-network[]
47+
48+
. Change to the `openshift` directory within the directory that contains the installation program. The `openshift` directory contains the Kubernetes manifest files that define the worker machines. These are the three default machine set files for an Azure cluster:
49+
+
50+
.Machine set files in `openshift` directory listing
51+
[source,terminal]
52+
----
53+
99_openshift-cluster-api_worker-machineset-0.yaml
54+
99_openshift-cluster-api_worker-machineset-1.yaml
55+
99_openshift-cluster-api_worker-machineset-2.yaml
56+
----
57+
58+
. Add the following to the `providerSpec` field in each machine set file:
59+
+
60+
[source,yaml]
61+
----
62+
providerSpec:
63+
value:
64+
...
65+
acceleratedNetworking: true <1>
66+
...
67+
vmSize: <azure-vm-size> <2>
68+
...
69+
----
70+
+
71+
<1> This line enables Accelerated Networking.
72+
<2> Specify an Azure VM size that includes at least four vCPUs. For information about VM sizes, see link:https://docs.microsoft.com/en-us/azure/virtual-machines/sizes[Microsoft Azure documentation].

modules/machineset-yaml-azure.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ endif::infra[]
118118
subnet: <infrastructure_id>-<role>-subnet <1> <2>
119119
userDataSecret:
120120
name: worker-user-data <2>
121-
vmSize: Standard_DS4_v2
121+
vmSize: Standard_D4s_v3
122122
vnet: <infrastructure_id>-vnet <1>
123123
ifndef::infra[]
124124
zone: "1" <5>

0 commit comments

Comments
 (0)