Virtual Machine Scale Sets i grupy umieszczania

Uwaga

W tym dokumencie omówiono Virtual Machine Scale Sets uruchomione w trybie ujednoliconej orkiestracji. Zalecamy używanie elastycznej orkiestracji dla nowych obciążeń. Aby uzyskać więcej informacji, zobacz Tryby orchesration dla Virtual Machine Scale Sets na platformie Azure.

Teraz możesz utworzyć usługę Azure Virtual Machine Scale Sets z maksymalnie 1000 maszynami wirtualnymi. W tym dokumencie duży zestaw skalowania maszyn wirtualnych jest definiowany jako zestaw skalowania umożliwiający skalowanie do większej niż 100 maszyn wirtualnych. Ta funkcja jest ustawiana za pomocą właściwości zestawu skalowania (singlePlacementGroup=False).

Niektóre aspekty dużych zestawów skalowania, na przykład równoważenie obciążenia i domeny błędów, działają inaczej niż w przypadku standardowych zestawów skalowania. Ten dokument zawiera wyjaśnienie charakterystyk dużych zestawów skalowania oraz informacje potrzebne, aby pomyślnie używać ich w ramach aplikacji.

Powszechnym podejściem do wdrażania infrastruktury chmury na dużą skalę jest tworzenie zestawu jednostek skalowania, na przykład przez utworzenie wielu zestawów skalowania maszyn wirtualnych w obrębie wielu sieci wirtualnych i kont magazynu. Metoda ta umożliwia łatwiejsze zarządzanie w porównaniu do pojedynczej maszyny wirtualnej, a posiadanie wielu jednostek skalowania jest przydatne w przypadku wielu aplikacji, zwłaszcza tych, które wymagają innych składników możliwych do umieszczenia na stosie, takich jak wiele sieci wirtualnych i punktów końcowych. Jeśli jednak aplikacja wymaga pojedynczego dużego klastra, prostsze może okazać się wdrożenie pojedynczego zestawu skalowania zawierającego maksymalnie 1000 maszyn wirtualnych. Przykładowe scenariusze obejmują scentralizowane wdrożenia danych big data lub sieci obliczeniowe wymagające prostego zarządzania dużą pulą węzłów procesu roboczego. W połączeniu z dołączonymi dyskami danych zestawu skalowania maszyn wirtualnych duże zestawy skalowania umożliwiają wdrożenie skalowalnej infrastruktury składającej się z tysięcy procesorów wirtualnych i petabajtów magazynu jako pojedynczej operacji.

Grupy umieszczania

To, co sprawia, że duże zestawy skalowania są wyjątkowe, to nie liczba maszyn wirtualnych, ale liczba grup umieszczania, które się w nich znajdują. Grupa umieszczania to konstrukcja podobna do zestawu dostępności platformy Azure, która zawiera własne domeny błędów i domeny uaktualnień. Domyślnie zestaw skalowania składa się z pojedynczej grupy umieszczania zawierającej maksymalnie 100 maszyn wirtualnych. Jeśli właściwość zestawu skalowania o nazwie singlePlacementGroup jest ustawiona na wartość false, zestaw skalowania może składać się z wielu grup umieszczania i ma zakres od 0 do 1000 maszyn wirtualnych. Jeśli właściwość jest ustawiona na domyślną wartość true, zestaw skalowania składa się z pojedynczej grupy umieszczania i ma zakres od 0 do 100 maszyn wirtualnych.

Lista kontrolna na potrzeby używania dużych zestawów skalowania

