Udostępnij za pośrednictwem


Wdrażanie klastra zarządzanego usługi Service Fabric z typami węzłów bezstanowych

Typy węzłów usługi Service Fabric mają nieodłączne założenie, że w pewnym momencie na węzłach mogą zostać umieszczone usługi stanowe. Typy węzłów bezstanowych zmieniają to założenie dla typu węzła. Dzięki temu typ węzła może korzystać z funkcji, takich jak szybsze operacje skalowania w poziomie, obsługa automatycznych uaktualnień systemu operacyjnego, maszyn wirtualnych typu spot i skalowanie w poziomie do ponad 100 węzłów w typie węzła.

  • Nie można skonfigurować typów węzłów podstawowych jako bezstanowych.
  • Typy węzłów bezstanowych wymagają interfejsu API w wersji 2021-05-01 lub nowszej.
  • Spowoduje to automatyczne ustawienie właściwości multipleplacementgroup na wartość true , co można dowiedzieć się więcej tutaj.
  • Umożliwia to obsługę maksymalnie 1000 węzłów dla danego typu węzła.
  • Typy węzłów bezstanowych mogą korzystać z dysku tymczasowego jednostki SKU maszyny wirtualnej.

Włączanie typów węzłów bezstanowych w klastrze zarządzanym usługi Service Fabric

Aby ustawić co najmniej jeden typ węzła jako bezstanowy w zasobie typu węzła, ustaw właściwość isStateless na true. Podczas wdrażania klastra usługi Service Fabric z typami węzłów bezstanowych wymagany jest co najmniej jeden typ węzła podstawowego, który nie jest bezstanowy w klastrze.

Dostępne są przykładowe szablony: szablon typów węzłów bezstanowych usługi Service Fabric

  • Wersja interfejsu API zasobów klastra zarządzanego usługi Service Fabric powinna mieć wartość 2021-05-01 lub nowszą.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
  }
}

Włączanie bezstanowych typów węzłów przy użyciu maszyn wirtualnych typu spot w klastrze zarządzanym usługi Service Fabric (wersja zapoznawcza)

Usługa Azure Spot Virtual Machines w zestawach skalowania umożliwia użytkownikom korzystanie z nieużywanej pojemności obliczeniowej przy znaczących oszczędnościach kosztów. W dowolnym momencie, gdy platforma Azure potrzebuje pojemności z powrotem, infrastruktura platformy Azure wykluczy te wystąpienia maszyn wirtualnych typu spot platformy Azure. W związku z tym typy węzłów maszyn wirtualnych typu spot doskonale nadają się do obciążeń, które mogą obsługiwać przerwy i nie muszą być wykonywane w określonym przedziale czasu. Zalecane obciążenia obejmują tworzenie, testowanie, zadania przetwarzania wsadowego, dane big data lub inne scenariusze bezstanowe na dużą skalę.

Aby ustawić co najmniej jeden typ węzła bezstanowego do używania maszyny wirtualnej typu spot, ustaw dla właściwości isStateless i IsSpotVM wartość true. Podczas wdrażania klastra usługi Service Fabric z typami węzłów bezstanowych wymagany jest co najmniej jeden typ węzła podstawowego, który nie jest bezstanowy w klastrze. Typy węzłów bezstanowych skonfigurowane do używania maszyn wirtualnych typu spot mają domyślnie ustawione zasady eksmisji na wartość "Usuń". Klienci mogą skonfigurować ustawienie "evictionPolicy" na wartość "Delete" lub "Deallocate", ale można to zdefiniować tylko w momencie tworzenia typu węzła.

Dostępne są przykładowe szablony: szablon typów węzłów typu spot usługi Service Fabric

  • Interfejs API zasobów klastra zarządzanego usługi Service Fabric powinien mieć wartość 2022-06-01-preview lub nowszą .
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "IsSpotVM": true,
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
  }
}

Włączanie maszyn wirtualnych typu spot za pomocą funkcji Try & Restore

Ta konfiguracja umożliwia platformie automatyczne próby przywrócenia eksmitowanych maszyn wirtualnych typu spot. Aby uzyskać szczegółowe informacje, zapoznaj się z dokumentem zestawu skalowania maszyn wirtualnych. Tę konfigurację można włączyć tylko w nowych typach węzłów typu spot, określając parametr spotRestoreTimeout, czyli czas trwania iso 8601 o wartości z zakresu od 30 do 2880 minut. Platforma podejmie próbę przywrócenia maszyn wirtualnych przez ten czas po eksmisji.

{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "IsSpotVM": true,
    "evictionPolicy": "deallocate",
    "spotRestoreTimeout": "PT30M",
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
  }
}

Konfigurowanie bezstanowych typów węzłów pod kątem odporności strefy

Aby skonfigurować typ węzła bezstanowego dla odporności strefy, należy skonfigurować strefę klastra zarządzanego na poziomie klastra.

Uwaga

Właściwość odporności strefowej musi być ustawiona na poziomie klastra i nie można zmienić tej właściwości.

Obsługa dysku tymczasowego

Typy węzłów bezstanowych można skonfigurować do używania dysku tymczasowego jako dysku danych zamiast dysku zarządzanego. Użycie dysku tymczasowego może obniżyć koszty obciążeń bezstanowych. Aby skonfigurować typ węzła bezstanowego do używania dysku tymczasowego, ustaw właściwość useTempDataDisk na true.

  • Rozmiar dysku tymczasowego musi wynosić co najmniej 32 GB. Rozmiar dysku tymczasowego zależy od rozmiaru maszyny wirtualnej.
  • Dysk tymczasowy nie jest szyfrowany za pomocą szyfrowania po stronie serwera, chyba że włączono szyfrowanie na hoście.
  • Wersja interfejsu API zasobów klastra zarządzanego usługi Service Fabric powinna mieć wartość 2022-01-01 lub nowszą.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "useTempDataDisk": true
  }
}

Migrowanie do korzystania z typów węzłów bezstanowych w klastrze

W przypadku wszystkich scenariuszy migracji należy dodać nowy typ węzła bezstanowego. Nie można zmigrować istniejącego typu węzła jako bezstanowego. Możesz dodać nowy typ węzła bezstanowego do istniejącego klastra zarządzanego usługi Service Fabric i usunąć wszystkie oryginalne typy węzłów z klastra.

Następne kroki

Aby dowiedzieć się więcej o klastrach zarządzanych usługi Service Fabric, zobacz: