Mises à niveau automatiques d’images de système d’exploitation de groupes de machines virtuelles identiques AzureAzure virtual machine scale set automatic OS image upgrades

L’activation des mises à niveau automatiques des images de système d’exploitation pour un groupe identique facilite la gestion des mises à jour en appliquant automatiquement et en toute sécurité chaque mise à niveau du disque du système d’exploitation à toutes les instances dans le groupe identique.Enabling automatic OS image upgrades on your scale set helps ease update management by safely and automatically upgrading the OS disk for all instances in the scale set.

La fonctionnalité de mise à niveau automatique du système d’exploitation présente les caractéristiques suivantes :Automatic OS upgrade has the following characteristics:

  • Une fois configurée, la dernière image du système d’exploitation publiée par les éditeurs de l’image est automatiquement appliquée au groupe identique, sans aucune intervention de l’utilisateur.Once configured, the latest OS image published by image publishers is automatically applied to the scale set without user intervention.
  • Elle effectue une mise à niveau propagée de lots d’instances chaque fois qu’une nouvelle image est publiée par l’éditeur.Upgrades batches of instances in a rolling manner each time a new image is published by the publisher.
  • Elle s’intègre avec les sondes d’intégrité d’application et l’extension Intégrité de l’application.Integrates with application health probes and Application Health extension.
  • Elle fonctionne pour toutes les tailles de machine virtuelle et pour les images tant Windows que Linux.Works for all VM sizes, and for both Windows and Linux images.
  • Vous pouvez désactiver les mises à niveau automatiques à tout moment (les mises à niveau du système d’exploitation peuvent également être démarrées manuellement).You can opt out of automatic upgrades at any time (OS Upgrades can be initiated manually as well).
  • Le disque du système d’exploitation d’une machine virtuelle est remplacé par le nouveau disque de système d’exploitation créé avec la dernière version de l’image.The OS Disk of a VM is replaced with the new OS Disk created with latest image version. Les extensions configurées et les scripts de données personnalisés sont exécutés. Les disques de données persistantes sont conservés.Configured extensions and custom data scripts are run, while persisted data disks are retained.
  • Le séquencement d’extensions est pris en charge.Extension sequencing is supported.
  • La mise à niveau automatique de l’image du système d’exploitation peut être activée sur un groupe identique de n’importe quelle taille.Automatic OS image upgrade can be enabled on a scale set of any size.

Comment la mise à niveau automatique de l’image de système d’exploitation fonctionne-t-elle ?How does automatic OS image upgrade work?

Une mise à niveau fonctionne en remplaçant le disque du système d’exploitation d’une machine virtuelle par un nouveau disque créé à l’aide de la dernière version de l’image.An upgrade works by replacing the OS disk of a VM with a new disk created using the latest image version. Les extensions et scripts de données personnalisés configurés sont exécutés sur le disque du système d’exploitation, tandis que les disques de données persistantes sont conservés.Any configured extensions and custom data scripts are run on the OS disk, while persisted data disks are retained. Pour réduire au minimum le temps d’arrêt de l’application, les mises à niveau sont effectuées par lots, avec au maximum 20 % du groupe identique mis à niveau à la fois.To minimize the application downtime, upgrades take place in batches, with no more than 20% of the scale set upgrading at any time. Vous pouvez également intégrer une sonde d’intégrité d’application Azure Load Balancer ou une extension Intégrité de l’application.You can also integrate an Azure Load Balancer application health probe or Application Health extension. Nous recommandons d’incorporer une pulsation de l’application et de valider la réussite de la mise à niveau pour chaque lot dans le processus de mise à niveau.We recommended incorporating an application heartbeat and validate upgrade success for each batch in the upgrade process.

Le processus de mise à niveau se déroule comme suit :The upgrade process works as follows:

  1. Avant de commencer le processus de mise à niveau, l’orchestrateur vérifie qu’il n’y a pas plus de 20 % des instances dans tout le groupe identique qui présentent un état non sain (pour une raison ou une autre).Before beginning the upgrade process, the orchestrator will ensure that no more than 20% of instances in the entire scale set are unhealthy (for any reason).
  2. L’orchestrateur de mise à niveau identifie le lot d’instances de machines virtuelles à mettre à niveau, chaque lot devant compter au maximum 20 % du nombre total d’instances, sujet à une taille de lot maximale d’une machine virtuelle.The upgrade orchestrator identifies the batch of VM instances to upgrade, with any one batch having a maximum of 20% of the total instance count, subject to a minimum batch size of one virtual machine.
  3. Le disque du système d’exploitation du lot sélectionné d’instances de machine virtuelle est remplacé par un nouveau disque de système d’exploitation créé à partir de l’image la plus récente.The OS disk of the selected batch of VM instances is replaced with a new OS disk created from the latest image. Toutes les extensions et configurations spécifiées dans le modèle de groupe identique sont appliquées à l’instance mise à niveau.All specified extensions and configurations in the scale set model are applied to the upgraded instance.
  4. Pour les groupes identiques configurés avec des sondes d’intégrité d’application ou l’extension Intégrité de l’application, la mise à niveau attend (jusqu’à 5 minutes) que l’instance passe à l’état sain avant de commencer la mise à niveau du lot suivant.For scale sets with configured application health probes or Application Health extension, the upgrade waits up to 5 minutes for the instance to become healthy, before moving on to upgrade the next batch. Si une instance ne récupère pas son intégrité en 5 minutes après une mise à niveau, le disque du système d’exploitation précédent pour l’instance est restauré par défaut.If an instance does not recover its health in 5 minutes after an upgrade, then by default the previous OS disk for the instance is restored.
  5. L’orchestrateur de mise à niveau suit également le pourcentage d’instances qui deviennent non saines après une mise à niveau.The upgrade orchestrator also tracks the percentage of instances that become unhealthy post an upgrade. La mise à niveau s’arrête si plus de 20 % des instances mises à niveau passent à l’état non sain pendant le processus de mise à niveau.The upgrade will stop if more than 20% of upgraded instances become unhealthy during the upgrade process.
  6. Le processus ci-dessus se poursuit jusqu’à ce que toutes les instances dans le groupe identique aient été mises à niveau.The above process continues until all instances in the scale set have been upgraded.

L’orchestrateur de mise à niveau du système d’exploitation du groupe identique vérifie l’intégrité de tout le groupe identique avant de procéder à la mise à niveau de chaque lot.The scale set OS upgrade orchestrator checks for the overall scale set health before upgrading every batch. Durant la mise à niveau d’un lot, il peut arriver que d’autres activités de maintenance planifiées ou non planifiées aient lieu en même temps et impactent l’intégrité des instances du groupe identique.While upgrading a batch, there could be other concurrent planned or unplanned maintenance activities that could impact the health of your scale set instances. Si c’est le cas et que plus de 20 % des instances du groupe identique passent à l’état non sain, la mise à niveau du groupe identique s’arrête à la fin du lot en cours.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.

Notes

La mise à niveau automatique du système d’exploitation ne met pas à niveau la référence SKU d’image de référence sur le groupe identique.Automatic OS upgrade does not upgrade the reference image Sku on the scale set. Pour modifier la référence (par exemple, Ubuntu 16,04-LTS à 18,04-LTS), vous devez mettre à jour le modèle de groupe de machines virtuelles directement avec la référence SKU d’image souhaitée.To change the Sku (such as Ubuntu 16.04-LTS to 18.04-LTS), you must update the scale set model directly with the desired image Sku. L’éditeur d’images et l’offre ne peuvent pas être modifiés pour un groupe identique existant.Image publisher and offer can't be changed for an existing scale set.

Images de système d’exploitation prises en chargeSupported OS images

Seules certaines images de plateforme de système d’exploitation sont actuellement prises en charge.Only certain OS platform images are currently supported. Les images personnalisées sont prises en charge si le groupe identique utilise des images personnalisées via Shared Image Gallery.Custom images are supported if the scale set uses custom images through Shared Image Gallery.

Les références SKU de plateforme suivantes sont prises en charge (et d’autres sont régulièrement ajoutées) :The following platform SKUs are currently supported (and more are added periodically):

Serveur de publicationPublisher Offre de système d’exploitationOS Offer SkuSku
CanonicalCanonical UbuntuServerUbuntuServer 16.04-LTS16.04-LTS
CanonicalCanonical UbuntuServerUbuntuServer 18.04-LTS18.04-LTS
OpenLogicOpenLogic CentOSCentOS 7.57.5
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2012-R2-Datacenter2012-R2-Datacenter
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2016-centre-de-données2016-Datacenter
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2016-Datacenter-Smalldisk2016-Datacenter-Smalldisk
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2016-centre-de-données-avec-conteneurs2016-Datacenter-with-Containers
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2019-Datacenter2019-Datacenter
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2019-Datacenter-Smalldisk2019-Datacenter-Smalldisk
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer 2019-Datacenter-with-Containers2019-Datacenter-with-Containers
MicrosoftWindowsServerMicrosoftWindowsServer WindowsServerWindowsServer Datacenter-Core-1903-with-Containers-smalldiskDatacenter-Core-1903-with-Containers-smalldisk

