Parametry uaktualniania aplikacji

W tym artykule opisano różne parametry stosowane podczas uaktualniania aplikacji usługi Azure Service Fabric. Parametry uaktualniania aplikacji kontrolują limity czasu i kontrole kondycji stosowane podczas uaktualniania i określają zasady, które muszą być stosowane w przypadku niepowodzenia uaktualnienia. Parametry aplikacji mają zastosowanie do uaktualnień przy użyciu:

  • PowerShell
  • Visual Studio
  • SFCTL
  • REST

Uaktualnienia aplikacji są inicjowane za pośrednictwem jednego z trzech trybów uaktualniania, które można wybrać przez użytkownika. Każdy tryb ma własny zestaw parametrów aplikacji:

  • Monitorowane
  • Niemonitorowane automatyczne
  • Niemonitorowane ręczne

Odpowiednie wymagane i opcjonalne parametry opisano w każdej sekcji w następujący sposób.

Parametry programu Visual Studio i programu PowerShell

Uaktualnienia aplikacji usługi Service Fabric przy użyciu programu PowerShell używają polecenia Start-ServiceFabricApplicationUpgrade . Tryb uaktualniania jest wybierany przez przekazanie parametru Monitored, UnmonitoredAuto lub UnmonitoredManual do parametru Start-ServiceFabricApplicationUpgrade.

Parametry uaktualniania aplikacji usługi Service Fabric programu Visual Studio są ustawiane za pomocą okna dialogowego Ustawienia uaktualniania programu Visual Studio. Tryb uaktualniania programu Visual Studio jest wybierany przy użyciu pola rozwijanego Tryb uaktualniania do opcji Monitored, UnmonitoredAuto lub UnmonitoredManual. Aby uzyskać więcej informacji, zobacz Konfigurowanie uaktualniania aplikacji usługi Service Fabric w programie Visual Studio.

Wymagane parametry

Parametr Dotyczy: Opis
ApplicationName PowerShell Nazwa aplikacji, która jest uaktualniana. Przykłady: fabric:/VisualObjects, fabric:/ClusterMonitor.
ApplicationTypeVersion PowerShell Wersja aplikacji, która jest przeznaczona dla uaktualnienia.
FailureAction PowerShell, Visual Studio Dozwolone wartości to wycofywanie, ręczne i nieprawidłowe. Akcja wyrównywująca, która ma być wykonywana, gdy monitorowane uaktualnienie napotyka naruszenia zasad monitorowania lub zasad kondycji.
Wycofanie określa, że uaktualnienie zostanie automatycznie wycofane do wersji przed uaktualnieniem.
Ręczne wskazuje, że uaktualnienie przełączy się do trybu uaktualniania niemonitorowanegoManual .
Nieprawidłowy wskazuje, że akcja niepowodzenia jest nieprawidłowa.
Monitorowane PowerShell Wskazuje, że tryb uaktualniania jest monitorowany. Po zakończeniu uaktualniania domeny uaktualnienia przez polecenie cmdlet, jeśli kondycja domeny uaktualnienia i klastra spełniają zdefiniowane zasady kondycji, usługa Service Fabric uaktualni następną domenę uaktualnienia. Jeśli domena lub klaster uaktualniania nie spełnia zasad kondycji, uaktualnienie zakończy się niepowodzeniem, a usługa Service Fabric wycofa uaktualnienie domeny uaktualnienia lub przywróci tryb ręczny zgodnie z określonymi zasadami. Jest to zalecany tryb uaktualniania aplikacji w środowisku produkcyjnym.
UpgradeMode Visual Studio Dozwolone wartości są monitorowane (domyślne), NiemonitorowaneAuto lub NiemonitorowaneManual. Aby uzyskać szczegółowe informacje, zobacz Parametry programu PowerShell dla każdego trybu w tym artykule.
Niemonitorowanaautoma PowerShell Wskazuje, że tryb uaktualniania jest niemonitorowany automatycznie. Po uaktualnieniu domeny uaktualnienia usługa Service Fabric uaktualnia następną domenę uaktualnienia niezależnie od stanu kondycji aplikacji. Ten tryb nie jest zalecany w środowisku produkcyjnym i jest przydatny tylko podczas tworzenia aplikacji.
NiemonitorowanyManual PowerShell Wskazuje, że tryb uaktualniania jest niemonitorowany ręcznie. Po uaktualnieniu domeny uaktualnienia usługi Service Fabric czeka na uaktualnienie następnej domeny uaktualnienia przy użyciu polecenia cmdlet Resume-ServiceFabricApplicationUpgrade .

