Zarządzanie uaktualnieniami klastra usługi Service Fabric

Klaster usługi Azure Service Fabric to zasób, którego jesteś właścicielem, ale jest częściowo zarządzany przez firmę Microsoft. Oto jak zarządzać tym, kiedy i jak firma Microsoft aktualizuje klaster usługi Azure Service Fabric.

Aby uzyskać więcej informacji na temat pojęć i procesów uaktualniania klastra, zobacz Uaktualnianie i aktualizowanie klastrów usługi Azure Service Fabric.

Ustawianie trybu uaktualniania

Klaster można ustawić tak, aby odbierał automatyczne uaktualnienia usługi Service Fabric w miarę ich wydawania przez firmę Microsoft lub ręcznie wybrać jedną z list aktualnie obsługiwanych wersji, ustawiając tryb uaktualniania klastra. Można to zrobić za pomocą kontrolki tryb uaktualniania sieci szkieletowej w Azure Portal lub upgradeMode ustawienia w szablonie wdrożenia klastra.

Azure Portal

Korzystając z Azure Portal, podczas tworzenia nowego klastra usługi Service Fabric należy wybrać opcję automatycznego lub ręcznego uaktualniania.

Wybór między automatycznymi lub ręcznymi uaktualnieniami podczas tworzenia nowego klastra w Azure Portal z opcji

Można również przełączać się między automatycznymi lub ręcznymi uaktualnieniami z sekcji Uaktualnienia sieci szkieletowej istniejącego zasobu klastra.

Wybierz pozycję Automatyczne lub Ręczne uaktualnienia w sekcji

Ręczne uaktualnianie przy użyciu Azure Portal

Po wybraniu opcji ręcznego uaktualniania wszystko, co jest potrzebne do zainicjowania uaktualnienia, to wybranie z listy rozwijanej dostępnych wersji, a następnie pozycję Zapisz. Stamtąd uaktualnienie klastra zostanie natychmiast uruchomione.

Zasady kondycji klastra (kombinacja kondycji węzła i kondycji wszystkich aplikacji uruchomionych w klastrze) są zgodne podczas uaktualniania. Jeśli zasady kondycji klastra nie zostaną spełnione, uaktualnienie zostanie wycofane.

Po rozwiązaniu problemów, które spowodowały wycofanie, należy ponownie zainicjować uaktualnienie, wykonując te same kroki co poprzednio.

Szablon usługi Resource Manager

Aby zmienić tryb uaktualniania klastra przy użyciu szablonu Resource Manager, określ wartość Automatyczna lub Ręczna dla upgradeMode właściwości definicji zasobu Microsoft.ServiceFabric/clusters. W przypadku wybrania uaktualnień ręcznych należy również ustawić clusterCodeVersion wartość na obecnie obsługiwaną wersję sieci szkieletowej.

Zrzut ekranu przedstawia szablon, który jest wcięty w postaci zwykłego tekstu, aby odzwierciedlić strukturę. Wyróżniono właściwości

Po pomyślnym wdrożeniu szablonu zostaną zastosowane zmiany w trybie uaktualniania klastra. Jeśli klaster jest w trybie ręcznym, uaktualnienie klastra zostanie uruchomione automatycznie.

Zasady kondycji klastra (kombinacja kondycji węzła i kondycji wszystkich aplikacji uruchomionych w klastrze) są zgodne podczas uaktualniania. Jeśli zasady kondycji klastra nie zostaną spełnione, uaktualnienie zostanie wycofane.

Po rozwiązaniu problemów, które spowodowały wycofanie, należy ponownie zainicjować uaktualnienie, wykonując te same kroki co poprzednio.

Wdrażanie fali na potrzeby automatycznych uaktualnień

W trybie automatycznego uaktualniania możesz włączyć klaster na potrzeby wdrażania falowego. W przypadku wdrażania falowego można utworzyć potok służący do uaktualniania klastrów testowych, etapowych i produkcyjnych, oddzielonych wbudowanym "czasem pieczenia", aby zweryfikować nadchodzące wersje usługi Service Fabric przed zaktualizowaniem klastrów produkcyjnych.

Włączanie wdrażania fali

Uwaga

Wdrożenie wave wymaga wersji interfejsu API (lub nowszej 2020-12-01-preview ) dla zasobu Microsoft.ServiceFabric/clusters .

Aby włączyć wdrażanie fali na potrzeby automatycznego uaktualniania, najpierw określ, która fala ma zostać przypisana do klastra:

  • Wave 0 (Wave0): Klastry są aktualizowane zaraz po wydaniu nowej kompilacji usługi Service Fabric. Przeznaczony dla klastrów testowych/deweloperskich.
  • Wave 1 (Wave1): Klastry są aktualizowane jeden tydzień (siedem dni) po wydaniu nowej kompilacji. Przeznaczony dla klastrów wstępnych/przejściowych.
  • Wave 2 (Wave2): Klastry są aktualizowane dwa tygodnie (14 dni) po wydaniu nowej kompilacji. Przeznaczone dla klastrów produkcyjnych.

Następnie wystarczy dodać upgradeWave właściwość do szablonu zasobu klastra z jedną z wartości falowych wymienionych powyżej. Upewnij się, że wersja interfejsu API zasobu klastra jest 2020-12-01-preview lub nowsza.