Conditions requises pour la configuration de la mise à niveau automatique d’image de système d’exploitationRequirements for configuring automatic OS image upgrade

  • La propriété version de l’image doit être définie sur latest.The version property of the image must be set to latest.
  • Utilisez des sondes d’intégrité d’application ou l’extension Intégrité de l’application pour des groupes identiques autres que Service Fabric.Use application health probes or Application Health extension for non-Service Fabric scale sets.
  • Utilisez l’API de calcul de la version 2018-10-01 ou ultérieure.Use Compute API version 2018-10-01 or higher.
  • Assurez-vous que les ressources externes spécifiées dans le modèle de groupe identique sont disponibles et à jour.Ensure that external resources specified in the scale set model are available and updated. Les ressources concernées sont l’URI SAS pour l’amorçage de la charge utile dans les propriétés d’extension de machine virtuelle et dans le compte de stockage, les références à des secrets dans le modèle, etc.Examples include SAS URI for bootstrapping payload in VM extension properties, payload in storage account, reference to secrets in the model, and more.
  • Pour les groupes identiques utilisant des machines virtuelles Windows, à partir de la version 2019-03-01 de l’API de calcul, la propriété virtualMachineProfile.osProfile.windowsConfiguration.enableAutomaticUpdates doit avoir la valeur false dans la définition du modèle de groupe identique.For scale sets using Windows virtual machines, starting with Compute API version 2019-03-01, the property virtualMachineProfile.osProfile.windowsConfiguration.enableAutomaticUpdates property must set to false in the scale set model definition. La propriété ci-dessus active les mises à niveau dans les machines virtuelles où « Windows Update » applique les correctifs du système d’exploitation sans remplacer le disque du système d’exploitation.The above property enables in-VM upgrades where "Windows Update" applies operating system patches without replacing the OS disk. Lorsque les mises à niveau automatiques de l’image du système d’exploitation sont activées sur votre groupe identique, une mise à jour supplémentaire effectuée par le biais de « Windows Update » n’est pas nécessaire.With automatic OS image upgrades enabled on your scale set, an additional update through "Windows Update" is not required.

Exigence pour Service FabricService Fabric requirements

Si vous utilisez Service Fabric, assurez-vous que les conditions suivantes sont remplies :If you are using Service Fabric, ensure the following conditions are met:

  • Le niveau de durabilité de Service Fabric est Silver ou Gold, et non Bronze.Service Fabric durability level is Silver or Gold, and not Bronze.
  • L’extension Service Fabric sur la définition du modèle de groupe identique doit avoir TypeHandlerVersion 1.1 ou version ultérieure.The Service Fabric extension on the scale set model definition must have TypeHandlerVersion 1.1 or above.
  • Le niveau de durabilité doit être identique au cluster Service Fabric et à l’extension de Service Fabric de la définition du modèle de groupe identique.Durability level should be the same at the Service Fabric cluster and Service Fabric extension on the scale set model definition.
  • Une sonde d’intégrité supplémentaire ou l’utilisation de l’extension d’intégrité d’application n’est pas nécessaire.An additional health probe or use of application health extension is not required.

Assurez-vous que les paramètres de durabilité ne sont pas incompatibles avec le cluster Service Fabric et l’extension Service Fabric, car une incompatibilité entraînera des erreurs de mise à niveau.Ensure that durability settings are not mismatched on the Service Fabric cluster and Service Fabric extension, as a mismatch will result in upgrade errors. Les niveaux de durabilité peuvent être modifiés selon les instructions indiquées surcette page.Durability levels can be modified per the guidelines outlined on this page.

Mise à niveau automatique de l’image du système d’exploitation pour les images personnaliséesAutomatic OS image upgrade for custom images

La mise à niveau automatique de l’image du système d’exploitation est prise en charge pour les images personnalisées déployées via Shared Image Gallery.Automatic OS image upgrade is supported for custom images deployed through Shared Image Gallery. Les autres images personnalisées ne sont pas prises en charge pour les mises à niveau automatiques de l’image du système d’exploitation.Other custom images are not supported for automatic OS image upgrades.

