Udostępnij przez


Rozwiązywanie problemów związanych z zarządzaniem pulami DevOps

Ten artykuł zawiera rozwiązania typowych problemów z zarządzanymi pulami DevOps.

Błędy tworzenia puli

Kod błędu opis
PoolProvisioningFailed Niepowodzenie przy tworzeniu puli z powodu uprawnień organizacji Azure DevOps
UnauthorizedAccessToVirtualNetwork Niepowodzenie tworzenia puli z powodu uprawnień VNet

Niepowodzenie utworzenia puli z powodu uprawnień organizacji Azure DevOps

Tworzenie puli kończy się niepowodzeniem z powodu błędu podobnego do jednego z poniższych komunikatów o błędach.

Nie można odnaleźć zalogowanego użytkownika w organizacji usługi 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>."

W celu rozwiązania tego problemu:

Zalogowany użytkownik nie ma uprawnień do zarządzania w organizacji usługi 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>."

W celu rozwiązania tego problemu:

Niepowodzenie utworzenia puli z powodu uprawnień VNet.

Tworzenie puli kończy się niepowodzeniem UnauthorizedAccessToVirtualNetwork z powodu błędu podobnego do następującego: 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..

Aby rozwiązać ten problem:

Opóźnienia uruchamiania rurociągu

W przypadku korzystania z zarządzanych pul DevOps mogą wystąpić sytuacje, w których przed uruchomieniem potoku po jego zainicjowaniu występuje duże opóźnienie. W tej sekcji przewodnika rozwiązywania problemów opisano typowe elementy, które mogą mieć wpływ na wydajność pul. Aby uzyskać więcej informacji, zobacz Zarządzanie kosztami i wydajnością.

Sprawdzanie, czy nie ma wystarczających zadań równoległych

Agenci zarządzanych pul DevOps są traktowani jako agenci hostowani samodzielnie przez usługę Azure DevOps i wymagają uruchamiania własnych zadań równoległych. Na przykład, jeśli liczba równoległych zadań potoków hostowanych samodzielnie przez organizację wynosi 10, organizacja może jednocześnie uruchamiać tylko 10 takich zadań potoku. Jeśli kolejkowane są więcej niż 10 potoków, można uruchomić tylko 10 w danym momencie.

Sprawdź liczbę zadań równoległych hostowanych samodzielnie, aby upewnić się, że masz wystarczającą pojemność, aby spełnić wymagania równoczesnego potoku obciążenia. Aby uzyskać więcej informacji, zobacz Konfigurowanie zadań równoległych i płacenie za zadania równoległe.

Sprawdź konfigurację maksymalnej liczby agentów

Ustawienie Maksymalna liczba agentów konfiguruje maksymalną liczbę uruchomionych agentów w zarządzanej puli DevOps. Jeśli ustawienie Maksymalna liczba agentów wynosi 5, zarządzane pule DevOps mogą uruchamiać maksymalnie pięć współbieżnych potoków. Jeśli w kolejce znajduje się więcej niż pięć potoków, dodatkowe potoki nie zostaną uruchomione, dopóki jeden z pięciu dostępnych agentów nie stanie się aktywny.

Uwaga

Maksymalna liczba agentów konfiguruje maksymalną liczbę agentów, które można aprowizować w tym samym czasie, ale liczba samodzielnie hostowanych zadań równoległych w organizacji określa liczbę zadań, które mogą być uruchamiane współbieżnie. Upewnij się, że masz wystarczające zadania równoległe hostowane samodzielnie w organizacji, aby umożliwić agentom uruchamianie zadań. Aby uzyskać więcej informacji, zobacz Cennik zadań równoległych usług Azure DevOps Services.

Rozważ przydzielanie agentów z wyprzedzeniem, używając harmonogramu agenta rezerwowego

Jeśli tryb agenta rezerwowego jest wyłączony, agenci zarządzanych pul DevOps są uruchamiani na żądanie, gdy potok jest w kolejce, chociaż uruchomienie nowego agenta zwykle trwa tylko kilka chwil, jednak czasem może to zająć nawet do 15 minut.

Po włączeniu trybu czuwania agenta można określić harmonogram i liczbę agentów, aby byli gotowi na spełnienie wymagań obciążenia.

Aby uzyskać więcej informacji, zobacz Zarządzanie kosztami i wydajnością — wstępne aprowizowanie przy użyciu agentów rezerwowych.

Automatyczny tryb czuwania dla nowych pul

