Tworzenie niestandardowej puli obrazów przy użyciu obrazu zarządzanego

Aby utworzyć niestandardową pulę obrazów dla maszyn wirtualnych puli usługi Batch, możesz użyć obrazu zarządzanego do utworzenia obrazu galerii obliczeń platformy Azure. Używanie tylko obrazu zarządzanego jest również obsługiwane, ale tylko w przypadku wersji interfejsu API do wersji i w tym 2019-08-01.

Ostrzeżenie

Obsługa tworzenia puli usługi Batch przy użyciu obrazu zarządzanego jest wycofywana po 31 marca 2026 r. Przeprowadź migrację do hostowania obrazów niestandardowych w galerii obliczeń platformy Azure, aby użyć jej do utworzenia niestandardowej puli obrazów w usłudze Batch. Aby uzyskać więcej informacji, zobacz przewodnik migracji.

W tym temacie wyjaśniono, jak utworzyć niestandardową pulę obrazów przy użyciu tylko obrazu zarządzanego.

Wymagania wstępne

  • Zasób obrazu zarządzanego. Aby utworzyć pulę maszyn wirtualnych przy użyciu obrazu niestandardowego, musisz mieć lub utworzyć zasób obrazu zarządzanego w tej samej subskrypcji platformy Azure i regionie co konto usługi Batch. Obraz powinien zostać utworzony na podstawie migawek dysku systemu operacyjnego maszyny wirtualnej i opcjonalnie dołączonych dysków danych.

    • Użyj unikatowego obrazu niestandardowego dla każdej tworzonej puli.
    • Aby utworzyć pulę z obrazem przy użyciu interfejsów API usługi Batch, określ identyfikator zasobu obrazu, który ma postać /subscriptions/xxxx-xxxxxx-xxxxx-xxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage.
    • Zasób obrazu zarządzanego powinien istnieć przez okres istnienia puli, aby umożliwić skalowanie w górę, i można go usunąć po usunięciu puli.
  • Uwierzytelnianie firmy Microsoft Entra. Interfejs API klienta usługi Batch musi używać uwierzytelniania firmy 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.

Przygotowywanie obrazu zarządzanego

Na platformie Azure można przygotować obraz zarządzany z:

  • Migawki dysków systemu operacyjnego i danych maszyny wirtualnej platformy Azure
  • Uogólniona maszyna wirtualna platformy Azure z dyskami zarządzanymi
  • Uogólniony lokalny dysk VHD przekazany do chmury

Aby niezawodnie skalować pule usługi Batch przy użyciu obrazu zarządzanego, zalecamy utworzenie obrazu zarządzanego przy użyciu tylko pierwszej metody: przy użyciu migawek dysków maszyny wirtualnej. W poniższych krokach pokazano, jak przygotować maszynę wirtualną, utworzyć migawkę i utworzyć obraz zarządzany na podstawie migawki.

Przygotowywanie maszyny wirtualnej

Jeśli tworzysz nową maszynę wirtualną dla obrazu, użyj obrazu witryny Azure Marketplace obsługiwanego przez usługę Batch jako obrazu podstawowego dla obrazu zarządzanego. Jako obraz podstawowy można używać tylko obrazów innych firm. Aby uzyskać pełną listę odwołań do obrazów witryny Azure Marketplace obsługiwanych przez usługę Azure Batch, zobacz Wyświetlanie listy obsługiwanych obrazów.

Uwaga

Nie można użyć obrazu innej firmy, który ma dodatkowe postanowienia licencyjne i zakupu jako obraz podstawowy. Aby uzyskać informacje na temat tych obrazów witryny Marketplace, zobacz wskazówki dotyczące maszyn wirtualnych z systemem Linux lub Windows .