Exigences supplémentaires pour les images personnaliséesAdditional requirements for custom images

  • Le processus de paramétrage et de configuration de la mise à niveau automatique de l’image du système d’exploitation est le même pour tous les groupes identiques, comme indiqué dans la section Configuration de cette page.The setup and configuration process for automatic OS image upgrade is the same for all scale sets as detailed in the configuration section of this page.
  • Les instances de groupes identiques configurées pour les mises à niveau automatiques de l’image du système d’exploitation sont mises à niveau vers la dernière version de l’image de la Galerie d’images partagées lorsqu’une nouvelle version de l’image est publiée et répliquée dans la région de ce groupe identique.Scale sets instances configured for automatic OS image upgrades will be upgraded to the latest version of the Shared Image Gallery image when a new version of the image is published and replicated to the region of that scale set. Si la nouvelle image n’est pas répliquée vers la région où le groupe est déployé, les instances du groupe identique ne seront pas mises à niveau vers la dernière version.If the new image is not replicated to the region where the scale is deployed, the scale set instances will not be upgraded to the latest version. La réplication régionale d’images vous permet de contrôler le déploiement de la nouvelle image pour vos groupes identiques.Regional image replication allows you to control the rollout of the new image for your scale sets.
  • La nouvelle version de l’image ne doit pas être exclue de la version la plus récente pour cette image de la galerie.The new image version should not be excluded from the latest version for that gallery image. Les versions d’image exclues de la dernière version de l’image de la galerie ne sont pas déployées dans le groupe identique via la mise à niveau automatique de l’image du système d’exploitation.Image versions excluded from the gallery image's latest version are not rolled out to the scale set through automatic OS image upgrade.

Notes

Un groupe identique peut nécessiter jusqu’à 3 heures pour lancer le premier déploiement de mise à niveau d’une image après la première configuration du groupe identique pour les mises à niveau automatiques du système d’exploitation.It can take up to 3 hours for a scale set to trigger the first image upgrade rollout after the scale set is first configured for automatic OS upgrades. Il s’agit d’un délai unique par groupe identique.This is a one-time delay per scale set. Les déploiements d’images suivants sont déclenchés sur le groupe identique dans un délai de 30 à 60 minutes.Subsequent image rollouts are triggered on the scale set within 30-60 minutes.

Configurer la mise à niveau automatique d’image de système d’exploitationConfigure automatic OS image upgrade

Pour configurer la mise à niveau automatique d’image de système d’exploitation, vérifiez que la propriété automaticOSUpgradePolicy.enableAutomaticOSUpgrade est définie sur true dans la définition du modèle de groupe identique.To configure automatic OS image upgrade, ensure that the automaticOSUpgradePolicy.enableAutomaticOSUpgrade property is set to true in the scale set model definition.

API RESTREST API

L’exemple suivant montre comment activer les mises à niveau automatiques du système d’exploitation pour un modèle de groupe identique :The following example describes how to set automatic OS upgrades on a scale set model:

PUT or PATCH on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet?api-version=2019-12-01`
{
  "properties": {
    "upgradePolicy": {
      "automaticOSUpgradePolicy": {
        "enableAutomaticOSUpgrade":  true
      }
    }
  }
}

Azure PowerShellAzure PowerShell

Utilisez la cmdlet Update-AzVmss pour configurer les mises à niveau automatiques d’image de système d’exploitation pour votre groupe identique.Use the Update-AzVmss cmdlet to configure automatic OS image upgrades for your scale set. L’exemple suivant configure les mises à niveau automatiques pour le groupe identique nommé myScaleSet dans le groupe de ressources appelé myResourceGroup :The following example configures automatic upgrades for the scale set named myScaleSet in the resource group named myResourceGroup:

Update-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -AutomaticOSUpgrade $true

Azure CLI 2.0Azure CLI 2.0

Utilisez la cmdlet az vmss update pour configurer les mises à niveau automatiques d’image de système d’exploitation pour votre groupe identique.Use az vmss update to configure automatic OS image upgrades for your scale set. Utilisez Azure CLI 2.0.47 ou une version ultérieure.Use Azure CLI 2.0.47 or above. L’exemple suivant configure les mises à niveau automatiques pour le groupe identique nommé myScaleSet dans le groupe de ressources appelé myResourceGroup :The following example configures automatic upgrades for the scale set named myScaleSet in the resource group named myResourceGroup:

az vmss update --name myScaleSet --resource-group myResourceGroup --set UpgradePolicy.AutomaticOSUpgradePolicy.EnableAutomaticOSUpgrade=true

Notes

Après la configuration des mises à niveau automatiques d’image de système d’exploitation pour votre groupe identique, vous devez également appliquer aux machines virtuelles du groupe identique le dernier modèle de groupe identique si votre groupe identique utilise la stratégie de mise à jour « Manuel ».After configuring automatic OS image upgrades for your scale set, you must also bring the scale set VMs to the latest scale set model if your scale set uses the 'Manual' upgrade policy.

Utilisation de sondes d’intégrité d’applicationUsing Application Health Probes

Durant une mise à niveau du système d’exploitation, les instances de machine virtuelle dans un groupe identique sont mises à niveau par lot.During an OS Upgrade, VM instances in a scale set are upgraded one batch at a time. La mise à niveau doit se poursuivre uniquement si l’application du client est intègre sur les instances de machine virtuelle mises à niveau.The upgrade should continue only if the customer application is healthy on the upgraded VM instances. Nous recommandons que l’application envoie des signaux d’intégrité au moteur de mise à niveau du système d’exploitation pour le groupe identique.We recommend that the application provides health signals to the scale set OS Upgrade engine. Par défaut, pendant les mises à niveau du système d’exploitation, la plateforme vérifie l’état d’alimentation des machines virtuelles et l’état de provisionnement des extensions pour déterminer l’intégrité d’une instance de machine virtuelle après sa mise à niveau.By default, during OS Upgrades the platform considers VM power state and extension provisioning state to determine if a VM instance is healthy after an upgrade. Lors de la mise à niveau du système d’exploitation d’une instance de machine virtuelle, le disque du système d’exploitation sur l’instance de machine virtuelle est remplacé par un nouveau disque basé sur la dernière version de l’image.During the OS Upgrade of a VM instance, the OS disk on a VM instance is replaced with a new disk based on latest image version. Après la mise à niveau du système d’exploitation, les extensions configurées sont exécutées sur ces machines virtuelles.After the OS Upgrade has completed, the configured extensions are run on these VMs. L’application est considérée comme saine uniquement quand toutes les extensions sur l’instance ont été correctement provisionnées.The application is considered healthy only when all the extensions on the instance are successfully provisioned.

Un groupe identique peut éventuellement être configuré avec des sondes d’intégrité d’application pour fournir à la plateforme des informations précises sur l’état actuel de l’application.A scale set can optionally be configured with Application Health Probes to provide the platform with accurate information on the ongoing state of the application. Les sondes d’intégrité d’application sont des sondes d’équilibreur de charge personnalisées qui sont utilisées comme signal d’intégrité.Application Health Probes are Custom Load Balancer Probes that are used as a health signal. L’application exécutée sur une instance de machine virtuelle d’un groupe identique peut répondre à des requêtes HTTP ou TCP externes en indiquant si elle est saine.The application running on a scale set VM instance can respond to external HTTP or TCP requests indicating whether it's healthy. Pour plus d’informations sur le fonctionnement des sondes d’équilibreur de charge personnalisées, consultez Comprendre les sondes d’équilibreur de charge.For more information on how Custom Load Balancer Probes work, see to Understand load balancer probes. Les sondes d’intégrité d’application ne sont pas prises en charge pour des groupes identiques Service Fabric.Application Health Probes are not supported for Service Fabric scale sets. Pour les groupes identiques autres que Service Fabric, vous devez utiliser des sondes d’intégrité d’application Load Balancer ou l’extension Intégrité de l’application.Non-Service Fabric scale sets require either Load Balancer application health probes or Application Health extension.

Si le groupe identique est configuré pour utiliser plusieurs groupes de sélection élective, vous devez utiliser des sondes avec un équilibreur de charge standard.If the scale set is configured to use multiple placement groups, probes using a Standard Load Balancer need to be used.

Configuration d’une sonde d’équilibreur de charge personnalisée comme sonde d’intégrité d’application dans un groupe identiqueConfiguring a Custom Load Balancer Probe as Application Health Probe on a scale set

La bonne pratique est de créer une sonde d’équilibreur de charge de manière explicite pour déterminer l’intégrité du groupe identique.As a best practice, create a load balancer probe explicitly for scale set health. Vous pouvez utiliser le même point de terminaison pour une sonde HTTP ou TCP existante, mais une sonde d’intégrité n’a pas forcément le même comportement qu’une sonde d’équilibreur de charge standard.The same endpoint for an existing HTTP probe or TCP probe can be used, but a health probe could require different behavior from a traditional load-balancer probe. Par exemple, une sonde d’équilibreur de charge standard signale un état non sain quand la charge sur l’instance est trop élevée, mais cela ne détermine pas forcément l’intégrité de l’instance durant une mise à niveau automatique du système d’exploitation.For example, a traditional load balancer probe could return unhealthy if the load on the instance is too high, but that would not be appropriate for determining the instance health during an automatic OS upgrade. Configurez la sonde pour que le taux de sondage élevé soit inférieur à deux minutes.Configure the probe to have a high probing rate of less than two minutes.

La sonde d’équilibreur de charge peut être référencée dans la propriété networkProfile du groupe identique et être associée à un équilibreur de charge interne ou public, comme suit :The load-balancer probe can be referenced in the networkProfile of the scale set and can be associated with either an internal or public facing load-balancer as follows:

"networkProfile": {
  "healthProbe" : {
    "id": "[concat(variables('lbId'), '/probes/', variables('sshProbeName'))]"
  },
  "networkInterfaceConfigurations":
  ...
}

Notes

Lors de l’utilisation de mises à niveau automatiques du système d’exploitation avec Service Fabric, la nouvelle image du système d’exploitation est déployée, un domaine de mise à jour après l’autre, pour maintenir la haute disponibilité des services en cours d’exécution dans Service Fabric.When using Automatic OS Upgrades with Service Fabric, the new OS image is rolled out Update Domain by Update Domain to maintain high availability of the services running in Service Fabric. Pour utiliser les mises à niveau automatiques du système d’exploitation dans Service Fabric, votre cluster doit être configuré pour utiliser le niveau de durabilité Silver ou une version supérieure.To utilize Automatic OS Upgrades in Service Fabric your cluster must be configured to use the Silver Durability Tier or higher. Pour plus d’informations sur les caractéristiques de durabilité des clusters Service Fabric, voir cette documentation.For more information on the durability characteristics of Service Fabric clusters, please see this documentation.

Tenez à jour toutes les informations d’identificationKeep credentials up to date

Si votre groupe identique utilise des informations d’identification pour accéder à des ressources externes, telles qu’une extension de machine virtuelle configurée pour utiliser un jeton SAS pour le compte de stockage, assurez-vous que les informations d’identification sont mises à jour.If your scale set uses any credentials to access external resources, such as a VM extension configured to use a SAS token for storage account, then ensure that the credentials are updated. Si les informations d’identification, y compris les certificats et les jetons, ont expiré, la mise à niveau échouera, et le premier lot de machines virtuelles restera dans un état d’échec.If any credentials, including certificates and tokens, have expired, the upgrade will fail and the first batch of VMs will be left in a failed state.

Pour récupérer les machines virtuelles et réactiver la mise à niveau automatique du système d’exploitation après un échec d’authentification des ressources, effectuez les étapes recommandées suivantes :The recommended steps to recover VMs and re-enable automatic OS upgrade if there's a resource authentication failure are:

  • Regénérez le jeton (ou d’autres informations d’identification) qui a été passé à vos extensions.Regenerate the token (or any other credentials) passed into your extension(s).
  • Vérifiez que toutes les informations d’identification utilisées pour les communications entre les machines virtuelles et les entités externes sont à jour.Ensure that any credential used from inside the VM to talk to external entities is up to date.
  • Mettez à jour chaque extension dans le modèle de groupe identique avec les nouveaux jetons.Update extension(s) in the scale set model with any new tokens.
  • Déployez le groupe identique mis à jour. Cette opération met à jour toutes les instances de machine virtuelle, y compris celles en échec.Deploy the updated scale set, which will update all VM instances including the failed ones.

Utilisation de l’extension Intégrité de l’applicationUsing Application Health extension

L’extension Intégrité de l’application est déployée à l’intérieur d’une instance de groupe de machines virtuelles identiques et rend compte de l’intégrité des machines virtuelles à partir de l’instance de groupe identique.The Application Health extension is deployed inside a virtual machine scale set instance and reports on VM health from inside the scale set instance. Vous pouvez configurer l’extension pour sonder un point de terminaison d’application et mettre à jour l’état de l’application sur cette instance.You can configure the extension to probe on an application endpoint and update the status of the application on that instance. Cet état de l’instance est vérifié par Azure pour déterminer si une instance est éligible pour des opérations de mise à niveau.This instance status is checked by Azure to determine whether an instance is eligible for upgrade operations.

Étant donné que l’extension rend compte de l’intégrité à partir d’une machine virtuelle, elle peut être utilisée dans les situations où les sondes externes telles que les sondes d’intégrité d’application (qui utilisent des sondes Azure Load Balancer personnalisées) ne peuvent pas être utilisées.As the extension reports health from within a VM, the extension can be used in situations where external probes such as Application Health Probes (that utilize custom Azure Load Balancer probes) can’t be used.

Il existe plusieurs façons de déployer l’extension Intégrité de l’application dans vos groupes identiques, comme cela est expliqué dans les exemples de cet article.There are multiple ways of deploying the Application Health extension to your scale sets as detailed in the examples in this article.

Obtenir l’historique des mises à niveau automatiques d’image de système d’exploitationGet the history of automatic OS image upgrades

Vous pouvez vérifier l’historique de la dernière mise à niveau du système d’exploitation effectuée dans un groupe identique à l’aide d’Azure PowerShell, d’Azure CLI 2.0 ou des API REST.You can check the history of the most recent OS upgrade performed on your scale set with Azure PowerShell, Azure CLI 2.0, or the REST APIs. Vous pouvez obtenir l’historique des cinq dernières tentatives de mise à niveau du système d’exploitation au cours des deux derniers mois.You can get history for the last five OS upgrade attempts within the past two months.

API RESTREST API

L’exemple suivant utilise l’API REST pour vérifier l’état du groupe identique nommé myScaleSet dans le groupe de ressources appelé myResourceGroup :The following example uses REST API to check the status for the scale set named myScaleSet in the resource group named myResourceGroup:

GET on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet/osUpgradeHistory?api-version=2019-12-01`