Aby zdecydować, czy aplikacja może w sposób efektywny używać dużych zestawów skalowania, należy wziąć pod uwagę następujące wymagania:

  • Jeśli planujesz wdrożyć wiele maszyn wirtualnych, konieczne może być zwiększenie limitów przydziału obliczeniowych procesorów wirtualnych.
  • Zestawy skalowania utworzone na podstawie obrazów Azure Marketplace lub obrazów usługi Azure Compute Gallery mogą skalować do 1000 maszyn wirtualnych.
  • Zestawy skalowania utworzone na podstawie obrazów niestandardowych (samodzielnie utworzone i przekazane obrazy maszyn wirtualnych) można aktualnie skalować w górę do 600 maszyn wirtualnych.
  • Duże zestawy skalowania wymagają użycia funkcji Dyski zarządzane platformy Azure. Zestawy skalowania, które nie zostaną utworzone za pomocą funkcji Dyski zarządzane, wymagają wielu kont magazynu (jednego dla każdych 20 maszyn wirtualnych). Duże zestawy skalowania są przeznaczone do użytku tylko z funkcją Dyski zarządzane w celu ograniczenia narzutu związanego z zarządzaniem magazynem oraz uniknięcia ryzyka przekroczenia limitów subskrypcji dla kont magazynu.
  • Sieć InfiniBand na dużą skalę (SPG=false) nie obsługuje sieci InfiniBand
  • Równoważenie obciążenia w warstwie 4 za pomocą zestawów skalowania składających się z wielu grup umieszczania wymaga jednostki SKU usługi Azure Load Balancer w warstwie Standardowa. Jednostka SKU usługi Load Balancer w warstwie Standardowa zapewnia dodatkowe korzyści, takie jak możliwość równoważenia obciążenia między wieloma zestawami skalowania. Jednostka SKU w warstwie Standardowa wymaga również, aby zestaw skalowania miał skojarzoną sieciową grupę zabezpieczeń. W przeciwnym razie pule translatora adresów sieciowych nie będą działać poprawnie. Jeśli konieczne jest użycie jednostki SKU usługi Azure Load Balancer w warstwie Podstawowa, upewnij się, że zestaw skalowania jest skonfigurowany pod kątem używania pojedynczej grupy umieszczania (jest to ustawienie domyślne).
  • Równoważenie obciążenia w warstwie 7 za pomocą usługi Azure Application Gateway jest obsługiwane dla wszystkich zestawów skalowania.
  • Zestaw skalowania jest zdefiniowany z jedną podsiecią — upewnij się, że podsieć ma wystarczająco dużą przestrzeń adresową dla wszystkich wymaganych maszyn wirtualnych. Domyślnie zestaw skalowania w celu poprawy niezawodności i wydajności wdrożenia przeprowadza nadmiarową aprowizację, czyli tworzy dodatkowe maszyny wirtualne w czasie wdrażania lub skalowania w poziomie, za które nie są naliczane opłaty. Przestrzeń adresowa powinna być o 20% większa niż liczba maszyn wirtualnych, do której planowane jest skalowanie.
  • Domeny błędów i domeny uaktualnień są spójne tylko w ramach grupy umieszczania. Ta architektura nie zmienia ogólnej dostępności zestawu skalowania, ponieważ maszyny wirtualne są równomiernie dystrybuowane na odrębnym sprzęcie fizycznym, ale oznacza to, że jeśli trzeba zagwarantować, że dwie maszyny wirtualne znajdują się na innym sprzęcie, upewnij się, że znajdują się one w różnych domenach błędów w tej samej grupie umieszczania. Zapoznaj się z tym linkiem Opcje dostępności.
  • Identyfikatory domeny błędów i grupy umieszczania są wyświetlane w widoku wystąpienia maszyny wirtualnej zestawu skalowania. Widok wystąpienia maszyny wirtualnej zestawu skalowania można otworzyć w Eksploratorze zasobów Azure.

Tworzenie dużego zestawu skalowania

Podczas tworzenia zestawu skalowania w witrynie Azure Portal wystarczy określić wartość Liczba wystąpień nie większą niż 1000. Jeśli jest więcej niż 100 wystąpień, pozycja Włącz skalowanie powyżej 100 wystąpień zostanie ustawiona na Tak, co pozwoli na jej skalowanie do wielu grup umieszczania.

Ten obraz przedstawia blok wystąpień witryny Azure Portal. Dostępne są opcje wybierania liczby wystąpień i rozmiaru wystąpienia.

Duży zestaw skalowania maszyn wirtualnych można utworzyć za pomocą polecenia az vmss createinterfejsu wiersza polecenia platformy Azure. To polecenie ustawia inteligentne wartości domyślne, takie jak rozmiar podsieci, na podstawie argumentu instance-count:

az group create -l southcentralus -n biginfra
az vmss create -g biginfra -n bigvmss --image Ubuntu2204 --instance-count 1000

Polecenie vmss create powoduje ustawienie pewnych domyślnych wartości konfiguracji, jeśli nie zostaną określone. Aby wyświetlić dostępne opcje, które można przesłonić:

az vmss create --help

Jeśli tworzysz duży zestaw skalowania za pośrednictwem usługi Azure Resource Manager, upewnij się, że szablon tworzy zestaw skalowania na podstawie funkcji Dyski zarządzane platformy Azure. Właściwość singlePlacementGroup można ustawić na wartość false w sekcji properties zasobu Microsoft.Compute/virtualMachineScaleSets. Poniższy fragment kodu JSON zawiera początek szablonu zestawu skalowania, w tym pojemność wynoszącą 1000 maszyn wirtualnych i ustawienie "singlePlacementGroup" : false:

{
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "location": "australiaeast",
  "name": "bigvmss",
  "sku": {
    "name": "Standard_DS1_v2",
    "tier": "Standard",
    "capacity": 1000
  },
  "properties": {
    "singlePlacementGroup": false,
    "upgradePolicy": {
      "mode": "Automatic"
    }

Kompletny przykład szablonu dużego zestawu skalowania można znaleźć pod adresem https://github.com/gbowerman/azure-myriad/blob/main/bigtest/bigbottle.json.

Konwertowanie istniejącego zestawu skalowania, aby uwzględniał wiele grup umieszczania

Aby umożliwić skalowanie istniejącego zestawu skalowania maszyn wirtualnych na więcej niż 100 maszyn wirtualnych, należy zmienić właściwość singlePlacementGroup na false w modelu zestawu skalowania. Zmianę tej właściwości można przetestować za pomocą Eksploratora zasobów Azure. Znajdź istniejący zestaw skalowania, wybierz pozycję Edytuj i zmień wartość właściwości singlePlacementGroup. Jeśli ta właściwość nie jest widoczna, być może zestaw skalowania jest wyświetlany za pomocą starszej wersji interfejsu API Microsoft.Compute.

Uwaga

Zestaw skalowania można zmienić z obsługującego tylko pojedynczą grupę umieszczania (domyślne zachowanie) na obsługujący wiele grup umieszczania, ale nie odwrotnie. W związku z tym przed przeprowadzeniem konwersji zapoznaj się z właściwościami dużych zestawów skalowania.