{
    "apiVersion": "2020-12-01-preview",
    "type": "Microsoft.ServiceFabric/clusters",
     ...
        "fabricSettings": [...],
        "managementEndpoint": ...,
        "nodeTypes": [...],
        "provisioningState": ...,
        "reliabilityLevel": ...,
        "upgradeMode": "Automatic",
        "upgradeWave": "Wave1",
       ...

Po wdrożeniu zaktualizowanego szablonu klaster zostanie zarejestrowany w określonej fali dla następnego okresu uaktualniania i po nim.

Możesz zarejestrować się w celu otrzymywania powiadomień e-mail z linkami , aby uzyskać dalszą pomoc, jeśli uaktualnienie klastra zakończy się niepowodzeniem.

Rejestrowanie do otrzymywania powiadomień

Możesz zarejestrować się w celu otrzymywania powiadomień, gdy uaktualnienie klastra zakończy się niepowodzeniem. Wiadomość e-mail zostanie wysłana do wyznaczonego adresu e-mail z dalszymi szczegółami dotyczącymi niepowodzenia uaktualniania i linki do dalszej pomocy.

Uwaga

Rejestracja we wdrożeniu falowym nie jest wymagana do odbierania powiadomień o niepowodzeniach uaktualniania.

Aby zarejestrować się w powiadomieniach, dodaj sekcję notifications do szablonu zasobu klastra i wyznaczyj co najmniej jeden adres e-mail (odbiorniki), aby otrzymywać powiadomienia:

    "apiVersion": "2020-12-01-preview",
    "type": "Microsoft.ServiceFabric/clusters",
     ...
        "upgradeMode": "Automatic",
        "upgradeWave": "Wave1",
        "notifications": [
        {
            "isEnabled": true,
            "notificationCategory": "WaveProgress",
            "notificationLevel": "Critical",
            "notificationTargets": [
            {
                "notificationChannel": "EmailUser",
                "receivers": [
                    "devops@contoso.com"
                ]
            }]
        }]

Po wdrożeniu zaktualizowanego szablonu zostaną zarejestrowane powiadomienia o niepowodzeniu uaktualniania.

Niestandardowe zasady dotyczące uaktualnień ręcznych

Można określić niestandardowe zasady kondycji dla ręcznych uaktualnień klastra. Te zasady są stosowane za każdym razem, gdy wybierasz nową wersję środowiska uruchomieniowego, która wyzwala system, aby rozpocząć uaktualnianie klastra. Jeśli zasady nie zostaną zastąpione, zostaną użyte wartości domyślne.

Możesz określić niestandardowe zasady kondycji lub przejrzeć bieżące ustawienia w sekcji Uaktualnienia sieci szkieletowej zasobu klastra w Azure Portal, wybierając opcję Niestandardowe dla zasad uaktualniania.

Wybierz opcję

Sprawdzanie obsługiwanych wersji klastra

Aby uzyskać więcej informacji na temat obsługiwanych wersji i systemów operacyjnych, możesz odwoływać się do wersji usługi Service Fabric .

Interfejs API REST platformy Azure umożliwia również wyświetlenie listy wszystkich dostępnych wersji środowiska uruchomieniowego usługi Service Fabric (clusterVersions) dostępnych dla określonej lokalizacji i subskrypcji.

GET https://<endpoint>/subscriptions/{{subscriptionId}}/providers/Microsoft.ServiceFabric/locations/{{location}}/clusterVersions?api-version=2018-02-01

"value": [
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/5.0.1427.9490",
    "name": "5.0.1427.9490",
    "type": "Microsoft.ServiceFabric/environments/clusterVersions",
    "properties": {
      "codeVersion": "5.0.1427.9490",
      "supportExpiryUtc": "2016-11-26T23:59:59.9999999",
      "environment": "Windows"
    }
  },
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/4.0.1427.9490",
    "name": "5.1.1427.9490",
    "type": " Microsoft.ServiceFabric/environments/clusterVersions",
    "properties": {
      "codeVersion": "5.1.1427.9490",
      "supportExpiryUtc": "9999-12-31T23:59:59.9999999",
      "environment": "Windows"
    }
  },
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/4.4.1427.9490",
    "name": "4.4.1427.9490",
    "type": " Microsoft.ServiceFabric/environments/clusterVersions",
    "properties": {
      "codeVersion": "4.4.1427.9490",
      "supportExpiryUtc": "9999-12-31T23:59:59.9999999",
      "environment": "Linux"
    }
  }
]
}

W supportExpiryUtc raportach wyjściowych, gdy dana wersja wygaśnie lub wygasła. Najnowsze wersje nie będą miały prawidłowej daty, ale raczej wartość 9999-12-31T23:59:59.999999999, co oznacza, że data wygaśnięcia nie jest jeszcze ustawiona.

Sprawdzanie obsługiwanej ścieżki uaktualnienia

Dokumentację wersji usługi Service Fabric można znaleźć w dokumentacji obsługiwanych ścieżek uaktualniania i powiązanych wersji.

Korzystając z obsługiwanych informacji o wersji docelowej, możesz użyć następujących kroków programu PowerShell, aby zweryfikować obsługiwaną ścieżkę uaktualnienia.

  1. Zaloguj się do platformy Azure.

    Login-AzAccount
    
  2. Wybierz subskrypcję

    Set-AzContext -SubscriptionId <your-subscription>
    
  3. Wywoływanie interfejsu API

    $params = @{ "TargetVersion" = "<target version>"}
    Invoke-AzResourceAction -ResourceId <cluster resource id> -Parameters $params -Action listUpgradableVersions -Force
    

    Przykład:

    $params = @{ "TargetVersion" = "8.1.335.9590"}
    Invoke-AzResourceAction -ResourceId /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster -Parameters $params -Action listUpgradableVersions -Force
    
    Output
    supportedPath
    -------------
    {8.1.329.9590, 8.1.335.9590}
    

Następne kroki