You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/virtual-machines/automatic-extension-upgrade.md
+19-20Lines changed: 19 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,70 +6,69 @@ ms.subservice: extensions
6
6
ms.workload: infrastructure
7
7
ms.topic: how-to
8
8
ms.reviewer: erd
9
-
ms.date: 12/28/2022
9
+
ms.date: 11/7/2023
10
10
ms.custom: devx-track-azurepowershell
11
11
12
12
---
13
13
14
14
# Automatic Extension Upgrade for VMs and Scale Sets in Azure
15
15
16
-
**Applies to:**:heavy_check_mark: Linux VMs :heavy_check_mark: Windows VMs :heavy_check_mark: Flexible scale sets :heavy_check_mark: Uniform scale sets
17
-
18
16
Automatic Extension Upgrade is available for Azure VMs and Azure Virtual Machine Scale Sets. When Automatic Extension Upgrade is enabled on a VM or scale set, the extension is upgraded automatically whenever the extension publisher releases a new version for that extension.
19
17
20
18
Automatic Extension Upgrade has the following features:
21
19
- Supported for Azure VMs and Azure Virtual Machine Scale Sets.
22
-
- Upgrades are applied in an availability-first deployment model (detailed below).
23
-
- For a Virtual Machine Scale Set, no more than 20% of the scale set virtual machines will be upgraded in a single batch. The minimum batch size is one virtual machine.
20
+
- Upgrades are applied in an availability-first deployment model.
21
+
- For a Virtual Machine Scale Set, no more than 20% of the scale set virtual machines upgrades in a single batch. The minimum batch size is one virtual machine.
24
22
- Works for all VM sizes, and for both Windows and Linux extensions.
25
23
- You can opt out of automatic upgrades at any time.
26
24
- Automatic extension upgrade can be enabled on a Virtual Machine Scale Sets of any size.
27
25
- Each supported extension is enrolled individually, and you can choose which extensions to upgrade automatically.
28
26
- Supported in all public cloud regions.
29
27
30
28
## How does Automatic Extension Upgrade work?
31
-
The extension upgrade process replaces the existing extension version on a VM with a new version of the same extension when published by the extension publisher. The health of the VM is monitored after the new extension is installed. If the VM is not in a healthy state within 5 minutes of the upgrade completion, the extension version is rolled back to the previous version.
29
+
The extension upgrade process replaces the existing extension version on a VM with a new version of the same extension when published by the extension publisher. The health of the VM is monitored after the new extension is installed. If the VM isn't in a healthy state within 5 minutes of the upgrade completion, the extension version is rolled back to the previous version.
32
30
33
31
A failed extension update is automatically retried. A retry is attempted every few days automatically without user intervention.
34
32
35
33
### Availability-first Updates
36
34
The availability-first model for platform orchestrated updates ensures that availability configurations in Azure are respected across multiple availability levels.
37
35
38
-
For a group of virtual machines undergoing an update, the Azure platform will orchestrate updates:
36
+
For a group of virtual machines undergoing an update, the Azure platform orchestrates updates:
39
37
40
38
**Across regions:**
41
-
- An update will move across Azure globally in a phased manner to prevent Azure-wide deployment failures.
39
+
- An update moves across Azure globally in a phased manner to prevent Azure-wide deployment failures.
42
40
- A 'phase' can have one or more regions, and an update moves across phases only if eligible VMs in the previous phase update successfully.
43
-
- Geo-paired regions will not be updated concurrently and cannot be in the same regional phase.
41
+
- Geo-paired regions won't be updated concurrently and can't be in the same regional phase.
44
42
- The success of an update is measured by tracking the health of a VM post update. VM health is tracked through platform health indicators for the VM. For Virtual Machine Scale Sets, the VM health is tracked through application health probes or the Application Health extension, if applied to the scale set.
45
43
46
44
**Within a region:**
47
-
- VMs in different Availability Zones are not updated concurrently with the same update.
48
-
- Single VMs that are not part of an availability set are batched on a best effort basis to avoid concurrent updates for all VMs in a subscription.
45
+
- VMs in different Availability Zones aren't updated concurrently with the same update.
46
+
- Single VMs that aren't part of an availability set are batched on a best effort basis to avoid concurrent updates for all VMs in a subscription.
49
47
50
48
**Within a 'set':**
51
-
- All VMs in a common availability set or scale set are not updated concurrently.
52
-
- VMs in a common availability set are updated within Update Domain boundaries and VMs across multiple Update Domains are not updated concurrently.
49
+
- All VMs in a common availability set or scale set aren't updated concurrently.
50
+
- VMs in a common availability set are updated within Update Domain boundaries and VMs across multiple Update Domains aren't updated concurrently.
53
51
- VMs in a common virtual machine scale set are grouped in batches and updated within Update Domain boundaries.
54
52
55
53
### Upgrade process for Virtual Machine Scale Sets
56
-
1. Before beginning the upgrade process, the orchestrator will ensure that no more than 20% of VMs in the entire scale set are unhealthy (for any reason).
54
+
1. Before the upgrade process starts, the orchestrator ensures that no more than 20% of VMs in the entire scale set are unhealthy (for any reason).
57
55
58
56
2. The upgrade orchestrator identifies the batch of VM instances to upgrade. An upgrade batch can have a maximum of 20% of the total VM count, subject to a minimum batch size of one virtual machine.
59
57
60
-
3. For scale sets with configured application health probes or Application Health extension, the upgrade waits up to 5 minutes (or the defined health probe configuration) for the VM to become healthy before upgrading the next batch. If a VM does not recover its health after an upgrade, then by default the previous extension version on the VM is reinstalled.
58
+
3. For scale sets with configured application health probes or Application Health extension, the upgrade waits up to 5 minutes (or the defined health probe configuration) for the VM to become healthy before upgrading the next batch. If a VM doesn't recover its health after an upgrade, then by default the previous extension version on the VM is reinstalled.
61
59
62
-
4. The upgrade orchestrator also tracks the percentage of VMs that become unhealthy after an upgrade. The upgrade will stop if more than 20% of upgraded instances become unhealthy during the upgrade process.
60
+
4. The upgrade orchestrator also tracks the percentage of VMs that become unhealthy after an upgrade. The upgrade stops if more than 20% of upgraded instances become unhealthy during the upgrade process.
63
61
64
62
The above process continues until all instances in the scale set have been upgraded.
65
63
66
-
The scale set upgrade orchestrator checks for the overall scale set health before upgrading every batch. While upgrading a batch, there could be other concurrent planned or unplanned maintenance activities that could impact the health of your scale set virtual machines. In such cases, if more than 20% of the scale set's instances become unhealthy, then the scale set upgrade stops at the end of current batch.
64
+
The scale set upgrade orchestrator checks for the overall scale set health before upgrading every batch. During a batch upgrade, there could be other concurrent planned or unplanned maintenance activities that could impact the health of your scale set virtual machines. In such cases, if more than 20% of the scale set's instances become unhealthy, then the scale set upgrade stops at the end of current batch.
67
65
68
66
## Supported extensions
69
67
Automatic Extension Upgrade supports the following extensions (and more are added periodically):
70
68
-[Azure Automation Hybrid Worker extension](../automation/extension-based-hybrid-runbook-worker-install.md) - Linux and Windows
71
69
- Dependency Agent – [Linux](./extensions/agent-dependency-linux.md) and [Windows](./extensions/agent-dependency-windows.md)
72
70
-[Application Health Extension](../virtual-machine-scale-sets/virtual-machine-scale-sets-health-extension.md) – Linux and Windows
71
+
-[Guest Attestation Extension](../virtual-machines/boot-integrity-monitoring-overview.md) - Linux and Windows
73
72
-[Guest Configuration Extension](./extensions/guest-configuration.md) – Linux and Windows
74
73
- Key Vault – [Linux](./extensions/key-vault-linux.md) and [Windows](./extensions/key-vault-windows.md)
@@ -83,7 +82,7 @@ Automatic Extension Upgrade supports the following extensions (and more are adde
83
82
To enable Automatic Extension Upgrade for an extension, you must ensure the property `enableAutomaticUpgrade` is set to `true` and added to every extension definition individually.
84
83
85
84
### REST API for Virtual Machines
86
-
To enable automatic extension upgrade for an extension (in this example the Dependency Agent extension) on an Azure VM, use the following:
85
+
To enable automatic extension upgrade for an extension (in this example the Dependency Agent extension) on an Azure VM, use the following call:
87
86
88
87
```
89
88
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/extensions/<extensionName>?api-version=2019-12-01`
@@ -105,7 +104,7 @@ PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/provi
105
104
```
106
105
107
106
### REST API for Virtual Machine Scale Sets
108
-
Use the following to add the extension to the scale set model:
107
+
Use the following call to add the extension to the scale set model:
109
108
110
109
```
111
110
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmssName>?api-version=2019-12-01`
@@ -195,7 +194,7 @@ az vmss extension set \
195
194
196
195
A VM or Virtual Machine Scale Set can have multiple extensions with automatic extension upgrade enabled. The same VM or scale set can also have other extensions without automatic extension upgrade enabled.
197
196
198
-
If multiple extension upgrades are available for a virtual machine, the upgrades may be batched together, but each extension upgrade is applied individually on a virtual machine. A failure on one extension does not impact the other extension(s) that may be upgrading. For example, if two extensions are scheduled for an upgrade, and the first extension upgrade fails, the second extension will still be upgraded.
197
+
If multiple extension upgrades are available for a virtual machine, the upgrades may be batched together, but each extension upgrade is applied individually on a virtual machine. A failure on one extension doesn't impact the other extension(s) that may be upgrading. For example, if two extensions are scheduled for an upgrade, and the first extension upgrade fails, the second extension will still be upgraded.
199
198
200
199
Automatic Extension Upgrades can also be applied when a VM or virtual machine scale set has multiple extensions configured with [extension sequencing](../virtual-machine-scale-sets/virtual-machine-scale-sets-extension-sequencing.md). Extension sequencing is applicable for the first-time deployment of the VM, and any future extension upgrades on an extension are applied independently.
0 commit comments