L’appel de Get retourne des propriétés similaires à l’exemple de sortie suivant :The GET call returns properties similar to the following example output:

{
    "value": [
        {
            "properties": {
        "runningStatus": {
          "code": "RollingForward",
          "startTime": "2018-07-24T17:46:06.1248429+00:00",
          "completedTime": "2018-04-21T12:29:25.0511245+00:00"
        },
        "progress": {
          "successfulInstanceCount": 16,
          "failedInstanceCount": 0,
          "inProgressInstanceCount": 4,
          "pendingInstanceCount": 0
        },
        "startedBy": "Platform",
        "targetImageReference": {
          "publisher": "MicrosoftWindowsServer",
          "offer": "WindowsServer",
          "sku": "2016-Datacenter",
          "version": "2016.127.20180613"
        },
        "rollbackInfo": {
          "successfullyRolledbackInstanceCount": 0,
          "failedRolledbackInstanceCount": 0
        }
      },
      "type": "Microsoft.Compute/virtualMachineScaleSets/rollingUpgrades",
      "location": "westeurope"
    }
  ]
}

Azure PowerShellAzure PowerShell

Utilisez l’applet de commande Get-AzVmss afin de vérifier l’historique de mise à niveau du système d’exploitation pour votre groupe identique.Use the Get-AzVmss cmdlet to check OS upgrade history for your scale set. L’exemple suivant montre comment vérifier l’état de la mise à niveau du système d’exploitation pour un groupe identique nommé myScaleSet dans le groupe de ressources appelé myResourceGroup :The following example details how you review the OS upgrade status for a scale set named myScaleSet in the resource group named myResourceGroup:

Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -OSUpgradeHistory