Parametry opcjonalne

Parametry oceny kondycji są opcjonalne. Jeśli kryteria oceny kondycji nie zostaną określone podczas uruchamiania uaktualnienia, usługa Service Fabric używa zasad kondycji aplikacji określonych w ApplicationManifest.xml wystąpienia aplikacji.

Parametr Dotyczy: Opis
ApplicationParameter PowerShell, Visual Studio Określa przesłonięcia parametrów aplikacji.
Parametry aplikacji programu PowerShell są określane jako pary nazwy/wartości tabeli skrótu. Na przykład @{ "VotingData_MinReplicaSetSize" = "3"; "VotingData_PartitionCount" = "1" }.
Parametry aplikacji programu Visual Studio można określić w oknie dialogowym Publikowanie aplikacji usługi Service Fabric w polu Plik parametrów aplikacji .
Confirm PowerShell Dozwolone wartości to True i False. Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
RozważwarningAsError PowerShell, Visual Studio Dozwolone wartości to True i False. Wartość domyślna to Fałsz. Traktuj zdarzenia kondycji ostrzeżenia dla aplikacji jako błędy podczas oceniania kondycji aplikacji podczas uaktualniania. Domyślnie usługa Service Fabric nie ocenia zdarzeń kondycji ostrzeżenia o awariach (błędach), dlatego uaktualnienie może kontynuować nawet wtedy, gdy występują zdarzenia ostrzegawcze.
DefaultServiceTypeHealthPolicy PowerShell, Visual Studio Określa zasady kondycji domyślnego typu usługi do użycia dla monitorowanego uaktualnienia w formacie MaxPercent W złej kondycjiPartitionsPerservice, MaxPercentUnhealthyReplicasPerPartition, MaxPercentUnhealthyServices. Na przykład 5,10 15 wskazuje następujące wartości: MaxPercentUnhealthyPartitionsPerService = 5, MaxPercentUnhealthyReplicasPerPartition = 10, MaxPercentUnhealthyServices = 15.
Force PowerShell, Visual Studio Dozwolone wartości to True i False. Wskazuje, że proces uaktualniania pomija komunikat ostrzegawczy i wymusza uaktualnienie nawet wtedy, gdy numer wersji nie został zmieniony. Jest to przydatne w przypadku testowania lokalnego, ale nie jest zalecane do użycia w środowisku produkcyjnym, ponieważ wymaga usunięcia istniejącego wdrożenia, co powoduje utratę danych w czasie pracy i potencjalnej utraty danych.
ForceRestart PowerShell, Visual Studio Jeśli zaktualizujesz konfigurację lub pakiet danych bez aktualizacji kodu usługi, usługa zostanie uruchomiona ponownie tylko wtedy, gdy właściwość ForceRestart ma wartość True. Po zakończeniu aktualizacji usługa Service Fabric powiadamia usługę o dostępności nowego pakietu konfiguracji lub pakietu danych. Usługa jest odpowiedzialna za stosowanie zmian. W razie potrzeby usługa może uruchomić się ponownie.
HealthCheckRetryTimeoutSec PowerShell, Visual Studio Czas trwania (w sekundach), przez który usługa Service Fabric kontynuuje ocenę kondycji przed zadeklarowaniem uaktualnienia jako niepowodzenie. Wartość domyślna to 600 sekund. Ten czas trwania rozpoczyna się po osiągnięciu opcji HealthCheckWaitDurationSec . W ramach tego elementu HealthCheckRetryTimeout usługa Service Fabric może wykonywać wiele kontroli kondycji aplikacji. Wartość domyślna to 10 minut i powinna być odpowiednio dostosowana dla aplikacji.
HealthCheckStableDurationSec PowerShell, Visual Studio Czas trwania (w sekundach), aby sprawdzić, czy aplikacja jest stabilna przed przejściem do następnej domeny uaktualnienia lub ukończeniem uaktualnienia. Ten czas oczekiwania służy do zapobiegania niezakrytym zmianom kondycji bezpośrednio po wykonaniu kontroli kondycji. Wartość domyślna to 120 sekund i powinna być odpowiednio dostosowana dla aplikacji.
HealthCheckWaitDurationSec PowerShell, Visual Studio Czas oczekiwania (w sekundach) po zakończeniu uaktualniania w domenie uaktualnienia, zanim usługa Service Fabric oceni kondycję aplikacji. Ten czas trwania można również uznać za czas, w którym aplikacja powinna być uruchomiona, zanim będzie można ją uznać za w dobrej kondycji. Jeśli kontrola kondycji przejdzie, proces uaktualniania przejdzie do następnej domeny uaktualnienia. Jeśli sprawdzanie kondycji zakończy się niepowodzeniem, usługa Service Fabric czeka na upgradeHealthCheckInterval przed ponowieniu próby sprawdzenia kondycji do momentu osiągnięcia wartości HealthCheckRetryTimeoutSec . Wartość domyślna i zalecana to 0 sekund.
MaxPercent W złej kondycjiDeployedApplications PowerShell, Visual Studio Wartość domyślna i zalecana to 0. Określ maksymalną liczbę wdrożonych aplikacji (zobacz sekcję Kondycja), które mogą być w złej kondycji, zanim aplikacja zostanie uznana za w złej kondycji i zakończy się niepowodzeniem uaktualnienia. Ten parametr definiuje kondycję aplikacji w węźle i pomaga wykrywać problemy podczas uaktualniania. Zazwyczaj repliki aplikacji uzyskują równoważenie obciążenia do innego węzła, co umożliwia aplikacji pojawienie się w dobrej kondycji, co pozwala na kontynuowanie uaktualniania. Określając ścisłą kondycję MaxPercentUnhealthyDeployedApplications , usługa Service Fabric może szybko wykryć problem z pakietem aplikacji i pomóc w szybkim uaktualnieniu.
MaxPercent W złej kondycjiUsługi PowerShell, Visual Studio Parametr DefaultServiceTypeHealthPolicy i ServiceTypeHealthPolicyMap. Wartość domyślna i zalecana to 0. Określ maksymalną liczbę usług w wystąpieniu aplikacji, które mogą być w złej kondycji, zanim aplikacja zostanie uznana za w złej kondycji i zakończy się niepowodzeniem uaktualnienia.
MaxPercent W złej kondycjiPartitionsPerService PowerShell, Visual Studio Parametr DefaultServiceTypeHealthPolicy i ServiceTypeHealthPolicyMap. Wartość domyślna i zalecana to 0. Określ maksymalną liczbę partycji w usłudze, która może być w złej kondycji, zanim usługa zostanie uznana za w złej kondycji.
MaxPercent W złej kondycjiReplicasPerPartition PowerShell, Visual Studio Parametr DefaultServiceTypeHealthPolicy i ServiceTypeHealthPolicyMap. Wartość domyślna i zalecana to 0. Określ maksymalną liczbę replik w partycji, które mogą być w złej kondycji, zanim partycja zostanie uznana za w złej kondycji.
ServiceTypeHealthPolicyMap PowerShell, Visual Studio Reprezentuje zasady kondycji używane do oceny kondycji usług należących do typu usługi. Przyjmuje dane wejściowe tabeli skrótu w następującym formacie: @ {"ServiceTypeName": "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"} Na przykład: @{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }
Limit czasuSec PowerShell, Visual Studio Określa limit czasu w sekundach dla operacji.
UpgradeDomainTimeoutSec PowerShell, Visual Studio Maksymalny czas (w sekundach) uaktualniania pojedynczej domeny uaktualnienia. Jeśli ten limit czasu zostanie osiągnięty, uaktualnienie zostanie zatrzymane i będzie kontynuowane na podstawie ustawienia FailureAction. Wartość domyślna nigdy nie jest (nieskończona) i powinna być odpowiednio dostosowywana dla aplikacji.
UpgradeReplicaSetCheckTimeoutSec PowerShell, Visual Studio Mierzone w sekundach.
Usługa bezstanowa — w ramach jednej domeny uaktualniania usługa Service Fabric próbuje upewnić się, że dostępne są dodatkowe wystąpienia usługi. Jeśli liczba wystąpień docelowych jest większa niż jedna, usługa Service Fabric czeka na udostępnienie więcej niż jednego wystąpienia, maksymalnie limit czasu. Ten limit czasu jest określony przy użyciu właściwości UpgradeReplicaSetCheckTimeoutSec . Jeśli limit czasu wygaśnie, usługa Service Fabric przejdzie do uaktualnienia, niezależnie od liczby wystąpień usługi. Jeśli liczba wystąpień docelowych jest jedna, usługa Service Fabric nie czeka i natychmiast przejdzie do uaktualnienia.

