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, które są stosowane podczas uaktualniania, i określają zasady, które należy zastosować, gdy uaktualnienie zakończy się niepowodzeniem. 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 są opisane 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 pośrednictwem okna dialogowego Ustawienia uaktualniania programu Visual Studio. Tryb uaktualniania programu Visual Studio jest wybierany przy użyciu pola rozwijanego Tryb uaktualniania do monitorowanego, niemonitorowanegoautoma lub NiemonitorowanegoManual. Aby uzyskać więcej informacji, zobacz Konfigurowanie uaktualniania aplikacji usługi Service Fabric w programie Visual Studio.
Parametry wymagane
Parametr | Dotyczy | opis |
---|---|---|
ApplicationName | PowerShell | Nazwa aplikacji, która jest uaktualniana. Przykłady: fabric:/VisualObjects, fabric:/ClusterMonitor. |
ApplicationTypeVersion | PowerShell | Wersja aplikacji typu, która jest przeznaczona dla uaktualnienia. |
FailureAction | PowerShell, Visual Studio | Dozwolone wartości to Wycofywanie, Ręczne i Nieprawidłowe. Akcja wyrównywają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 wstępnej uaktualnienia. Ręczne wskazuje, że uaktualnienie zostanie przełączone do trybu niemonitorowanegoManual uaktualnienia. Invalid 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 uaktualnia następną domenę uaktualnienia. Jeśli domena uaktualnienia lub klaster nie spełniają zasad kondycji, uaktualnienie zakończy się niepowodzeniem, a usługa Service Fabric wycofa uaktualnienie domeny uaktualnienia lub powróci do trybu ręcznego zgodnie z określonymi zasadami. Jest to tryb zalecany dla uaktualnień aplikacji w środowisku produkcyjnym. |
UpgradeMode | Visual Studio | Dozwolone wartości to Monitored (wartość domyślna), UnmonitoredAuto lub UnmonitoredManual. Aby uzyskać szczegółowe informacje, zobacz Parametry programu PowerShell dla każdego trybu w tym artykule. |
Niemonitorowaneautoma | PowerShell | Wskazuje, że tryb uaktualniania jest niemonitorowany automatycznie. Po uaktualnieniu domeny uaktualnienia usługi Service Fabric 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 |
---|---|---|
Parametr aplikacji | PowerShell, Visual Studio | Określa przesłonięcia parametrów aplikacji. Parametry aplikacji programu PowerShell są określane jako pary nazwa/wartość 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 błędach (błędach), więc 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 MaxPercentUnhealthyPartitionsPerService, MaxPercentUnhealthyReplicasPerPartition, 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 zmniejszenie czasu i potencjalnej utraty danych. |
ForceRestart | PowerShell, Visual Studio | Jeśli zaktualizujesz konfigurację lub pakiet danych bez aktualizowania kodu usługi, usługa zostanie ponownie uruchomiona 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 ponownie uruchomić się. |
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 wykonać 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 przebiegnie pomyślnie, 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. |
MaxPercentUnhealthyDeployedApplications | 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. |
MaxPercentUnhealthyPartitionsPerService | PowerShell, Visual Studio | Parametr DefaultServiceTypeHealthPolicy i ServiceTypeHealthPolicyMap. Wartość domyślna i zalecana to 0. Określ maksymalną liczbę partycji w usłudze, które mogą być w złej kondycji, zanim usługa zostanie uznana za w złej kondycji. |
MaxPercentUnhealthyReplicasPerPartition | 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 uaktualnienia usługa Service Fabric próbuje upewnić się, że są dostępne dodatkowe wystąpienia usługi. Jeśli liczba wystąpień docelowych jest większa niż jedna, usługa Service Fabric czeka, aż będzie dostępne więcej niż jedno wystąpienie, do maksymalnej wartości limitu 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, aż kworum będzie dostępne, 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 ustawiane jako nigdy (nieskończone) podczas wycofywania i 1200 sekund. |
UpgradeTimeoutSec | PowerShell, Visual Studio | Limit czasu (w sekundach), który ma zastosowanie do całego uaktualnienia. Jeśli ten limit czasu zostanie osiągnięty, uaktualnienie zostanie zatrzymane i zostanie wyzwolona funkcja 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 dla usługi 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ść MaxPercentUnhealthyPartitionsPerService , 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.
Parametry wymagane
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, hierarchiczne nazwy 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 typu, która jest przeznaczona dla uaktualnienia. |
parameters | Zakodowana w formacie JSON lista 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ównywają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 wstępnej uaktualnienia. Ręczne wskazuje, że uaktualnienie zostanie przełączone do trybu niemonitorowanegoManual uaktualnienia. Invalid wskazuje, że akcja niepowodzenia jest nieprawidłowa. |
force-restart | Jeśli zaktualizujesz konfigurację lub pakiet danych bez aktualizowania kodu usługi, usługa zostanie ponownie uruchomiona 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 ponownie uruchomić się. |
health-check-retry-timeout | Czas ponawiania próby oceny kondycji, gdy aplikacja lub klaster jest w złej kondycji przed wykonaniem polecenia FailureAction . Po raz pierwszy jest 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. Po raz pierwszy jest 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. Po raz pierwszy jest 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. Domyślnie: 0 |
maksymalna zła 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 o maksymalnej złej kondycji , usługa Service Fabric może szybko wykryć problem z pakietem aplikacji i pomóc w szybkim uaktualnieniu. Reprezentowane jako liczba z zakresu od 0 do 100. |
tryb | Dozwolone wartości to Monitored, UpgradeMode, UnmonitoredAuto, UnmonitoredManual. Wartość domyślna to UnmonitoredAuto. Aby uzyskać opisy tych wartości, zobacz sekcję Visual Studio i PowerShell Required Parameters (Wymagane parametry programu Visual Studio i programu PowerShell). |
limit czasu sprawdzania repliki | Mierzone w sekundach. Usługa bezstanowa — w ramach jednej domeny uaktualnienia usługa Service Fabric próbuje upewnić się, że są dostępne dodatkowe wystąpienia usługi. Jeśli liczba wystąpień docelowych jest większa niż jedna, usługa Service Fabric czeka, aż będzie dostępne więcej niż jedno wystąpienie, do maksymalnej wartości limitu czasu. Ten limit czasu jest określony przy użyciu właściwości replica-set-check-timeout . 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, do maksymalnej wartości limitu czasu (określonej przez właściwość replica-set-check-timeout ). Jeśli limit czasu wygaśnie, usługa Service Fabric przejdzie do uaktualnienia, niezależnie od kworum. To ustawienie jest ustawiane jako nigdy (nieskończone) podczas wycofywania i 1200 sekund. |
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 MaxPercentUnhealthyReplicasPerPartition. Aby uzyskać opisy tych parametrów, zobacz sekcję Visual Studio i PowerShell Optional Parameters (Parametry opcjonalne programu Visual Studio i programu PowerShell). |
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 funkcji FailureAction . Po raz pierwszy jest 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 funkcji FailureAction . Po raz pierwszy jest 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 błędach (błędach), więc 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
Uściślij zgodność aplikacji, ucząc się, jak używać serializacji danych.
Dowiedz się, jak używać zaawansowanych funkcji podczas uaktualniania aplikacji, korzystając z tematów zaawansowanych.
Rozwiąż typowe problemy z uaktualnieniami aplikacji, korzystając z kroków opisanych w temacie Rozwiązywanie problemów z uaktualnieniami aplikacji.