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 do pool devido a permissões de 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 de 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 do 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 do Azure DevOps deve estar conectada à ID do Microsoft Entra e seu usuário conectado do Azure deve ser um membro (e não um convidado) desse locatário. Consulte Pré-requisitos de pools de DevOps gerenciados – Conectar sua organização do Azure DevOps à ID do Microsoft Entra e verificar a associação.
O usuário conectado não tem permissões de gerenciamento na organização do 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:
- O usuário conectado do Azure deve ter as permissões adequadas do Azure DevOps para criar um pool. Consulte Pré-requisitos do Azure DevOps – Verificar permissões do 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 ao Leitor e ao Colaborador de Rede à entidade de serviço DevOpsInfrastructure.
- A sub-rede de rede virtual precisa ser delegada ao
Microsoft.DevOpsInfrastructure/pools. Consulte 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 de pools gerenciados do DevOps são considerados agentes auto-hospedados pelo Azure DevOps e requerem trabalhos paralelos auto-hospedados para serem 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 o preço do trabalho paralelo 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
O gerenciamento de pools DevOps usa dados históricos de uso do pool para ajudar a fazer suas previsões de escala em 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 o Windows 75% do tempo, verifique se sua imagem do Windows está configurada com um percentual de agente em 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 do Azure Pipelines, deverá usar modelos do ARM ou a CLI do Azure para especificar a versão, já que as imagens do Azure Pipelines configuradas usando o portal do Azure sempre usam a versão mais recente.
- Se você estiver usando imagens selecionadas do marketplace ou imagens da Galeria de Computação do Azure, poderá especificar a versão usando o portal do Azure, bem como os modelos do ARM e a CLI do Azure.
Os Pools de DevOps Gerenciados mantêm as últimas 20 imagens disponíveis para imagens do marketplace selecionadas e as 10 imagens anteriores disponíveis para imagens do Azure Pipelines. As versões anteriores das imagens da Galeria de Computação do Azure são mantidas pelos proprietários dessas Galerias de Computação do Azure.