Stanowa usługa — w ramach jednej domeny uaktualnienia usługa Service Fabric próbuje upewnić się, że zestaw replik ma kworum. Usługa Service Fabric czeka na udostępnienie kworum do maksymalnej wartości limitu czasu (określonej przez właściwość UpgradeReplicaSetCheckTimeoutSec ). Jeśli limit czasu wygaśnie, usługa Service Fabric przejdzie do uaktualnienia, niezależnie od kworum. To ustawienie jest ustawione jako nigdy (nieskończone) podczas przesyłania dalej i 1200 sekund podczas wycofywania.
UpgradeTimeoutSec PowerShell, Visual Studio Limit czasu (w sekundach) stosowany dla całego uaktualnienia. Jeśli ten limit czasu zostanie osiągnięty, uaktualnienie zostanie zatrzymane i wyzwolona pozycja FailureAction . Wartość domyślna nigdy nie jest (nieskończona) i powinna być odpowiednio dostosowywana dla aplikacji.
Instrukcja WhatIf PowerShell Dozwolone wartości to True i False. Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

Kryteria MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService i MaxPercentUnhealthyReplicasPerPartition można określić dla typu usługi dla wystąpienia aplikacji. Ustawienie tych parametrów na usługę umożliwia aplikacji używanie różnych typów usług z różnymi zasadami oceny. Na przykład typ usługi bramy bezstanowej może mieć wartość MaxPercent W złej kondycjiPartitionsPerService , która różni się od typu usługi aparatu stanowego dla określonego wystąpienia aplikacji.

