Skip to content

Commit d722995

Browse files
Merge pull request #258015 from ju-shim/ext
automatic-extension-upgrade FRESHNESS
2 parents 094e020 + 0850654 commit d722995

File tree

1 file changed

+19
-20
lines changed

1 file changed

+19
-20
lines changed

articles/virtual-machines/automatic-extension-upgrade.md

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,70 +6,69 @@ ms.subservice: extensions
66
ms.workload: infrastructure
77
ms.topic: how-to
88
ms.reviewer: erd
9-
ms.date: 12/28/2022
9+
ms.date: 11/7/2023
1010
ms.custom: devx-track-azurepowershell
1111

1212
---
1313

1414
# Automatic Extension Upgrade for VMs and Scale Sets in Azure
1515

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-
1816
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.
1917

2018
Automatic Extension Upgrade has the following features:
2119
- 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.
2422
- Works for all VM sizes, and for both Windows and Linux extensions.
2523
- You can opt out of automatic upgrades at any time.
2624
- Automatic extension upgrade can be enabled on a Virtual Machine Scale Sets of any size.
2725
- Each supported extension is enrolled individually, and you can choose which extensions to upgrade automatically.
2826
- Supported in all public cloud regions.
2927

3028
## 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.
3230

3331
A failed extension update is automatically retried. A retry is attempted every few days automatically without user intervention.
3432

3533
### Availability-first Updates
3634
The availability-first model for platform orchestrated updates ensures that availability configurations in Azure are respected across multiple availability levels.
3735

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:
3937

4038
**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.
4240
- 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.
4442
- 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.
4543

4644
**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.
4947

5048
**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.
5351
- VMs in a common virtual machine scale set are grouped in batches and updated within Update Domain boundaries.
5452

5553
### 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).
5755

5856
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.
5957

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.
6159

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.
6361

6462
The above process continues until all instances in the scale set have been upgraded.
6563

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.
6765

6866
## Supported extensions
6967
Automatic Extension Upgrade supports the following extensions (and more are added periodically):
7068
- [Azure Automation Hybrid Worker extension](../automation/extension-based-hybrid-runbook-worker-install.md) - Linux and Windows
7169
- Dependency Agent – [Linux](./extensions/agent-dependency-linux.md) and [Windows](./extensions/agent-dependency-windows.md)
7270
- [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
7372
- [Guest Configuration Extension](./extensions/guest-configuration.md) – Linux and Windows
7473
- Key Vault – [Linux](./extensions/key-vault-linux.md) and [Windows](./extensions/key-vault-windows.md)
7574
- [Azure Monitor Agent](../azure-monitor/agents/azure-monitor-agent-overview.md)
@@ -83,7 +82,7 @@ Automatic Extension Upgrade supports the following extensions (and more are adde
8382
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.
8483

8584
### 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:
8786

8887
```
8988
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
105104
```
106105

107106
### 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:
109108

110109
```
111110
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmssName>?api-version=2019-12-01`
@@ -195,7 +194,7 @@ az vmss extension set \
195194

196195
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.
197196

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.
199198

200199
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.
201200

0 commit comments

Comments
 (0)