Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit des solutions aux problèmes courants liés aux pools DevOps managés.
Erreurs de création de pool
| Code d'erreur | Descriptif |
|---|---|
PoolProvisioningFailed |
Échec de création de pool en raison des autorisations de l’organisation Azure DevOps |
UnauthorizedAccessToVirtualNetwork |
Échec de création de pool en raison des autorisations de réseau virtuel |
Échec de création de pool en raison des autorisations de l’organisation Azure DevOps
La création du pool échoue avec une erreur similaire à celle des messages d’erreur suivants.
L’utilisateur connecté n’a pas été trouvé dans l’organisation Azure DevOps
Validation failure "PoolProvisioningFailed": "Failed to provision agent pool. Exception: The logged in user, <your user>, was not found in the Azure DevOps organization provided, <your Azure DevOps organization>."
Pour résoudre le problème :
- Votre organisation Azure DevOps doit être connectée à l’ID Microsoft Entra et votre utilisateur Azure connecté doit être membre (et non invité) de ce locataire. Consultez les prérequis des pools DevOps managés : connectez votre organisation Azure DevOps à l’ID Microsoft Entra et vérifiez l’appartenance.
L’utilisateur connecté ne dispose pas des autorisations Gérer dans l’organisation Azure DevOps
Validation failure "PoolProvisioningFailed": "Failed to provision agent pool. Exception: The logged in user, <your user>, does not have Manage permissions in the Azure DevOps organization provided, <your Azure DevOps organization>."
Pour résoudre le problème :
- Votre utilisateur Azure connecté doit disposer des autorisations Azure DevOps appropriées pour créer un pool. Consultez les prérequis d’Azure DevOps - Vérifier les autorisations Azure DevOps.
Échec de création de pool en raison des autorisations de réseau virtuel
La création du pool échoue avec une UnauthorizedAccessToVirtualNetwork erreur similaire à l’erreur suivante : Validation failure "UnauthorizedAccessToVirtualNetwork": "DevOpsInfrastructure service principal does not have Read access to virtual network <your VNet> in resource group <your resource group>. Give Reader and Network Contributor access to DevOpsInfrastructure service principal and try again..
Pour résoudre ce problème :
- Les pools DevOps managés nécessitent l’accès à votre réseau virtuel. Consultez Accorder l’accès Lecteur et Contributeur réseau au principal du service DevOpsInfrastructure.
- Le sous-réseau de réseau virtuel doit être délégué à
Microsoft.DevOpsInfrastructure/pools. Consultez Déléguer le sous-réseau à Microsoft.DevOpsInfrastructure/pools.
Retards dans le démarrage du pipeline
Lorsque vous utilisez des pools DevOps managés, vous pouvez rencontrer des situations où il existe un long délai avant qu’un pipeline ne commence à s’exécuter une fois qu’il est déclenché. Cette section du guide de résolution des problèmes décrit les éléments courants qui peuvent avoir un impact sur les performances de vos pools. Pour plus d’informations, consultez Gérer les coûts et les performances.
- Vérifier l'insuffisance des tâches parallèles
- Vérifier la configuration maximale des agents
- Envisagez de préprovisionner des agents à l’aide d’une planification pour agents en attente
- Pensez à utiliser des pools Stateful avec une période de grâce pour maintenir les agents en ligne
- Vérifier les codes d’erreur de délai d’attente
Vérifier les tâches parallèles insuffisantes
Les agents de pools DevOps managés sont considérés comme des agents auto-hébergés par Azure DevOps et nécessitent des travaux parallèles auto-hébergés à exécuter. Par exemple, si le nombre parallèle auto-hébergé de votre organisation est égal à 10, votre organisation ne peut exécuter que 10 travaux de pipeline auto-hébergés simultanément. Si plus de 10 pipelines sont mis en file d'attente, seuls 10 à la fois peuvent être exécutés.
Vérifiez le nombre de tâches parallèles auto-hébergées pour vous assurer que vous disposez d'une capacité suffisante pour satisfaire aux besoins simultanés de votre charge de travail en matière de pipelines. Pour plus d’informations, consultez Configurer et payer des travaux parallèles.
Vérifier la configuration maximale des agents
Le paramètre Nombre maximal d’agents configure le nombre maximal d’agents en cours d’exécution dans votre pool DevOps managé. Si le paramètre Nombre maximal d’agents est 5, les pools DevOps managés peuvent exécuter un maximum de cinq pipelines simultanés. Si plus de cinq pipelines sont mis en file d’attente, les pipelines supplémentaires ne démarreront pas tant qu'un des cinq agents disponibles n'est pas libre.
Remarque
Les agents maximum configurent le nombre maximal d’agents pouvant être provisionnés en même temps, mais le nombre de travaux parallèles auto-hébergés de votre organisation spécifie le nombre de travaux pouvant s’exécuter simultanément. Vérifiez que vous disposez de suffisamment de travaux parallèles auto-hébergés dans votre organisation pour permettre à vos agents d’exécuter des travaux. Pour plus d’informations, consultez la tarification des travaux parallèles Azure DevOps Services.
Envisagez de préprovisionner des agents en utilisant un calendrier d'agents de réserve
Si le mode de l’agent de veille est désactivé, les agents des pools DevOps gérés sont démarrés à la demande lorsqu’un pipeline est mis en file d’attente, et bien qu’un nouvel agent ne prenne généralement que quelques instants pour démarrer, il peut parfois prendre jusqu’à 15 minutes.
Lorsque le mode de l’agent de secours est activé, vous pouvez spécifier une planification et un nombre d’agents pour rester prêts à répondre aux demandes de votre charge de travail.
Pour plus d’informations, consultez Gérer les coûts et les performances - Préprovisionnement avec des agents de secours.
Mode de secours automatique pour les nouveaux pools
La gestion des pools DevOps utilise des données historiques sur l'utilisation des pools pour aider à prévoir les besoins de mise à l’échelle en activant automatiquement le mode de veille. Les nouveaux pools n’ont pas de données historiques. Les agents peuvent donc être créés à la demande. Pour améliorer les performances, vous pouvez basculer vers le mode de secours manuel pour le premier mois et basculer vers le mode de secours automatique une fois que les pools DevOps gérés ont eu le temps d’observer l’utilisation de votre pool.
Vérifiez le pourcentage d’agents de veille si vous utilisez des agents de veille avec plusieurs images
Si vous utilisez des agents de secours avec plusieurs images, vérifiez l’historique d’utilisation par image et comparez-le au paramètre de pourcentage de l’agent de secours de vos images pour vous assurer que votre ratio de secours correspond à votre utilisation. Par exemple, si vous avez une image Windows et une image Ubuntu, et que votre charge de travail utilise windows 75% de temps, vérifiez que votre image Windows est configurée avec un pourcentage d’agent de secours de 75.
Envisagez d’utiliser des pools d'état avec un délai de grâce pour maintenir les agents en ligne.
Une option pour améliorer les performances des agents sans utiliser d'agents en attente consiste à utiliser des agents à états avec une courte période de grâce. Lorsqu'un agent d'état disposant d'une période de grâce effectue un travail, il reste en ligne pendant la durée spécifiée par cette période de grâce et attend des travaux supplémentaires. Si votre charge de travail est en rafales, vous pouvez configurer une période de grâce qui maintient les agents en ligne lorsque les travaux sont stables et les démarre à partir de zéro pendant des périodes plus lentes.
Pour plus d’informations, consultez les agents de veille et les pools à état conservé.
Vérifier les codes d’erreur de délai d’attente
Si votre affectation d’agent expire, vous pouvez vérifier le code d’erreur dans la section Codes d’erreur de la page Vue d’ensemble .
Échec de la réussite du pipeline
Vérifier s’il y a eu une mise à jour d’image
Si vos pipelines commencent à échouer après une mise à jour d’image, vous pouvez configurer temporairement vos pipelines pour utiliser la version précédente de l’image. Vous pouvez configurer vos pipelines défaillants pour utiliser la version d’image précédente par pipeline, ou vous pouvez configurer la version d’image précédente pour tous les pipelines de votre pool DevOps managé qui utilisent cette image.
Pour déterminer si vos pipelines échouent en raison d’une modification de version d’image, comparez la version de l’image sur une exécution de pipeline ayant échoué avec la version de l’image à partir de la dernière exécution réussie du pipeline.
Accédez à votre pipeline et consultez l’historique des exécutions de celui-ci.
Affichez les détails de l’exécution pour les deux exécutions de pipeline que vous souhaitez comparer, puis choisissez la tâche de pipeline pour afficher les informations de diagnostic concernant cette tâche. Si votre pipeline a plusieurs travaux, choisissez le travail qui s’exécute à l’aide de votre pool DevOps managé.
Choisissez Initialiser le travail et récupérez la version de l’image dans la section Version de l’image actuelle .
Si les versions d’image sont différentes de l’exécution récente du pipeline ayant échoué et de la dernière exécution réussie, l’échec peut être dû à une mise à jour d’image. Vous avez deux choix pour revenir temporairement à la version précédente de l’image pendant que vous résolvez la cause racine.
- Pour exécuter uniquement le pipeline défaillant à l’aide de la version d’image précédente, ajoutez une
ImageVersionOverridedemande à votre pipeline pour spécifier la version précédente. Pour plus d’informations, consultez ImageVersionOverride. - Pour mettre à jour les paramètres du pool afin que tous les pipelines utilisant l’image s’exécutent à l’aide de la version précédente, mettez à jour vos paramètres d’image et spécifiez la version souhaitée.
- Si vous utilisez des images Azure Pipelines, vous devez utiliser des modèles ARM ou Azure CLI pour spécifier la version, car les images Azure Pipelines configurées à l’aide du portail Azure utilisent toujours la dernière version.
- Si vous utilisez des images de Marketplace sélectionnées ou des images Azure Compute Gallery, vous pouvez spécifier la version à l’aide du portail Azure, ainsi que des modèles ARM et d’Azure CLI.
Les pools DevOps managés conservent les 20 dernières images disponibles pour les images de la Place de marché sélectionnées et les 10 dernières images disponibles pour les images Azure Pipelines. Les versions antérieures des images Azure Compute Gallery sont gérées par les propriétaires de ces Azure Compute Galleries.