Parametry SFCTL

Uaktualnienia aplikacji usługi Service Fabric przy użyciu interfejsu wiersza polecenia usługi Service Fabric używają polecenia uaktualniania aplikacji sfctl wraz z następującymi wymaganymi i opcjonalnymi parametrami.

Wymagane parametry

Parametr Opis
identyfikator aplikacji Identyfikator aplikacji, która jest uaktualniana.
Jest to zazwyczaj pełna nazwa aplikacji bez schematu identyfikatora URI "fabric:". Począwszy od wersji 6.0, nazwy hierarchiczne są rozdzielane znakiem "~". Jeśli na przykład nazwa aplikacji to "fabric:/myapp/app1", tożsamość aplikacji będzie miała wartość "myapp~app1" w wersji 6.0+ i "myapp/app1" w poprzednich wersjach.
wersja aplikacji Wersja aplikacji, która jest przeznaczona dla uaktualnienia.
parameters Lista zakodowanych w formacie JSON przesłonięć parametrów aplikacji, które mają być stosowane podczas uaktualniania aplikacji.

Parametry opcjonalne

Parametr Opis
default-service-health-policy Specyfikacja zakodowana w formacie JSON zasad kondycji używana domyślnie do oceny kondycji typu usługi. Mapa jest domyślnie pusta.
failure-action Dozwolone wartości to wycofywanie, ręczne i nieprawidłowe. Akcja wyrównywująca, która ma być wykonywana, gdy monitorowane uaktualnienie napotyka naruszenia zasad monitorowania lub zasad kondycji.
Wycofanie określa, że uaktualnienie zostanie automatycznie wycofane do wersji przed uaktualnieniem.
Ręczne wskazuje, że uaktualnienie przełączy się do trybu uaktualniania niemonitorowanegoManual .
Nieprawidłowy wskazuje, że akcja niepowodzenia jest nieprawidłowa.
force-restart Jeśli zaktualizujesz konfigurację lub pakiet danych bez aktualizacji kodu usługi, usługa zostanie uruchomiona ponownie tylko wtedy, gdy właściwość ForceRestart ma wartość True. Po zakończeniu aktualizacji usługa Service Fabric powiadamia usługę o dostępności nowego pakietu konfiguracji lub pakietu danych. Usługa jest odpowiedzialna za stosowanie zmian. W razie potrzeby usługa może uruchomić się ponownie.
health-check-retry-timeout Czas ponawiania próby oceny kondycji, gdy aplikacja lub klaster jest w złej kondycji przed wykonaniem polecenia FailureAction . Jest on najpierw interpretowany jako ciąg reprezentujący czas trwania ISO 8601. Jeśli to się nie powiedzie, zostanie ona zinterpretowana jako liczba reprezentująca łączną liczbę milisekund. Ustawienie domyślne: PT0H10M0S.
health-check-stable-duration Czas, przez jaki aplikacja lub klaster musi pozostać w dobrej kondycji, zanim uaktualnienie przejdzie do następnej domeny uaktualnienia. Jest on najpierw interpretowany jako ciąg reprezentujący czas trwania ISO 8601. Jeśli to się nie powiedzie, zostanie ona zinterpretowana jako liczba reprezentująca łączną liczbę milisekund. Ustawienie domyślne: PT0H2M0S.
health-check-wait-duration Czas oczekiwania po ukończeniu domeny uaktualnienia przed zastosowaniem zasad kondycji. Jest on najpierw interpretowany jako ciąg reprezentujący czas trwania ISO 8601. Jeśli to się nie powiedzie, zostanie ona zinterpretowana jako liczba reprezentująca łączną liczbę milisekund. Wartość domyślna: 0.
maksymalna kondycja aplikacji Wartość domyślna i zalecana to 0. Określ maksymalną liczbę wdrożonych aplikacji (zobacz sekcję Kondycja), które mogą być w złej kondycji, zanim aplikacja zostanie uznana za w złej kondycji i zakończy się niepowodzeniem uaktualnienia. Ten parametr definiuje kondycję aplikacji w węźle i pomaga wykrywać problemy podczas uaktualniania. Zazwyczaj repliki aplikacji uzyskują równoważenie obciążenia do innego węzła, co umożliwia aplikacji pojawienie się w dobrej kondycji, co pozwala na kontynuowanie uaktualniania. Określając ścisłą kondycję aplikacji w złej kondycji , usługa Service Fabric może szybko wykryć problem z pakietem aplikacji i pomóc w szybkim uaktualnieniu. Reprezentowana jako liczba z zakresu od 0 do 100.
tryb Dozwolone wartości są monitorowane, UpgradeMode, UnmonitoredAuto, UnmonitoredManual. Wartość domyślna to UnmonitoredAuto. Aby uzyskać opisy tych wartości, zobacz sekcję Wymagane parametry programu Visual Studio i programu PowerShell.
limit czasu sprawdzania zestawu repliki Mierzone w sekundach.
Usługa bezstanowa — w ramach jednej domeny uaktualniania usługa Service Fabric próbuje upewnić się, że dostępne są dodatkowe wystąpienia usługi. Jeśli liczba wystąpień docelowych jest większa niż jedna, usługa Service Fabric czeka na udostępnienie więcej niż jednego wystąpienia, maksymalnie limit czasu. Ten limit czasu jest określony przy użyciu właściwości limitu czasu sprawdzania repliki . Jeśli limit czasu wygaśnie, usługa Service Fabric przejdzie do uaktualnienia, niezależnie od liczby wystąpień usługi. Jeśli liczba wystąpień docelowych jest jedna, usługa Service Fabric nie czeka i natychmiast przejdzie do uaktualnienia.