Zarządzanie pulami DevOps używa historycznych danych użycia puli, aby ułatwić automatyczny tryb rezerwowy przewidywania skalowania. Nowe pule nie mają żadnych danych historycznych, więc agenci mogą zostać utworzeni na żądanie. Aby poprawić wydajność, możesz przełączyć się na tryb ręcznego wstrzymania przez pierwszy miesiąc i przełączyć się do trybu automatycznego wstrzymania, gdy zarządzane pule DevOps miały czas na obserwowanie użycia puli.

Sprawdzanie procentu agenta rezerwowego w przypadku korzystania z agentów rezerwowych z wieloma obrazami

Jeśli używasz agentów rezerwowych z wieloma obrazami, sprawdź historię użycia dla każdego obrazu i porównaj ją z ustawieniem procentowym agenta rezerwowego dla Twoich obrazów, aby upewnić się, że stosunek gotowości odzwierciedla twoje użycie. Jeśli na przykład masz jeden obraz systemu Windows i jeden obraz z systemem Ubuntu, a obciążenie używa systemu Windows 75% czasu, upewnij się, że obraz systemu Windows jest skonfigurowany z procentem agenta rezerwowego 75.

Rozważ użycie pul stanowych z okresem karencji, aby utrzymać agentów online.

Jedną z opcji poprawy wydajności agenta bez używania agentów rezerwowych jest użycie agentów stanowych z krótkim okresem prolongaty. Gdy agent stanowy z okresem prolongaty kończy zadanie, pozostaje w trybie online przez czas określony przez okres prolongaty i czeka na dodatkowe zadania. Jeśli obciążenie występuje w okresach wzrostu, możesz skonfigurować okres prolongaty, który utrzymuje agentów w trybie online, gdy zadania są stałe, i uruchamia je od podstaw w wolniejszych okresach.

Aby uzyskać więcej informacji, zobacz Agenty rezerwowe i pule stanowe .

Sprawdzanie kodów błędów przekroczenia limitu czasu

Jeśli upłynie limit czasu przypisania agenta, możesz sprawdzić kod błędu w sekcji Kody błędów na stronie Przegląd.

Potok nie udaje się zakończyć poprawnie

Sprawdź, czy nastąpiła aktualizacja obrazu

Jeśli potoki zaczynają zawodzić po aktualizacji obrazu systemu, możesz tymczasowo skonfigurować potoki tak, aby korzystały z poprzedniej wersji obrazu systemu. Potoki, które kończą się niepowodzeniem, można skonfigurować tak, aby korzystały z poprzedniej wersji obrazu dla poszczególnych potoków, lub skonfigurować poprzednią wersję obrazu dla wszystkich potoków w zarządzanej puli DevOps, która używa tego obrazu.

Aby sprawdzić, czy potoki ulegają niepowodzeniu z powodu zmiany wersji obrazu, porównaj wersję obrazu w nieudanym uruchomieniu potoku z wersją obrazu z ostatniego pomyślnego uruchomienia potoku.

  1. Przejdź do swojego potoku i przejrzyj historię uruchamiania tego potoku.

    Zrzut ekranu przedstawiający uruchomienia potoku.

  2. Wyświetl szczegóły przebiegu dla dwóch przebiegów potoku, które chcesz porównać, i wybierz zadanie potoku, aby wyświetlić informacje diagnostyczne na temat tego zadania. Jeśli Twój potok ma wiele zadań, wybierz zadanie, które jest uruchamiane przy użyciu zarządzanej puli DevOps.

    Zrzut ekranu przedstawiający szczegóły przebiegu potoku.

  3. Wybierz pozycję Zainicjuj zadanie i pobierz wersję obrazu z sekcji Bieżąca wersja obrazu .

    Zrzut ekranu przedstawiający wersję obrazu przebiegu potoku.

Jeśli wersje obrazów różnią się między ostatnim nieudanym uruchomieniem konfiguracji a poprzednim pomyślnym uruchomieniem, niepowodzenie może być spowodowane zmianą wersji obrazu. Podczas rozwiązywania problemów z główną przyczyną są dostępne dwie opcje tymczasowego przywracania poprzedniej wersji obrazu.

Zarządzane pule DevOps przechowują ostatnie 20 obrazów dostępnych dla obrazów z Selected marketplace i ostatnie 10 obrazów dostępnych dla obrazów usługi Azure Pipelines. Poprzednie wersje obrazów Galerii Obliczeniowej Azure są utrzymywane przez właścicieli tych galerii.

Zobacz też