Skip to content

Commit 26c05b7

Browse files
authored
Merge pull request #286618 from johnmarco/jm-aro-large-clusters-updates
ARO: Large cluster article changes
2 parents f8a6dea + 8aa1718 commit 26c05b7

File tree

1 file changed

+47
-25
lines changed

1 file changed

+47
-25
lines changed

articles/openshift/howto-large-clusters.md

Lines changed: 47 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,56 +5,78 @@ author: johnmarco
55
ms.author: johnmarc
66
ms.service: azure-redhat-openshift
77
ms.topic: article
8-
ms.date: 08/15/2024
8+
ms.date: 09/12/2024
99
---
1010
# Deploy a large Azure Red Hat OpenShift cluster
1111

12-
This article provides the steps and best practices for deploying large scale Azure Red Hat OpenShift clusters up to 250 nodes. For clusters of that size, a combination of control plane nodes and infrastructure nodes is needed to ensure the cluster functions properly is recommended.
12+
This article provides the steps and best practices for deploying large scale Azure Red Hat OpenShift clusters up to 250 worker nodes. For clusters of that size, there are some recommendations regarding control plane nodes and infrastructure nodes.
1313

1414
> [!CAUTION]
15-
> Before deleting a large cluster, descale the cluster to 120 nodes or below.
15+
> Before deleting a cluster with more than 120 nodes, scale down the cluster to 120 nodes or less.
1616
>
1717
18-
## Deploy a cluster
18+
## Recommendations
19+
20+
### Control plane nodes
1921

20-
For clusters with over 101 control plane nodes, use the following [virtual machine instance types](support-policies-v4.md#supported-virtual-machine-sizes) size recommendations (or similar, newer generation instance types):
22+
For clusters with over 100 worker nodes, the following [virtual machine instance types](support-policies-v4.md#supported-virtual-machine-sizes) (or similar, newer generation instance types) are recommended for control plane nodes:
2123

2224
- Standard_D32s_v3
2325
- Standard_D32s_v4
2426
- Standard_D32s_v5
2527

26-
Following is a sample script using Azure CLI to deploy a cluster with Standard_D32s_v5 as the control plane node:
27-
28-
```azurecli
29-
#az aro create \ --resource-group $RESOURCEGROUP \ --name $CLUSTER \ --vnet aro-vnet \ --master-subnet master-subnet \ --worker-subnet worker-subnet --master-vm-size Standard_D32s_v5
30-
```
31-
32-
## Deploy infrastructure nodes for the cluster
28+
### Infrastructure nodes
3329

34-
For clusters with over 101 nodes, infrastructure nodes are required to separate cluster workloads (such as prometheus) to minimize contention with other workloads.
35-
36-
> [!NOTE]
37-
> It's recommended that you deploy three (3) infrastructure nodes per cluster for redundancy and scalability needs.
38-
>
30+
For clusters with over 100 worker nodes, infrastructure nodes are required to separate cluster workloads (such as Prometheus) to minimize contention with other workloads. You should deploy three (3) infrastructure nodes per cluster for redundancy and scalability needs.
3931

4032
The following instance types are recommended for infrastructure nodes:
4133

4234
- Standard_E16as_v5
4335
- Standard_E16s_v5
4436

45-
For instructions on configuring infrastructure nodes, see [Deploy infrastructure nodes in an Azure Red Hat OpenShift cluster](howto-infrastructure-nodes.md).
37+
For instructions on configuring infrastructure nodes, see [Deploy infrastructure nodes in an Azure Red Hat OpenShift cluster](howto-infrastructure-nodes.md). This will be configured after cluster deployment.
38+
39+
### Add IP addresses to the load balancer
40+
41+
Azure Red Hat OpenShift public clusters are created with a public load balancer that's used for outbound connectivity from inside the cluster. By default, one public IP address is configured on that public load balancer, and that limits the maximum node count of your cluster to 62. To be able to scale your cluster to the maximum supported number of 250 nodes, you need to assign multiple additional public IP addresses to the load balancer. You can configure up to 20 IP addresses per cluster. The outbound rules and frontend IP configurations are adjusted to accommodate the number of IP addresses.
4642

47-
## Add IP addresses to the cluster
43+
For example, a cluster with 180 worker nodes needs at least (3) three IP addresses (180 nodes / 62 nodes per IP).
4844

49-
A maximum of 20 IP addresses can be added to a load balancer. One (1) IP address is needed per 65 nodes, so a cluster with 250 nodes requires a minimum of four (4) IP addresses.
45+
This can be accomplished as part of the cluster creation process or later, after the cluster is created.
5046

51-
To add IP addresses to the load balancer using Azure CLI, run the following command:
47+
## Deploy a cluster
48+
49+
When deploying a large cluster, you must start with at most 50 worker nodes at creation time, then scale the cluster out to the desired number of worker nodes, up to 250 worker nodes.
50+
51+
> [!NOTE]
52+
> While you can define up to 50 worker nodes at creation time, it's best to start with a small cluster (e.g, three (3) worker nodes) and then scale out to the desired number of worker nodes after the cluster is installed.
53+
>
54+
55+
Follow the steps provided in [Create an Azure Red Hat OpenShift cluster](https://learn.microsoft.com/azure/openshift/create-cluster?tabs=azure-cli) until the "Create the cluster" steps, then continue as instructed:
5256

53-
`az aro update -n [clustername] –g [resourcegroup] --lb-ip-count 20`
57+
The sample command below using the Azure CLI can be used to deploy a cluster with Standard_D32s_v5 as the control plane nodes, requesting three public IP addresses, and defining nine worker nodes:
5458

55-
To add IP addresses through a rest API call:
59+
```azurecli
60+
az aro create \
61+
--resource-group $RESOURCEGROUP \
62+
--name $CLUSTER \
63+
--vnet aro-vnet \
64+
--master-subnet master-subnet \
65+
--worker-subnet worker-subnet \
66+
--master-vm-size Standard_D32s_v5 \
67+
--worker-count 9 \
68+
--lb-ip-count 3
69+
```
70+
71+
To add IP addresses to the load balancer using the Azure CLI after the cluster is created, run the following command:
5672

57-
```rest
58-
az rest --method patch --url https://management.azure.com/subscriptions/fe16a035-e540-4ab7-80d9-373fa9a3d6ae/resourceGroups/shared-cluster/providers/Microsoft.RedHatOpenShift/OpenShiftClusters/shared-cluster?api-version=2023-07-01-preview --body '{"properties": {"networkProfile": {"loadBalancerProfile": {"managedOutboundIps": {"count": 5}}}}}' --headers "Content-Type=application/json"
73+
```azurecli
74+
az aro update
75+
--name <CLUSTER_NAME>
76+
–-resource-group <RESOURCE_GROUP>
77+
--lb-ip-count <PUBLIC_IP_COUNT>`
5978
```
6079

80+
You can then configure the corresponding OpenShift MachineSets to obtain the number of worker nodes desired. See [Manually scaling a compute machine set](https://docs.openshift.com/container-platform/latest/machine_management/manually-scaling-machineset.html) for more details.
81+
82+
Once the cluster is successfully installed, proceed to deploying infrastructure nodes as defined in the [Infrastructure nodes](#infrastructure-nodes) section.

0 commit comments

Comments
 (0)