Stanowa usługa — w ramach jednej domeny uaktualnienia usługa Service Fabric próbuje upewnić się, że zestaw replik ma kworum. Usługa Service Fabric czeka, aż kworum będzie dostępne, maksymalnie przekroczono limit czasu (określony przez właściwość limitu czasu repliki set-check-timeout ). Jeśli limit czasu wygaśnie, usługa Service Fabric przejdzie do uaktualnienia, niezależnie od kworum. To ustawienie jest ustawione jako nigdy (nieskończone) podczas przesyłania dalej i 1200 sekund podczas wycofywania.
service-health-policy Mapa zakodowana w formacie JSON z zasadami kondycji typu usługi na nazwę typu usługi. Mapa jest pusta jako domyślna. Format JSON parametru. Kod JSON dla części "Value" zawiera wartości MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService i MaxPercent W złej kondycjiReplicasPerPartition. Zobacz sekcję Visual Studio i PowerShell Optional Parameters (Parametry opcjonalne programu PowerShell), aby uzyskać opisy tych parametrów.
timeout Określa limit czasu w sekundach dla operacji. Wartość domyślna: 60.
limit czasu uaktualniania domeny Czas ukończenia każdej domeny uaktualnienia przed wykonaniem operacji FailureAction . Jest on najpierw interpretowany jako ciąg reprezentujący czas trwania ISO 8601. Jeśli to się nie powiedzie, zostanie ona zinterpretowana jako liczba reprezentująca łączną liczbę milisekund. Wartość domyślna nigdy nie jest (nieskończona) i powinna być odpowiednio dostosowywana dla aplikacji. Ustawienie domyślne: P10675199DT02H48M05.4775807S.
limit czasu uaktualniania Czas ukończenia każdej domeny uaktualnienia przed wykonaniem operacji FailureAction . Jest on najpierw interpretowany jako ciąg reprezentujący czas trwania ISO 8601. Jeśli to się nie powiedzie, zostanie ona zinterpretowana jako liczba reprezentująca łączną liczbę milisekund. Wartość domyślna nigdy nie jest (nieskończona) i powinna być odpowiednio dostosowywana dla aplikacji. Ustawienie domyślne: P10675199DT02H48M05.4775807S.
ostrzeżenie jako błąd Dozwolone wartości to True i False. Wartość domyślna to Fałsz. Można przekazać jako flagę. Traktuj zdarzenia kondycji ostrzeżenia dla aplikacji jako błędy podczas oceniania kondycji aplikacji podczas uaktualniania. Domyślnie usługa Service Fabric nie ocenia zdarzeń kondycji ostrzeżenia o awariach (błędach), dlatego uaktualnienie może kontynuować nawet wtedy, gdy występują zdarzenia ostrzegawcze.

Następne kroki

Uaktualnianie aplikacji przy użyciu programu Visual Studio przeprowadzi Cię przez proces uaktualniania aplikacji przy użyciu programu Visual Studio.

Uaktualnianie aplikacji przy użyciu programu PowerShell przeprowadzi Cię przez proces uaktualniania aplikacji przy użyciu programu PowerShell.

Uaktualnianie aplikacji przy użyciu interfejsu wiersza polecenia usługi Service Fabric w systemie Linux przeprowadzi Cię przez proces uaktualniania aplikacji przy użyciu interfejsu wiersza polecenia usługi Service Fabric.

Uaktualnianie aplikacji przy użyciu wtyczki Środowiska Eclipse usługi Service Fabric

Uaktualnij aplikacje, ucząc się, jak używać serializacji danych.

Dowiedz się, jak używać zaawansowanych funkcji podczas uaktualniania aplikacji, odwołując się do tematów zaawansowanych.

Rozwiąż typowe problemy w uaktualnieniach aplikacji, korzystając z instrukcji opisanych w temacie Rozwiązywanie problemów z uaktualnieniami aplikacji.