Azure CLI 2.0Azure CLI 2.0

Utilisez az vmss get-os-upgrade-history afin de vérifier l’historique de mise à niveau du système d’exploitation pour votre groupe identiqueUse az vmss get-os-upgrade-history to check the OS upgrade history for your scale set. Utilisez Azure CLI 2.0.47 ou une version ultérieure.Use Azure CLI 2.0.47 or above. L’exemple suivant montre comment vérifier l’état de la mise à niveau du système d’exploitation pour un groupe identique nommé myScaleSet dans le groupe de ressources appelé myResourceGroup :The following example details how you review the OS upgrade status for a scale set named myScaleSet in the resource group named myResourceGroup:

az vmss get-os-upgrade-history --resource-group myResourceGroup --name myScaleSet

Comment obtenir la dernière version d’une image de système d’exploitation de plateforme ?How to get the latest version of a platform OS image?

Vous pouvez obtenir les versions disponibles d’image des références SKU prises en charge pour la mise à niveau automatique du système d’exploitation en utilisant les exemples ci-dessous :You can get the available image versions for automatic OS upgrade supported SKUs using the below examples:

API RESTREST API

GET on `/subscriptions/subscription_id/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions?api-version=2019-12-01`

Azure PowerShellAzure PowerShell

Get-AzVmImage -Location "westus" -PublisherName "Canonical" -Offer "UbuntuServer" -Skus "16.04-LTS"

Azure CLI 2.0Azure CLI 2.0

az vm image list --location "westus" --publisher "Canonical" --offer "UbuntuServer" --sku "16.04-LTS" --all