Aby użyć obrazu innej firmy, możesz użyć galerii obliczeń platformy Azure. Aby uzyskać więcej informacji, zobacz Tworzenie niestandardowej puli obrazów przy użyciu galerii obliczeniowej platformy Azure.

  • Upewnij się, że maszyna wirtualna została utworzona przy użyciu dysku zarządzanego. Jest to domyślne ustawienie magazynu podczas tworzenia maszyny wirtualnej.
  • Nie instaluj rozszerzeń platformy Azure, takich jak rozszerzenie niestandardowego skryptu, na maszynie wirtualnej. Jeśli obraz zawiera wstępnie zainstalowane rozszerzenie, platforma Azure może napotkać problemy podczas wdrażania puli usługi Batch.
  • W przypadku korzystania z dołączonych dysków danych należy zainstalować i sformatować dyski z maszyny wirtualnej, aby ich używać.
  • Upewnij się, że podstawowy obraz systemu operacyjnego używany jest domyślny dysk tymczasowy. Agent węzła usługi Batch oczekuje obecnie domyślnego dysku tymczasowego.
  • Upewnij się, że dysk systemu operacyjnego nie jest zaszyfrowany.
  • Po uruchomieniu maszyny wirtualnej połącz się z nią za pośrednictwem protokołu RDP (dla systemu Windows) lub SSH (dla systemu Linux). Zainstaluj wszelkie niezbędne oprogramowanie lub skopiuj żądane dane.

Tworzenie migawki maszyny wirtualnej

Migawka to pełna kopia dysku VHD tylko do odczytu. Aby utworzyć migawkę dysków systemu operacyjnego lub danych maszyn wirtualnych, możesz użyć witryny Azure Portal lub narzędzi wiersza polecenia. Aby uzyskać instrukcje i opcje tworzenia migawki, zobacz wskazówki dotyczące maszyn wirtualnych.

Tworzenie obrazu na podstawie co najmniej jednej migawki

Aby utworzyć obraz zarządzany na podstawie migawki, użyj narzędzi wiersza polecenia platformy Azure, takich jak polecenie az image create . Obraz można utworzyć, określając migawkę dysku systemu operacyjnego i opcjonalnie co najmniej jedną migawkę dysku danych.

Tworzenie puli na podstawie obrazu zarządzanego

Po znalezieniu identyfikatora zasobu obrazu zarządzanego utwórz niestandardową pulę obrazów na podstawie tego obrazu. W poniższych krokach pokazano, jak utworzyć niestandardową pulę obrazów przy użyciu usługi Batch lub zarządzania usługą Batch.

Uwaga

Upewnij się, że tożsamość używana do uwierzytelniania entra firmy Microsoft ma uprawnienia do zasobu obrazu. Zobacz Uwierzytelnianie rozwiązań usługi Batch za pomocą usługi Active Directory.

Zasób obrazu zarządzanego musi istnieć przez okres istnienia puli. Jeśli podstawowy zasób zostanie usunięty, nie można skalować puli.

Zestaw SDK platformy .NET usługi Batch

private static VirtualMachineConfiguration CreateVirtualMachineConfiguration(ImageReference imageReference)
{
    return new VirtualMachineConfiguration(
        imageReference: imageReference,
        nodeAgentSkuId: "batch.node.windows amd64");
}

private static ImageReference CreateImageReference()
{
    return new ImageReference(
        virtualMachineImageId: "/subscriptions/{sub id}/resourceGroups/{resource group name}/providers/Microsoft.Compute/images/{image definition name}");
}

