Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece soluções para problemas comuns de pools de DevOps gerenciados.
Erros de criação de pool
| Código do erro | Descrição |
|---|---|
PoolProvisioningFailed |
Falha na criação de pool devido às permissões da organização do Azure DevOps |
UnauthorizedAccessToVirtualNetwork |
Falha na criação do pool devido a permissões de VNet |
Falha na criação do pool devido a permissões na organização do Azure DevOps
A criação do pool falha com um erro semelhante a uma das mensagens de erro a seguir.
O usuário conectado não foi encontrado na organização 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>."
Como resolver o problema:
- Sua organização Azure DevOps deve estar conectada a Microsoft Entra ID e seu usuário Azure conectado deve ser um membro (e não um convidado) desse locatário. Consulte os pré-requisitos dos Pools de DevOps Gerenciados – Conecte sua organização Azure DevOps ao Microsoft Entra ID e verifique a associação.
O usuário conectado não tem permissões gerenciar na organização 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>."
Como resolver o problema:
- Seu usuário conectado Azure deve ter as permissões de Azure DevOps adequadas para criar um pool. Consulte Azure DevOps pré-requisitos – verificar permissões de Azure DevOps.
Falha na criação do pool devido a permissões de VNet
A criação do pool falha com um UnauthorizedAccessToVirtualNetwork erro semelhante ao seguinte erro: 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..
Para resolver o problema:
- Os pools de DevOps gerenciados exigem acesso à sua rede virtual. Consulte Conceder acesso de Leitor e Contribuidor de Rede ao principal do serviço DevOpsInfrastructure.
- A sub-rede de rede virtual precisa ser delegada para
Microsoft.DevOpsInfrastructure/pools. Veja como delegar a sub-rede para Microsoft.DevOpsInfrastructure/pools.
Atrasos na inicialização do pipeline
Ao usar pools de DevOps gerenciados, você pode encontrar situações em que há um longo atraso antes que um pipeline comece a ser executado depois que ele é disparado. Esta seção do guia de solução de problemas descreve itens comuns que podem afetar o desempenho de seus pools. Para obter mais informações, consulte Gerenciar custo e desempenho.
- Verificar a falta de trabalhos paralelos
- Verificar a configuração máxima de agentes
- Considere pré-provisionar agentes usando um cronograma de agentes de espera
- Considere usar pools stateful com um período de carência para manter os agentes online
- Verificar códigos de erro de tempo limite
Verificar se há insuficiência de trabalhos paralelos
Os agentes dos Pools de DevOps Gerenciados são considerados como agentes auto-hospedados pelo Azure DevOps e exigem que trabalhos paralelos auto-hospedados sejam executados. Por exemplo, se a contagem paralela auto-hospedada da sua organização for 10, sua organização poderá executar apenas 10 trabalhos de pipeline auto-hospedados simultaneamente. Se mais de 10 pipelines estiverem na fila, somente 10 por vez poderão ser executados.
Verifique a contagem de trabalhos paralelos auto-hospedados para garantir que você tenha capacidade suficiente para atender às necessidades simultâneas de pipeline de sua carga de trabalho. Para obter mais informações, consulte Configurar e pagar por trabalhos paralelos.
Verificar a configuração máxima de agentes
A configuração máximo de agentes configura a contagem máxima de agentes em execução no pool de DevOps Gerenciado. Se a configuração máxima de agentes for 5, os Pools de DevOps Gerenciados poderão executar no máximo cinco pipelines simultâneos. Se mais de cinco pipelines estiverem na fila, os pipelines adicionais não serão iniciados até que um dos cinco agentes disponíveis esteja disponível.
Observação
Agentes máximos configura o número máximo de agentes que podem ser provisionados ao mesmo tempo, mas a contagem de trabalhos paralelos autohospedados da sua organização especifica o número de trabalhos que podem ser executados simultaneamente. Verifique se você tem trabalhos paralelos auto-gerenciados suficientes disponíveis em sua organização para que seus agentes possam executar trabalhos. Para obter mais informações, consulte preços de tarefas paralelas do Azure DevOps Services.
Considere pré-configurar agentes usando um agendamento de agente em espera
Se o modo de agente em espera estiver desabilitado, os agentes de Pools de DevOps Gerenciados serão iniciados sob demanda quando um pipeline é colocado na fila, e embora normalmente um novo agente demore apenas alguns instantes para iniciar, às vezes pode demorar até 15 minutos.
Quando o modo de agente em espera estiver habilitado, você poderá especificar um agendamento e uma contagem de agentes para se manter pronto para atender às demandas de sua carga de trabalho.
Para obter mais informações, consulte Gerenciar custo e desempenho – Pré-provisionamento com agentes em espera.
Modo de espera automático para novos pools
Os Pools de DevOps Gerenciados usam dados históricos de uso do pool para ajudar a fazer suas previsões de dimensionamento do modo de espera automático . Novos pools não têm dados históricos, portanto, os agentes podem ser criados sob demanda. Para melhorar o desempenho, você pode alternar para o modo de espera manual para o primeiro mês e alternar para o modo de espera automático depois que os Pools de DevOps Gerenciados tiverem tempo para observar o uso do pool.
Verificar o percentual do agente em espera se estiver usando agentes em espera com várias imagens
Se você usar agentes em espera com várias imagens, verifique o histórico de uso por imagem e compare-o com a configuração de porcentagem de agente em espera de suas imagens para garantir que sua taxa de espera corresponda ao seu uso. Por exemplo, se você tiver uma imagem do Windows e uma imagem do Ubuntu, e sua carga de trabalho usar Windows 75% do tempo, verifique se sua imagem do Windows está configurada com um percentual de agente de espera de 75%.
Considere usar pools stateful com um período de carência para manter os agentes online
Uma opção para melhorar o desempenho do agente sem usar agentes em espera é usar agentes com estado com um curto período de carência. Quando um agente com estado com um período de carência conclui um trabalho, ele permanece online pela duração especificada pelo período de carência e aguarda por trabalhos adicionais. Se a carga de trabalho ocorrer em picos, você poderá configurar um período de tolerância que mantém os agentes online quando os trabalhos estiverem estáveis e reiniciá-los do zero durante períodos mais lentos.
Para obter mais informações, consulte agentes em espera e pools com estado.
Verificar códigos de erro de tempo limite
Se a atribuição do agente atingir o tempo limite, você poderá verificar o código de erro na seção Códigos de erro da página Visão Geral .
O pipeline não foi concluído com sucesso.
Verifique se houve uma atualização de imagem
Se os pipelines começarem a falhar após uma atualização de imagem, você poderá configurar temporariamente seus pipelines para usar a versão anterior da imagem. Você pode configurar seus pipelines com falha para usar a versão da imagem anterior por pipeline, ou pode configurar a versão da imagem anterior para todos os pipelines no Pool de DevOps Gerenciado que usam essa imagem, respectivamente.
Para ver se os pipelines estão falhando devido a uma mudança na versão da imagem, compare a versão da imagem em uma execução de pipeline que falhou com a versão da imagem da última execução de pipeline bem-sucedida.
Acesse seu pipeline e examine o histórico de execução do pipeline.
Exiba os detalhes de execução das duas execuções de pipeline que você deseja comparar e escolha o trabalho de pipeline para exibir informações de diagnóstico sobre esse trabalho. Se o pipeline tiver vários trabalhos, escolha o trabalho executado usando o Pool de DevOps Gerenciado.
Escolha Inicializar o trabalho e recupere a versão da imagem da seção Versão da imagem atual .
Se as versões de imagem forem diferentes entre a execução de pipeline com falha recente e a execução bem-sucedida anterior, a falha poderá ser causada por uma atualização de imagem. Você tem duas opções para reverter temporariamente para a versão anterior da imagem enquanto soluciona a causa raiz.
- Para executar apenas o pipeline com falha usando a versão anterior da imagem, adicione uma
ImageVersionOverridedemanda ao pipeline para especificar a versão anterior. Para obter mais informações, consulte ImageVersionOverride. - Para atualizar as configurações do pool para que todos os pipelines que usam a imagem executem usando a versão anterior, atualize as configurações de imagem e especifique a versão desejada.
- Se você estiver usando imagens Azure Pipelines você deve usar modelos ARM ou Azure CLI para especificar a versão, já que Azure Pipelines imagens configuradas usando o portal Azure sempre usa a versão mais recente.
- Se você estiver usando imagens do marketplace Selected ou Azure imagens da Galeria de Computação, poderá especificar a versão usando o portal Azure, bem como modelos do ARM e Azure CLI.
Os Pools de DevOps Gerenciados mantêm as últimas 20 imagens disponíveis para imagens selecionadas do marketplace e as últimas 10 imagens disponíveis para imagens de Azure Pipelines. As versões anteriores das imagens da Galeria de Computação Azure são mantidas pelos proprietários dessas galerias de computação Azure.
Conteúdo relacionado
- Pré-requisitos do Managed DevOps Pools
- Configurar a rede de pools de DevOps gerenciados
- Gerenciar custo e desempenho
- Solucionar problemas de agentes do conjunto de escalonamento – predecessor de Pools de DevOps Gerenciados