Déclencher manuellement les mises à niveau d’images du système d’exploitationManually trigger OS image upgrades

Lorsque la mise à niveau automatique de l’image du système d’exploitation est activée sur votre groupe identique, vous n’avez pas besoin de déclencher manuellement les mises à jour.With automatic OS image upgrade enabled on your scale set, you do not need to manually trigger image updates on your scale set. L’orchestrateur de mise à niveau du système d’exploitation applique automatiquement la dernière version de l’image disponible à vos instances de groupe identique sans aucune intervention manuelle.The OS upgrade orchestrator will automatically apply the latest available image version to your scale set instances without any manual intervention.

Pour des cas spécifiques où vous ne souhaitez pas attendre que l’orchestrateur applique la dernière image, vous pouvez déclencher manuellement une mise à niveau de l’image du système d’exploitation à l’aide des exemples ci-dessous.For specific cases where you do not want to wait for the orchestrator to apply the latest image, you can trigger an OS image upgrade manually using the below examples.

Notes

Le déclencheur manuel des mises à niveau d’images du système d’exploitation ne fournit pas de fonctionnalités de restauration automatique.Manual trigger of OS image upgrades does not provide automatic rollback capabilities. Si une instance ne récupère pas son intégrité après une opération de mise à niveau, son disque de système d’exploitation précédent ne peut pas être restauré.If an instance does not recover its health after an upgrade operation, its previous OS disk can't be restored.

API RESTREST API

Utilisez l’appel démarrer l’API de mise à niveau du système d’exploitation pour démarrer une mise à niveau propagée afin de déplacer toutes les instances du groupe de machines virtuelles identiques vers la dernière version disponible du système d’exploitation.Use the Start OS Upgrade API call to start a rolling upgrade to move all virtual machine scale set instances to the latest available image OS version. Les instances qui exécutent déjà la dernière version du système d’exploitation disponible ne sont pas affectées.Instances that are already running the latest available OS version are not affected. L’exemple suivant explique en détail comment vous pouvez démarrer une mise à niveau propagée du système d’exploitation sur un groupe identique nommé myScaleSet dans le groupe de ressources nommé myResourceGroup :The following example details how you can start a rolling OS upgrade on a scale set named myScaleSet in the resource group named myResourceGroup:

POST on `/subscriptions/subscription_id/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet/osRollingUpgrade?api-version=2019-12-01`

Azure PowerShellAzure PowerShell

Utilisez le cmdlet de Start-AzVmssRollingOSUpgrade afin de vérifier l’historique de mise à niveau du système d’exploitation pour votre groupe identique.Use the Start-AzVmssRollingOSUpgrade cmdlet to check OS upgrade history for your scale set. L’exemple suivant explique en détail comment vous pouvez démarrer une mise à niveau propagée du système d’exploitation sur un groupe identique nommé myScaleSet dans le groupe de ressources nommé myResourceGroup :The following example details how you can start a rolling OS upgrade on a scale set named myScaleSet in the resource group named myResourceGroup:

Start-AzVmssRollingOSUpgrade -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

Azure CLI 2.0Azure CLI 2.0

Utilisez az vmss rolling-upgrade start afin de vérifier l’historique de mise à niveau du système d’exploitation pour votre groupe identique.Use az vmss rolling-upgrade start to check the OS upgrade history for your scale set. Utilisez Azure CLI 2.0.47 ou une version ultérieure.Use Azure CLI 2.0.47 or above. L’exemple suivant explique en détail comment vous pouvez démarrer une mise à niveau propagée du système d’exploitation sur un groupe identique nommé myScaleSet dans le groupe de ressources nommé myResourceGroup :The following example details how you can start a rolling OS upgrade on a scale set named myScaleSet in the resource group named myResourceGroup:

az vmss rolling-upgrade start --resource-group "myResourceGroup" --name "myScaleSet" --subscription "subscriptionId"

Déployer les mises à niveau avec un modèleDeploy with a template

Vous pouvez utiliser des modèles pour déployer un groupe identique avec les mises à niveau automatiques du système d’exploitation pour les images prises en charge comme Ubuntu 16.04-LTS.You can use templates to deploy a scale set with automatic OS upgrades for supported images such as Ubuntu 16.04-LTS.

Button to Deploy to Azure.

Étapes suivantesNext steps

Pour obtenir d’autres exemples d’utilisation des mises à niveau automatiques du système d’exploitation avec des groupes identiques, consultez le dépôt GitHub.For more examples on how to use automatic OS upgrades with scale sets, review the GitHub repo.