Skip to content

Commit 164078c

Browse files
authored
Merge pull request #177490 from ju-shim/flex-25
FLEX networking and portal
2 parents 2425254 + ca4c433 commit 164078c

6 files changed

+102
-52
lines changed

articles/virtual-machine-scale-sets/orchestration-modes-api-comparison.md

Lines changed: 43 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ This article compares the API differences between Uniform and [Flexible orchestr
2626

2727
| Uniform API | Flexible alternative |
2828
|-|-|
29-
| Virtual machine scale sets VM Lifecycle Batch Operations: | Invoke Single VM API on specific instances: |
3029
| [Deallocate](/rest/api/compute/virtualmachinescalesetvms/deallocate) | [Invoke Single VM API - Deallocate](/rest/api/compute/virtualmachines/deallocate) |
3130
| [Delete](/rest/api/compute/virtualmachinescalesetvms/delete) | [Invoke Single VM API -Delete](/rest/api/compute/virtualmachines/delete) |
3231
| [Get Instance View](/rest/api/compute/virtualmachinescalesetvms/getinstanceview) | [Invoke Single VM API - Instance View](/rest/api/compute/virtualmachines/instanceview) |
@@ -42,23 +41,42 @@ This article compares the API differences between Uniform and [Flexible orchestr
4241

4342
## Get or Update
4443

45-
### Uniform API
44+
**Uniform API:**
45+
4646
Virtual machine scale sets VM Get or Update Instance:
4747
- [Get](/rest/api/compute/virtualmachinescalesetvms/get)
4848
- [Update](/rest/api/compute/virtualmachinescalesetvms/update)
4949

50-
### Flexible alternative
50+
**Flexible alternative:**
51+
5152
Invoke Single VM APIs:
5253
- [ARM Lock Resource](../azure-resource-manager/management/lock-resources.md?tabs=json) for Instance Protection type behavior
54+
55+
56+
## Get or Update scale set VM instances
57+
58+
| Uniform API | Flexible alternative |
59+
|-|-|
60+
| [Get scale set VM details](/rest/api/compute/virtualmachinescalesetvms/get) | [Get virtual machine](/rest/api/compute/virtualmachines/get) |
61+
| [Update scale set VM instance](/rest/api/compute/virtualmachinescalesetvms/update) | [Update virtual machine](/rest/api/compute/virtualmachines/update) |
62+
63+
64+
## Instance protection
65+
66+
| Uniform API | Flexible alternative |
67+
|-|-|
68+
| [Instance Protection](virtual-machine-scale-sets-instance-protection.md) | [ARM Lock Resource](../azure-resource-manager/management/lock-resources.md?tabs=json) for Instance Protection type behavior |
5369

5470

5571
## List instances
5672

57-
### Uniform API
73+
**Uniform API:**
74+
5875
`VMSS List Instances`:
5976
- Returns the scale set ID associated with each instance
6077

61-
### Flexible alternative
78+
**Flexible alternative:**
79+
6280
Azure Resource Graph:
6381

6482
```armasm
@@ -67,9 +85,10 @@ resources
6785
| where properties.virtualMachineScaleSet.id contains "portalbb01"
6886
```
6987

70-
## Scale set operations
88+
## Scale set instance operations
89+
90+
**Uniform API:**
7191

72-
### Uniform API
7392
Virtual machine scale sets Operations:
7493
- [Update Instances](/rest/api/compute/virtual-machine-scale-sets/update-instances)
7594
- [Deallocate](/rest/api/compute/virtual-machine-scale-sets/deallocate)
@@ -82,44 +101,51 @@ Virtual machine scale sets Operations:
82101
- [Set Orchestration Service State](/rest/api/compute/virtual-machine-scale-sets/set-orchestration-service-state)
83102
- [Start](/rest/api/compute/virtual-machine-scale-sets/start)
84103

85-
### Flexible alternative
104+
**Flexible alternative:**
105+
86106
Invoke operations on individual VMs.
87107

88108
Virtual machines Operations:
89109
- [Reimage](/rest/api/compute/virtual-machines/reimage): invoke single VM API - Reimage on Ephemeral OS VMs only
90110

91111
## VM extension
92112

93-
### Uniform API
113+
**Uniform API:**
114+
94115
Virtual machine scale sets VM Extension:
95116
- [Create Or Update](/rest/api/compute/virtual-machine-scale-set-vm-extensions/create-or-update)
96117
- [Delete](/rest/api/compute/virtual-machine-scale-set-vm-extensions/delete)
97118
- [Get](/rest/api/compute/virtual-machine-scale-set-vm-extensions/get)
98119
- [List](/rest/api/compute/virtual-machine-scale-set-vm-extensions/list)
99120
- [Update](/rest/api/compute/virtual-machine-scale-set-vm-extensions/update)
100121

101-
### Flexible alternative
122+
**Flexible alternative:**
123+
102124
Invoke operations on individual VMs.
103125

104126

105127
## Networking
106128

107-
### Uniform API
108-
- NAT Pool / Port forwarding
109-
- NAT Pool not supported in Flexible scale sets
129+
| Uniform API | Flexible alternative |
130+
|-|-|
131+
| Load balancer NAT pool | Specify NAT rule to specific instances |
110132

111-
### Flexible alternative
112-
- Set up individual NAT Rules on each VM
133+
> [!IMPORTANT]
134+
> Networking behavior will vary depending on how you choose to create virtual machines within your scale set. **Manually added VM instances** have default outbound connectivity access. **Implicitly created VM instances** do not have default access.
135+
>
136+
> For more information on networking for Flexible scale sets, see [scalable network connectivity](../virtual-machines/flexible-virtual-machine-scale-sets-migration-resources.md#create-scalable-network-connectivity).
113137
114138

115139
## Scale set APIs
116140

117-
### Uniform API
141+
**Uniform API:**
142+
118143
Uniform virtual machine scale sets APIs:
119144
- [Convert To Single Placement Group](/rest/api/compute/virtual-machine-scale-sets/convert-to-single-placement-group)
120145
- [Force Recovery Service Fabric Platform Update Domain Walk](/rest/api/compute/virtual-machine-scale-sets/force-recovery-service-fabric-platform-update-domain-walk)
121146

122-
### Flexible alternative
147+
**Flexible alternative:**
148+
123149
Not supported on Flexible virtual machine scale sets.
124150

125151

articles/virtual-machine-scale-sets/quick-create-portal.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ You can deploy a scale set with a Windows Server image or Linux image such as RH
5757
1. In the **Basics** tab, under **Project details**, make sure the correct subscription is selected and select *myVMSSResourceGroup* from resource group list.
5858
1. Type *myScaleSet* as the name for your scale set.
5959
1. In **Region**, select a region that is close to your area.
60+
1. Under **Orchestration**, ensure the *Uniform* option is selected for **Orchestration mode**.
6061
1. Select a marketplace image for **Image**. In this example, we have chosen *Ubuntu Server 18.04 LTS*.
6162
1. Enter your desired username, and select which authentication type you prefer.
6263
- A **Password** must be at least 12 characters long and meet three out of the four following complexity requirements: one lower case character, one upper case character, one number, and one special character. For more information, see [username and password requirements](../virtual-machines/windows/faq.yml#what-are-the-password-requirements-when-creating-a-vm-).

articles/virtual-machine-scale-sets/virtual-machine-scale-sets-orchestration-modes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ The following table compares the Flexible orchestration mode, Uniform orchestrat
110110
| Managed Identity | User Assigned Identity Only | System Assigned or User Assigned | N/A (can specify Managed Identity on individual instances) |
111111
| Add/remove existing VM to the group | No | No | No |
112112
| Service Fabric | No | Yes | No |
113-
| Azure Kubernetes Service (AKS) / AKE / k8s node pool | No | Yes | No |
113+
| Azure Kubernetes Service (AKS) / AKE | No | Yes | No |
114114
| UserData | Partial, UserData can be specified for individual VMs | Yes | UserData can be specified for individual VMs |
115115

116116

articles/virtual-machines/flexible-virtual-machine-scale-sets-migration-resources.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -81,23 +81,31 @@ There is currently no automated tooling to directly move existing instances or u
8181

8282
Virtual machine scale sets with Flexible orchestration allows you to combine the scalability of [virtual machine scale sets in Uniform orchestration](../virtual-machine-scale-sets/overview.md) with the regional availability guarantees of availability sets. The following are key considerations when deciding to work with the Flexible orchestration mode.
8383

84-
### Explicit network outbound connectivity required
84+
### Create scalable network connectivity
85+
<!-- the following is an important link to use in FLEX documentation to reference this section:
86+
/virtual-machines/flexible-virtual-machine-scale-sets-migration-resources.md#create-scalable-network-connectivity
87+
-->
8588

86-
In order to enhance default network security, Virtual machine scale sets with Flexible orchestration will require that instances created implicitly via the autoscaling profile have outbound connectivity defined explicitly through one of the following methods:
89+
Networking outbound access behavior will vary depending on how you choose to create virtual machines within your scale set. **Manually added VM instances** have default outbound connectivity access. **Implicitly created VM instances** do not have default access.
90+
91+
In order to enhance default network security, **virtual machine instances created implicitly via the autoscaling profile do not have default outbound access**. In order to use virtual machine scale sets with implicitly created VM instances, outbound access must be explicitly defined through one of the following methods:
8792

8893
- For most scenarios, we recommend [NAT Gateway attached to the subnet](../virtual-network/nat-gateway/tutorial-create-nat-gateway-portal.md).
8994
- For scenarios with high security requirements or when using Azure Firewall or Network Virtual Appliance (NVA), you can specify a custom User Defined Route as next hop through firewall.
9095
- Instances are in the backend pool of a Standard SKU Azure Load Balancer.
9196
- Attach a Public IP Address to the instance network interface.
9297

93-
With single instance VMs and Virtual machine scale sets with Uniform orchestration, outbound connectivity is provided automatically.
94-
9598
Common scenarios that will require explicit outbound connectivity include:
9699

97100
- Windows VM activation will require that you have defined outbound connectivity from the VM instance to the Windows Activation Key Management Service (KMS). See [Troubleshoot Windows VM activation problems](/troubleshoot/azure/virtual-machines/troubleshoot-activation-problems) for more information.
98101
- Access to storage accounts or Key Vault. Connectivity to Azure services can also be established via [Private Link](../private-link/private-link-overview.md).
102+
- Windows updates.
103+
- Access to Linux package managers.
104+
105+
See [Default outbound access in Azure](../virtual-network/ip-services/default-outbound-access.md) for more details on defining outbound connectivity.
106+
107+
With single instance VMs where you explicitly create the NIC, default outbound access is provided. Virtual machine scale sets in Uniform Orchestration mode also has default outbound connectivity.
99108

100-
See [Default outbound access in Azure](../virtual-network/ip-services/default-outbound-access.md) for more details on defining secure outbound connections.
101109

102110
> [!IMPORTANT]
103111
> Confirm that you have explicit outbound network connectivity. Learn more about this in [virtual networks and virtual machines in Azure](../virtual-network/network-overview.md) and make sure you are following Azure's networking [best practices](../virtual-network/concepts-and-best-practices.md).
@@ -150,17 +158,9 @@ Use the standard VM APIs and commands to retrieve instance Boot Diagnostics data
150158
Use extensions targeted for standard virtual machines, instead of extensions targeted for Uniform orchestration mode instances.
151159

152160

161+
### Protect instances from delete
153162

154-
155-
156-
157-
158-
159-
160-
161-
162-
163-
163+
Virtual machine scale sets in Flexible orchestration mode do not currently have instance protection options. If you have autoscale enabled on a virtual machine scale set, some VMs might be at risk of deletion during the scaling in process. If you want to protect certain VM instances from deletion, use [Azure Resource Manager lock](../azure-resource-manager/management/lock-resources.md).
164164

165165

166166

articles/virtual-machines/flexible-virtual-machine-scale-sets-portal.md

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.author: fisteele
66
ms.topic: how-to
77
ms.service: virtual-machines
88
ms.subservice: flexible-scale-sets
9-
ms.date: 08/05/2021
9+
ms.date: 10/25/2021
1010
ms.reviewer: jushiman
1111
ms.custom: mimckitt, devx-track-azurecli, vmss-flex
1212
---
@@ -22,31 +22,50 @@ This article steps through using Azure portal to create a virtual machine scale
2222
> The orchestration mode is defined when you create the scale set and cannot be changed or updated later.
2323
2424

25-
## Get started with Flexible orchestration mode
25+
## Log in to Azure
26+
Log in to the Azure portal at https://portal.azure.com.
2627

27-
### Create a virtual machine scale set in Flexible orchestration mode through the Azure portal.
2828

29-
1. Log into the Azure portal at https://portal.azure.com.
30-
1. In the search bar, search for and select **Virtual machine scale sets**.
29+
## Create a virtual machine scale set
30+
31+
You can deploy a scale set with a Windows Server image or Linux image such as RHEL, CentOS, Ubuntu, or SLES.
32+
33+
1. In the Azure portal search bar, search for and select **Virtual machine scale sets**.
3134
1. Select **Create** on the **Virtual machine scale sets** page.
32-
1. On the **Create a virtual machine scale set** page, view the **Orchestration** section.
33-
1. For the **Orchestration mode**, select the **Flexible** option.
34-
1. Set the **Fault domain count**.
35-
1. Finish creating your scale set. See [create a scale set in the Azure portal](../virtual-machine-scale-sets/quick-create-portal.md#create-virtual-machine-scale-set) for more information on how to create a scale set.
3635

36+
1. In the **Basics** tab, under **Project details**, make sure the correct subscription is selected and select *myVMSSResourceGroup* from resource group list.
37+
1. Under **Scale set details**, set *myScaleSet* for your scale set name and select a **Region** that is close to your area.
38+
1. Under **Orchestration**, select the *Flexible* option for **Orchestration mode**.
39+
1. Under **Instance details**, select a marketplace image for **Image**. In this example, we have chosen *Ubuntu Server 18.04 LTS*.
40+
1. Enter your desired username, and select which authentication type you prefer.
41+
- A **Password** must be at least 12 characters long and meet three out of the four following complexity requirements: one lower case character, one upper case character, one number, and one special character. For more information, see [username and password requirements](../virtual-machines/windows/faq.yml#what-are-the-password-requirements-when-creating-a-vm-).
42+
- If you select a Linux OS disk image, you can instead choose **SSH public key**. Only provide your public key, such as *~/.ssh/id_rsa.pub*. You can use the Azure Cloud Shell from the portal to [create and use SSH keys](../virtual-machines/linux/mac-create-ssh-keys.md).
43+
44+
1. Select **Next** to move the the next page.
45+
46+
1. Leave the defaults for the **Disks** page.
47+
48+
1. Select **Next** to move the the next page.
49+
50+
1. On the **Networking** page, under **Load balancing**, select the **Use a load balancer** checkbox to put the scale set instances behind a load balancer.
51+
1. In **Load balancing options**, select **Azure load balancer**.
52+
1. In **Select a load balancer**, select a load balancer or create a new one.
53+
1. For **Select a backend pool**, select **Create new**, type *myBackendPool*, then select **Create**.
54+
55+
> [!NOTE]
56+
> For related information on networking for Flexible scale sets, see [scalable network connectivity for Flexible scale sets](../virtual-machines/flexible-virtual-machine-scale-sets-migration-resources.md#create-scalable-network-connectivity).
57+
58+
1. Select **Next** to move the the next page.
3759

38-
### (Optional) Add a virtual machine to the scale set in Flexible orchestration mode.
60+
1. On the **Scaling** page, set the **initial instance count** field to *5*. You can set this number up to 1000.
61+
1. For the **Scaling policy**, keep it *Manual*.
3962

40-
1. In the search bar, search for and select **Virtual machines**.
41-
1. Select **Add** on the **Virtual machines** page.
42-
1. In the **Basics** tab, view the **Instance details** section.
43-
1. Add your VM to the scale set in Flexible orchestration mode by selecting the scale set in the **Availability options**. You can add the virtual machine to a scale set in the same region, zone, and resource group.
44-
1. Go to the **Networking** tab and explicitly define your outbound connectivity.
63+
1. When you are done, select **Review + create**.
64+
1. After it passes validation, select **Create** to deploy the scale set.
4565

46-
> [!IMPORTANT]
47-
> Explicitly defined outbound connectivity is required for virtual machine scale sets with flexible orchestration. Refer to [explicit outbound network connectivity](flexible-virtual-machine-scale-sets-migration-resources.md#explicit-network-outbound-connectivity-required) for more information.
4866

49-
1. Finish creating your virtual machine.
67+
## Clean up resources
68+
When no longer needed, delete the resource group, scale set, and all related resources. To do so, select the resource group for the scale set and then select **Delete**.
5069

5170

5271
## Next steps

articles/virtual-machines/flexible-virtual-machine-scale-sets.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ Flexible orchestration mode can be used with VM SKUs that support [memory preser
9393
az vm list-skus -l eastus --size standard_d2s_v3 --query "[].capabilities[].[name, value]" -o table
9494
```
9595

96+
> [!IMPORTANT]
97+
> Networking behavior will vary depending on how you choose to create virtual machines within your scale set. For more information, see [scalable network connectivity](../virtual-machines/flexible-virtual-machine-scale-sets-migration-resources.md#create-scalable-network-connectivity).
98+
99+
96100
## Features
97101
The following tables list the Flexible orchestration mode features and links to the appropriate documentation.
98102

@@ -115,7 +119,7 @@ The following tables list the Flexible orchestration mode features and links to
115119
| Managed Identity | User Assigned Identity Only |
116120
| Add/remove existing VM to the group | No |
117121
| Service Fabric | No |
118-
| Azure Kubernetes Service (AKS) / AKE / k8s node pool | No |
122+
| Azure Kubernetes Service (AKS) / AKE | No |
119123
| UserData | Partial, UserData can be specified for individual VMs |
120124

121125

0 commit comments

Comments
 (0)