Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W przepływie pracy usługi Azure Batch węzeł obliczeniowy (lub węzeł) to maszyna wirtualna, która przetwarza część obciążenia aplikacji. Pula to zbiór tych węzłów, na których działa twoja aplikacja. W tym artykule wyjaśniono więcej na temat węzłów i pul oraz zagadnienia dotyczące tworzenia i używania ich w przepływie pracy usługi Azure Batch.
Węzły
Węzeł to maszyna wirtualna platformy Azure lub maszyna wirtualna usługi w chmurze dedykowana do przetwarzania części obciążenia aplikacji. Rozmiar węzła określa liczbę rdzeni procesora, pojemność pamięci oraz rozmiar lokalnego systemu plików przydzielony do tego węzła.
Pule węzłów systemu Windows lub Linux można tworzyć przy użyciu usług Azure Cloud Services, obrazów z witryny Azure Virtual Machines Marketplace lub niestandardowych obrazów, które przygotowujesz.
Węzły mogą uruchamiać dowolny plik wykonywalny lub skrypt obsługiwany przez środowisko systemu operacyjnego węzła. Pliki wykonywalne lub skrypty obejmują *.exe, *.cmd, *.bat i skrypty programu PowerShell (dla systemu Windows) oraz pliki binarne, powłoki i skrypty języka Python (dla systemu Linux).
Wszystkie węzły obliczeniowe usługi Batch obejmują również:
- Standardowa struktura folderów i skojarzone zmienne środowiskowe, które są dostępne do użycia przez zadania.
- Ustawienia zapory skonfigurowane do kontrolowania dostępu.
- Dostęp zdalny do węzłów systemu Windows (Remote Desktop Protocol (RDP)) i Linux (Secure Shell (SSH)), chyba że tworzysz pulę z wyłączonym dostępem zdalnym).
Domyślnie węzły mogą komunikować się ze sobą, ale nie mogą komunikować się z maszynami wirtualnymi, które nie są częścią tej samej puli. Aby umożliwić węzłom bezpieczną komunikację z innymi maszynami wirtualnymi lub siecią lokalną, możesz aprowizować pulę w podsieci sieci wirtualnej platformy Azure. Gdy to zrobisz, węzły mogą być dostępne za pośrednictwem publicznych adresów IP. Usługa Batch tworzy te publiczne adresy IP, które mogą się zmieniać w trakcie istnienia puli. Możesz również utworzyć pulę ze statycznymi publicznymi adresami IP , które kontrolujesz, co gwarantuje, że nie zostaną nieoczekiwanie zmienione.
Baseny
Pula to kolekcja węzłów, na których działa aplikacja.
Pule Azure Batch są oparte na podstawowej platformie obliczeniowej Azure. Zapewniają one alokację na dużą skalę, instalację aplikacji, dystrybucję danych, monitorowanie kondycji i elastyczne dostosowywanie (skalowanie) liczby węzłów obliczeniowych w puli.
Do każdego węzła, który jest dodawany do puli zostaje przypisana unikatowa nazwa i adres IP. Gdy węzeł zostanie usunięty z puli, wszelkie zmiany wprowadzone w systemie operacyjnym lub w plikach zostaną utracone, a jego nazwa i adres IP zostaną zwolnione do użytku w przyszłości. Gdy węzeł opuści pulę, oznacza to, że zakończył się jego okres istnienia.
Zasób może być używany tylko przez konto usługi Batch, w ramach którego został utworzony. Konto usługi Batch może utworzyć wiele pul, aby spełnić wymagania dotyczące zasobów aplikacji, które muszą być uruchamiane.
Pulę można utworzyć ręcznie lub automatycznie przez usługę Batch, gdy określisz zadania do wykonania. Podczas tworzenia puli można określić następujące atrybuty:
-
Węzły i pule w usłudze Azure Batch
- Węzły
- Baseny
- System operacyjny i wersja
- Konfiguracji
- Typ węzła i element docelowy
- Rozmiar węzła
- Zasady automatycznego skalowania
- Zasady planowania zadań
- Stan komunikacji
- Uruchamianie zadań
- Pakiety aplikacji
- Konfiguracja sieci wirtualnej i zapory
- Okres istnienia puli i węzła obliczeniowego
- Automatyczne pule
- Zabezpieczenia z certyfikatami
- Następne kroki
Ważne
Konta usługi Batch mają domyślny limit przydziału, który ogranicza liczbę rdzeni na koncie usługi Batch. Liczba rdzeni odpowiada liczbie węzłów obliczeniowych. Domyślne limity i instrukcje dotyczące zwiększania limitu można znaleźć w Limity dla usługi Azure Batch. Jeśli pula nie osiągnie docelowej liczby węzłów, przyczyną może być limit przydziału rdzeni.
System operacyjny i wersja
Podczas tworzenia puli usługi Batch należy określić konfigurację maszyny wirtualnej platformy Azure i typ systemu operacyjnego, który ma być uruchamiany w każdym węźle obliczeniowym w puli.
Konfiguracje
Konfiguracja maszyny wirtualnej
Konfiguracja maszyny wirtualnej określa, że pula składa się z maszyn wirtualnych platformy Azure. Te maszyny wirtualne można tworzyć na podstawie obrazów systemu Windows albo Linux.
Agent węzła usługi Batch to program uruchamiany w każdym węźle w puli i udostępnia interfejs polecenia i sterowania między węzłem a usługą Batch. Istnieją różne wersje agenta węzła, znane jako SKU, dla różnych systemów operacyjnych. Podczas tworzenia puli na podstawie konfiguracji maszyny wirtualnej należy określić nie tylko rozmiar węzłów i źródło obrazów używanych do ich utworzenia, ale także odwołanie do obrazu maszyny wirtualnej oraz SKU agenta węzła usługi Batch, które ma być zainstalowane na węzłach. Aby uzyskać więcej informacji na temat określania tych właściwości puli, zobacz Aprowizowanie węzłów obliczeniowych systemu Linux w pulach usługi Azure Batch. Możesz opcjonalnie dołączyć co najmniej jeden pusty dysk danych do puli maszyn wirtualnych utworzonej z obrazów witryny Marketplace lub uwzględnić dyski danych w niestandardowych obrazach używanych do tworzenia maszyn wirtualnych. W przypadku dołączania dysków danych należy zainstalować i sformatować dyski z maszyny wirtualnej, aby ich używać.
Jednostki SKU agenta węzła
Podczas tworzenia puli należy wybrać odpowiednią wartość nodeAgentSkuId, w zależności od systemu operacyjnego obrazu podstawowego dysku VHD. Możesz uzyskać mapowanie dostępnych identyfikatorów jednostek SKU agenta węzła do ich odwołań do obrazu systemu operacyjnego, wywołując operację Tworzenia listy obsługiwanych jednostek SKU agenta węzła .
Niestandardowe obrazy dla pul maszyn wirtualnych
Aby dowiedzieć się, jak utworzyć pulę przy użyciu obrazów niestandardowych, zobacz Tworzenie puli niestandardowej przy użyciu galerii obliczeń platformy Azure.
Obsługa kontenerów w pulach maszyn wirtualnych
Podczas tworzenia puli konfiguracji maszyny wirtualnej za pomocą interfejsów API usługi Batch możesz skonfigurować pulę do uruchamiania zadań w kontenerach platformy Docker. Obecnie musisz utworzyć pulę przy użyciu obrazu, który obsługuje kontenery platformy Docker. Użyj obrazu Windows Server 2016 Datacenter z kontenerami z Azure Marketplace lub dostarcz niestandardowy obraz maszyny wirtualnej, który obejmuje Docker Community Edition lub Enterprise Edition oraz wszystkie wymagane sterowniki. Ustawienia puli muszą zawierać konfigurację kontenera , która kopiuje obrazy kontenerów do maszyn wirtualnych podczas tworzenia puli. Zadania uruchamiane w puli mogą następnie odwoływać się do obrazów kontenera i opcji uruchamiania kontenera.
Aby uzyskać więcej informacji, zobacz Run Docker container applications on Azure Batch (Uruchamianie aplikacji kontenera platformy Docker w usłudze Azure Batch).
Typ węzła i element docelowy
Podczas tworzenia puli można określić typy węzłów, które chcesz, oraz liczbę docelową dla każdego z nich. Dwa typy węzłów to:
- Węzły dedykowane. Dedykowane węzły obliczeniowe są zarezerwowane dla konkretnych obciążeń. Zazwyczaj są one droższe niż węzły typu spot, ale mają gwarancję, że nigdy nie zostaną wywłaszczone.
- Węzły typu spot. Węzły typu spot korzystają z nadwyżkowej pojemności na platformie Azure, aby uruchamiać obciążenia usługi Batch. Węzły typu spot są tańsze na godzinę niż węzły dedykowane i umożliwiają obciążenia wymagające znacznej mocy obliczeniowej. Aby uzyskać więcej informacji, zobacz Używanie maszyn wirtualnych typu Spot z usługą Batch.
Węzły typu spot mogą zostać wywłaszczone, gdy platforma Azure ma niewystarczającą nadwyżkę pojemności. Jeśli węzeł zostanie przerwany podczas przetwarzania zadań, zadania te są ponownie umieszczane w kolejce, a następnie ponownie uruchamiane, kiedy węzeł obliczeniowy znowu stanie się dostępny. Węzły typu spot to dobra opcja dla obciążeń, w których czas ukończenia zadania jest elastyczny, a zadania są rozdzielane między wiele węzłów. Przed podjęciem decyzji o użyciu węzłów typu spot w scenariuszu upewnij się, że wszelkie utracone prace z powodu wywłaszczania są minimalne i łatwe do wznowienia lub odtworzenia.
W tej samej puli mogą znajdować się zarówno węzły obliczeniowe typu Spot, jak i dedykowane. Każdy typ węzła ma własne ustawienie docelowe, dla którego można określić żądaną liczbę węzłów.
Liczba węzłów obliczeniowych jest określana jako docelowa , ponieważ w niektórych sytuacjach pula może nie osiągnąć żądanej liczby węzłów. Na przykład pula może nie spełnić założonego celu, jeśli najpierw osiągnie limit przydziału rdzeni dla konta usługi Batch. Alternatywnie, pula może nie osiągnąć celu, jeśli zastosowano do puli automatyczną formułę skalowania, która ogranicza maksymalną liczbę węzłów.
Uwaga / Notatka
**
Najpierw, gdy węzły obliczeniowe typu spot w usłudze Batch zostaną wywłaszczone, przechodzą do stanu unusable
. Po pewnym czasie te węzły obliczeniowe przejdą do odzwierciedlenia stanu preempted
. Usługa Batch automatycznie włącza zachowanie try & restore w celu przywrócenia usuniętych wystąpień typu spot, przy dołożeniu wszelkich starań, aby zachować liczbę wystąpień docelowych.
Aby uzyskać informacje o cenach węzłów typu spot i węzłów dedykowanych, zobacz Cennik usługi Batch.
Rozmiar węzła
Podczas tworzenia puli usługi Azure Batch możesz wybierać spośród prawie wszystkich rodzin i rozmiarów maszyn wirtualnych dostępnych na platformie Azure. Platforma Azure oferuje szereg rozmiarów maszyn wirtualnych dla różnych obciążeń, w tym wyspecjalizowane rozmiary maszyn wirtualnych z obsługą obliczeń HPC lub procesora GPU . Rozmiary maszyn wirtualnych węzłów można wybrać tylko w momencie utworzenia puli. Innymi słowy, po utworzeniu puli nie można zmienić rozmiaru maszyny wirtualnej.
Aby uzyskać więcej informacji, zobacz Wybieranie rozmiaru maszyny wirtualnej dla węzłów obliczeniowych w puli usługi Azure Batch.
Zasady automatycznego skalowania
W przypadku obciążeń dynamicznych można zastosować zasady automatycznego skalowania do puli. Usługa Batch okresowo ocenia formułę i dynamicznie dostosowuje liczbę węzłów w puli zgodnie z bieżącym obciążeniem i użyciem zasobów w scenariuszu obliczeniowym. Dzięki temu można zmniejszyć całkowity koszt działania aplikacji przy użyciu tylko potrzebnych zasobów, zwalniając te zbędne.
Automatyczne skalowanie można włączyć, pisząc formułę automatycznego skalowania i kojarząc tę formułę z pulą. Usługa Batch używa formuły do określenia docelowej liczby węzłów w puli dla kolejnego interwału skalowania (interwału, który możesz skonfigurować). Ustawienia automatycznego skalowania puli można wybrać podczas jej tworzenia. Można również włączyć skalowanie puli później. Możesz także zaktualizować ustawienia skalowania w puli, która ma włączoną możliwość skalowania.
Na przykład być może zadanie wymaga przesłania dużej liczby zadań do wykonania. Do puli można przypisać formułę skalowania, która dostosowuje liczbę węzłów w puli w oparciu o bieżącą liczbę zadań podrzędnych w kolejce oraz szybkość ich wykonywania w ramach zadania. Usługa Batch okresowo ocenia formułę i zmienia rozmiar puli na podstawie obciążenia oraz innych ustawień formuły. Usługa dodaje węzły w przypadku dużej liczby zadań podrzędnych w kolejce i usuwa węzły w przypadku braku zadań podrzędnych, które znajdują się w kolejce lub są uruchomione.
Formuła skalowania może opierać się na następujących metrykach:
- Metryki czasu są oparte na statystykach zebranych co pięć minut w określonej liczbie godzin.
- Metryki zasobów są oparte na użyciu procesora CPU, użyciu przepustowości, użyciu pamięci i liczbie węzłów.
- Metryki zadań są oparte na stanie zadania, takim jak Aktywne (w kolejce), Uruchomione lub Ukończone.
Ponieważ automatyczne skalowanie zmniejsza liczbę węzłów obliczeniowych w puli, należy rozważyć, jak obsłużyć zadania uruchomione podczas operacji zmniejszania. W tym celu usługa Batch udostępnia opcję cofnięcia przydziału węzła , którą można uwzględnić w formułach. Możesz na przykład zdecydować, że uruchomione zadania będą zatrzymywane natychmiast i ponownie umieszczane w kolejce do wykonania na innym węźle lub pozwolić im zakończyć się przed usunięciem węzła z puli. Ustawienie opcji dealokacji węzła jako taskcompletion
lub retaineddata
zapobiega operacjom zmiany rozmiaru puli do momentu ukończenia wszystkich zadań lub odpowiednio wygaśnięcia wszystkich okresów przechowywania zadań.
Aby uzyskać więcej informacji na temat automatycznego skalowania aplikacji, zobacz Automatyczne skalowanie węzłów obliczeniowych w puli usługi Azure Batch.
Wskazówka
Aby maksymalnie zwiększyć wykorzystanie zasobów obliczeniowych, ustaw docelową liczbę węzłów na zero na końcu zadania, ale zezwól, aby uruchomione zadania zostały ukończone.
Zasady planowania zadań
Opcja konfiguracji maksymalnej liczby zadań na węzeł określa maksymalną liczbę zadań, które mogą być uruchamiane równolegle w każdym węźle obliczeniowym w puli.
Domyślna konfiguracja określa, że jedno zadanie w czasie jest uruchamiane w węźle, ale istnieją scenariusze, w których korzystne jest jednoczesne wykonanie co najmniej dwóch zadań w węźle. Zapoznaj się z przykładowym scenariuszem w artykule dotyczącym współbieżnych zadań węzłów , aby dowiedzieć się, jak potencjalnie korzystać z wielu zadań na węzeł.
Można również określić typ wypełnienia, który określa, czy usługa Batch rozdziela zadania równomiernie we wszystkich węzłach w puli, czy pakuje każdy węzeł z maksymalną liczbą zadań przed przypisaniem zadań do innego węzła.
Stan komunikacji
W większości scenariuszy zadania działają niezależnie i nie muszą komunikować się ze sobą. Istnieją jednak pewne aplikacje, w których zadania muszą komunikować się, takie jak scenariusze MPI.
Pulę można skonfigurować, aby zezwalała na komunikację międzywęzłową, dzięki czemu węzły w puli mogą komunikować się w czasie wykonywania. Po włączeniu komunikacji międzywęzłowej węzły w pulach konfiguracji usług Cloud Services mogą komunikować się ze sobą na portach większych niż 1100, a pule konfiguracji maszyny wirtualnej nie ograniczają ruchu na żadnym porcie.
Włączenie komunikacji międzywęzłowej ma również wpływ na umieszczanie węzłów w klastrach i może ograniczyć maksymalną liczbę węzłów w puli z powodu ograniczeń wdrażania. Jeśli aplikacja nie wymaga komunikacji między węzłami, usługa Batch może przydzielić potencjalnie dużą liczbę węzłów do puli z wielu różnych klastrów i centrów danych, aby umożliwić zwiększenie mocy przetwarzania równoległego.
Uruchamianie zadań
W razie potrzeby można dodać zadanie startowe wykonywane w każdym węźle, gdy węzeł dołącza do puli, a za każdym razem, gdy węzeł jest ponownie uruchamiany lub przywracany. Zadanie startowe jest szczególnie przydatne do przygotowywania węzłów obliczeniowych do wykonywania zadań, takich jak instalowanie aplikacji, które są uruchamiane na węzłach obliczeniowych.
Pakiety aplikacji
Można wybrać pakiety aplikacji do wdrożenia w węzłach obliczeniowych w puli. Pakiety aplikacji umożliwiają uproszczone wdrażanie aplikacji oraz zarządzanie ich wersjami, które uruchamiają Twoje zadania. Pakiety aplikacji wybrane dla puli są instalowane w każdym węźle dołączanym do puli oraz za każdym razem, gdy węzeł jest ponownie uruchamiany lub odtwarzany z obrazu.
Aby uzyskać więcej informacji na temat wdrażania aplikacji w węzłach usługi Batch przy użyciu pakietów aplikacji, zobacz Wdrażanie aplikacji w węzłach obliczeniowych przy użyciu pakietów aplikacji usługi Batch.
Konfiguracja sieci wirtualnej i zapory
Podczas aprowizowania puli węzłów obliczeniowych w usłudze Batch można skojarzyć pulę z podsiecią sieci wirtualnej platformy Azure. Aby korzystać z sieci wirtualnej Azure (VNet), interfejs API klienta usługi Batch musi używać uwierzytelniania Microsoft Entra. Obsługa usługi Azure Batch dla identyfikatora Entra firmy Microsoft jest udokumentowana w temacie Uwierzytelnianie rozwiązań usługi Batch za pomocą usługi Active Directory.
Wymagania dotyczące sieci wirtualnej
Aby uzyskać więcej informacji na temat konfigurowania puli usługi Batch w sieci wirtualnej, zobacz Tworzenie puli maszyn wirtualnych za pomocą sieci wirtualnej.
Wskazówka
Aby upewnić się, że publiczne adresy IP używane do uzyskiwania dostępu do węzłów nie ulegają zmianie, możesz utworzyć pulę z określonymi publicznymi adresami IP, które kontrolujesz.
Okres działania puli i węzła obliczeniowego
Podczas projektowania rozwiązania usługi Azure Batch należy określić, jak i kiedy są tworzone pule, oraz jak długo węzły obliczeniowe w tych pulach są dostępne.
Z jednej strony można utworzyć pulę dla każdego przesyłanego zadania i usunąć pulę, gdy tylko zakończy się wykonywanie zadań podrzędnych. Pozwala to zmaksymalizować wykorzystanie, ponieważ węzły są przydzielane tylko w razie potrzeby i są zamykane po bezczynności. Oznacza to, że praca musi czekać na przydzielenie węzłów, ale należy pamiętać, że zadania są zaplanowane do wykonania natychmiast po indywidualnym przydzieleniu węzłów i zakończeniu zadania startowego, jeśli zostało określone oczekiwanie na jego zakończenie. Usługa Batch nie czeka, aż wszystkie węzły w puli będą dostępne przed przypisaniem zadań do węzłów. Dzięki temu zapewnia maksymalne wykorzystanie wszystkich dostępnych węzłów.
Z drugiej strony, jeśli natychmiastowe uruchomienie zadań ma najwyższy priorytet, pula może zostać utworzona przed czasem, a jej węzły mogą zostać udostępnione przed przesłaniem zadań. W tym scenariuszu zadania mogą być uruchamiane natychmiast, ale węzły mogą pozostawać bezczynne, czekając na przypisanie.
Połączone podejście jest zwykle używane do obsługi zmiennej, ale ciągłego obciążenia. Można mieć pulę, do której można przesyłać wiele zadań, i można skalować liczbę węzłów w górę lub w dół zgodnie z obciążeniem zadań. Można to robić w sposób reaktywny, na podstawie bieżącego obciążenia, lub aktywny, jeśli obciążenie można przewidzieć. Aby uzyskać więcej informacji, zobacz Zasady automatycznego skalowania.
autopula
Pula automatyczna to pula tworzona przez usługę Batch po przesłaniu zadania, zamiast tworzyć ją jawnie przed uruchomieniem zadań w puli. Usługa Batch zarządza czasem istnienia puli automatycznej zgodnie z cechami, które określisz. Najczęściej te pule są ustawiane tak, aby były automatycznie usuwane po zakończeniu zadań.
Zabezpieczenia oparte na certyfikatach
Zazwyczaj podczas szyfrowania lub odszyfrowywania poufnych informacji dotyczących zadań, takich jak klucz konta usługi Azure Storage, należy zazwyczaj używać certyfikatów. Aby to umożliwić, można zainstalować certyfikaty w węzłach. Zaszyfrowane klucze tajne są przekazywane do zadań za pomocą parametrów wiersza polecenia lub osadzane w jednym z zasobów zadań, a zainstalowanych certyfikatów można użyć do ich odszyfrowania.
Aby dodać certyfikat do konta usługi Batch, należy użyć operacji Add certificate (Batch REST) lub CertificateOperations.CreateCertificate (Batch .NET). Następnie można skojarzyć certyfikat z nową lub istniejącą pulą.
Gdy certyfikat zostaje skojarzony z pulą, usługa Batch instaluje certyfikat w każdym węźle w puli. Usługa Batch instaluje odpowiednie certyfikaty przy uruchamianiu węzła, przed uruchomieniem jakichkolwiek zadań (w tym zadania startowego i zadania menedżera pracy).
W przypadku dodania certyfikatu do istniejącej puli należy ponownie uruchomić jego węzły obliczeniowe, aby certyfikat został zastosowany do węzłów.
Następne kroki
- Dowiedz się więcej o pracach i zadaniach.
- Dowiedz się, jak wykrywać i unikać błędów w operacjach w tle dla puli i węzłów.