private static void CreateBatchPool(BatchClient batchClient, VirtualMachineConfiguration vmConfiguration)
{
    try
    {
        CloudPool pool = batchClient.PoolOperations.CreatePool(
            poolId: PoolId,
            targetDedicatedComputeNodes: PoolNodeCount,
            virtualMachineSize: PoolVMSize,
            virtualMachineConfiguration: vmConfiguration);

        pool.Commit();
    }

Batch Management REST API (Interfejs API REST zarządzania usługą Batch)

Identyfikator URI interfejsu API REST

 PUT https://management.azure.com/subscriptions/{sub id}/resourceGroups/{resource group name}/providers/Microsoft.Batch/batchAccounts/{account name}/pools/{pool name}?api-version=2020-03-01

Treść żądania

 {
   "properties": {
     "vmSize": "{VM size}",
     "deploymentConfiguration": {
       "virtualMachineConfiguration": {
         "imageReference": {
           "id": "/subscriptions/{sub id}/resourceGroups/{resource group name}/providers/Microsoft.Compute/images/{image name}"
         },
         "nodeAgentSkuId": "{Node Agent SKU ID}"
       }
     }
   }
 }

Zagadnienia dotyczące dużych pul

Jeśli planujesz utworzyć pulę z setkami maszyn wirtualnych lub więcej przy użyciu obrazu niestandardowego, ważne jest, aby postępować zgodnie z poprzednimi wskazówkami dotyczącymi używania obrazu utworzonego na podstawie migawki maszyny wirtualnej.

Należy również pamiętać o następujących kwestiach:

  • Limity rozmiaru — usługa Batch ogranicza rozmiar puli do 2500 dedykowanych węzłów obliczeniowych lub 1000 węzłów typu spot, gdy używasz obrazu niestandardowego.

    Jeśli używasz tego samego obrazu (lub wielu obrazów na podstawie tej samej migawki bazowej) do utworzenia wielu pul, łączna liczba węzłów obliczeniowych w pulach nie może przekroczyć powyższych limitów. Nie zalecamy używania obrazu ani jego źródłowej migawki dla więcej niż jednej puli.

    Limity mogą zostać zmniejszone, jeśli skonfigurujesz pulę z przychodzącymi pulami nat.

  • Limit czasu zmiany rozmiaru — jeśli pula zawiera stałą liczbę węzłów (nie powoduje automatycznego skalowania), zwiększ właściwość resizeTimeout puli do wartości takiej jak 20–30 minut. Jeśli pula nie osiągnie rozmiaru docelowego w okresie przekroczenia limitu czasu, wykonaj inną operację zmiany rozmiaru.

    Jeśli planujesz pulę z więcej niż 300 węzłami obliczeniowymi, może być konieczne wielokrotne zmienianie rozmiaru puli w celu osiągnięcia rozmiaru docelowego.

Korzystając z galerii obliczeniowej platformy Azure, można tworzyć większe pule z dostosowanymi obrazami wraz z większą większa większa liczba replik obrazów udostępnionych wraz z ulepszonymi korzyściami z wydajnością, takimi jak skrócenie czasu gotowości węzłów.

Zagadnienia dotyczące korzystania z narzędzia Packer

Tworzenie zasobu obrazu zarządzanego bezpośrednio za pomocą narzędzia Packer można wykonać tylko przy użyciu kont usługi Batch w trybie subskrypcji użytkownika. W przypadku kont trybu usługi Batch najpierw należy utworzyć wirtualny dysk twardy, a następnie zaimportować dysk VHD do zarządzanego zasobu obrazu. W zależności od trybu alokacji puli (subskrypcji użytkownika lub usługi Batch) kroki tworzenia zasobu obrazu zarządzanego różnią się.

Upewnij się, że zasób użyty do utworzenia obrazu zarządzanego istnieje dla okresów istnienia dowolnej puli odwołującej się do obrazu niestandardowego. Niepowodzenie w tym celu może spowodować błędy alokacji puli i/lub błędy zmiany rozmiaru.

Jeśli obraz lub bazowy zasób zostanie usunięty, może zostać wyświetlony błąd podobny do: There was an error encountered while performing the last resize on the pool. Please try resizing the pool again. Code: AllocationFailed. Jeśli wystąpi ten błąd, upewnij się, że zasób bazowy nie został usunięty.

Aby uzyskać więcej informacji na temat tworzenia maszyny wirtualnej przy użyciu narzędzia Packer, zobacz Tworzenie obrazu systemu Linux za pomocą narzędzia Packer lub Tworzenie obrazu systemu Windows za pomocą narzędzia Packer.

Następne kroki

  • Dowiedz się, jak utworzyć pulę niestandardową przy użyciu galerii obliczeń platformy Azure.
  • Aby zapoznać się ze szczegółowym omówieniem usługi Batch, zobacz Przepływ pracy i zasoby usługi Batch.