Udostępnij przez


Jak zaktualizować usługę Azure Cloud Service (klasyczną)

Ważne

Usługi Cloud Services (wersja klasyczna) są teraz przestarzałe dla wszystkich klientów od 1 września 2024 r. Wszystkie istniejące uruchomione wdrożenia zostaną zatrzymane i zamknięte przez firmę Microsoft, a dane zostaną trwale utracone od października 2024 r. Nowe wdrożenia powinny używać nowego modelu wdrażania opartego na usłudze Azure Resource Manager w usługach Azure Cloud Services (wsparcie dodatkowe).

Proces aktualizowania usługi w chmurze, w tym zarówno jej ról, jak i systemu operacyjnego gościa, wykonuje trzy kroki. Najpierw należy przekazać pliki binarne i pliki konfiguracji dla nowej usługi w chmurze lub wersji systemu operacyjnego. Następnie platforma Azure rezerwuje zasoby obliczeniowe i sieciowe dla usługi w chmurze na podstawie wymagań nowej wersji usługi w chmurze. Na koniec platforma Azure przeprowadza stopniowe uaktualnienie, aby zaktualizować dzierżawę do nowej wersji lub zaktualizować system operacyjny gościa, jednocześnie zapewniając ciągłość dostępności. W tym artykule omówiono szczegóły tego ostatniego kroku — uaktualnienie stopniowe.

Aktualizowanie usługi platformy Azure

Platforma Azure organizuje wystąpienia ról w logiczne grupy nazywane domenami aktualizacji (UD). Domeny uaktualniania (UD) to logiczne zestawy wystąpień ról, które są uaktualniane razem. Platforma Azure aktualizuje usługę w chmurze pojedynczo, co umożliwia wystąpieniom w innych identyfikatorach UD dalsze obsługiwanie ruchu.

Domyślna liczba domen aktualizacji to 5. Możesz określić inną liczbę domen uaktualnienia, uwzględniając atrybut upgradeDomainCount w pliku definicji usługi (csdef). Aby uzyskać więcej informacji na temat atrybutu upgradeDomainCount, zobacz Azure Cloud Services Definition Schema (.csdef File).

Podczas przeprowadzania aktualizacji w miejscu co najmniej jednej roli w usłudze platforma Azure aktualizuje zestawy wystąpień ról zgodnie z domeną uaktualnienia, do której należą. Platforma Azure aktualizuje wszystkie wystąpienia w danej domenie uaktualnienia — zatrzymuje je, aktualizując je, przywracając je w trybie online — a następnie przechodzi do następnej domeny. Zatrzymując tylko wystąpienia uruchomione w bieżącej domenie uaktualnienia, platforma Azure upewnia się, że aktualizacja ma najmniejszy możliwy wpływ na uruchomioną usługę. Aby uzyskać więcej informacji, zobacz Jak aktualizacja jest kontynuowana w dalszej części tego artykułu.

Uwaga / Notatka

Podczas gdy terminy aktualizacji i uaktualniania mają nieco inne znaczenie w kontekście platformy Azure, mogą być używane zamiennie do procesów i opisów funkcji w tym dokumencie.

Usługa musi zdefiniować co najmniej dwa wystąpienia roli, aby można było ją zaktualizować na bieżąco bez przestoju. Jeśli usługa składa się tylko z jednego wystąpienia jednej roli, usługa jest niedostępna do momentu zakończenia aktualizacji w miejscu.

W tym artykule opisano następujące informacje dotyczące aktualizacji platformy Azure:

Dozwolone zmiany usługi podczas aktualizacji

W poniższej tabeli przedstawiono dozwolone zmiany w usłudze podczas aktualizacji:

Dozwolone są zmiany dotyczące hostingu, usług i ról Aktualizacja na miejscu Wymiana VIPów (etapowa) Usuwanie i ponowne wdrażanie
Wersja systemu operacyjnego Tak Tak Tak
Poziom zaufania platformy .NET Tak Tak Tak
Rozmiarmaszyny wirtualnej 1 Tak2 Tak Tak
Ustawienia magazynu lokalnego Zwiększ wyłącznie2 Tak Tak
Dodawanie lub usuwanie ról w usłudze Tak Tak Tak
Liczba wystąpień określonej roli Tak Tak Tak
Liczba lub typ punktów końcowych dla usługi Tak2 Nie. Tak
Nazwy i wartości ustawień konfiguracji Tak Tak Tak
Wartości (ale nie nazwy) ustawień konfiguracji Tak Tak Tak
Dodawanie nowych certyfikatów Tak Tak Tak
Zmienianie istniejących certyfikatów Tak Tak Tak
Wdrażanie nowego kodu Tak Tak Tak

1 Zmiana rozmiaru jest ograniczona do podzestawu rozmiarów dostępnych dla usługi w chmurze.

2 Wymaga zestawu Azure SDK 1.5 lub nowszego.

Ostrzeżenie

Zmiana rozmiaru maszyny wirtualnej spowoduje zniszczenie danych lokalnych.

Następujące elementy nie są obsługiwane podczas aktualizacji:

  • Zmiana nazwy roli. Usuń, a następnie dodaj rolę z nową nazwą.
  • Zmiana liczby domen aktualizacji.
  • Zmniejszanie rozmiaru zasobów lokalnych.

Jeśli wprowadzisz inne aktualizacje definicji usługi, takie jak zmniejszenie rozmiaru zasobu lokalnego, musisz wykonać aktualizację wymiany VIP. Aby uzyskać więcej informacji, zobacz Wdrażanie zamiany.

Jak przebiega uaktualnianie

Możesz zdecydować, czy chcesz zaktualizować wszystkie role w usłudze, czy jedną rolę w usłudze. W obu przypadkach wszystkie wystąpienia każdej roli, która jest uaktualniana i należą do pierwszej domeny uaktualnienia, są zatrzymywane, uaktualniane i przywracane w trybie online. Po powrocie do trybu online wystąpienia w drugiej domenie uaktualniania zostaną zatrzymane, uaktualnione i przywrócone w trybie online. Usługa w chmurze może mieć co najwyżej jedno uaktualnienie aktywne naraz. Uaktualnienie jest zawsze wykonywane względem najnowszej wersji usługi w chmurze.

Na poniższym diagramie pokazano, jak uaktualnienie będzie kontynuowane w przypadku uaktualnienia wszystkich ról w usłudze:

Uaktualnianie usługi

Na następnym diagramie pokazano, jak aktualizacja jest kontynuowana, jeśli uaktualniasz tylko jedną rolę:

Uaktualnianie roli

Podczas automatycznej aktualizacji kontroler Azure Fabric okresowo ocenia kondycję usługi w chmurze, aby określić, kiedy jest bezpiecznie przejść do następnej domeny aktualizacji (UD). Ta ocena zdrowia jest wykonywana na podstawie poszczególnych ról i uwzględnia tylko instancje w najnowszej wersji (czyli instancje z UD, które zostały już uruchomione). Sprawdza, czy dla każdej roli minimalna liczba wystąpień roli osiągnęła zadowalający stan terminalu.

Limit czasu rozpoczęcia wystąpienia roli

Kontroler sieci szkieletowej czeka 30 minut, aż każde wystąpienie roli osiągnie stan Uruchomione. Jeśli upłynie limit czasu, kontroler Fabric będzie kontynuować przejście do następnego wystąpienia roli.

Wpływ na dane podczas uaktualniania usługi w chmurze

Podczas uaktualniania usługi z jednego wystąpienia do wielu wystąpień platforma Azure przenosi usługi w dół podczas uaktualniania. Umowa dotycząca poziomu usług gwarantująca dostępność usługi ma zastosowanie tylko do usług wdrożonych z więcej niż jednym wystąpieniem. Na poniższej liście opisano, jak każdy scenariusz uaktualniania usługi platformy Azure wpływa na dane na każdym dysku:

Scenariusz Dysk C Dysk D Dysk E
Ponowne uruchamianie maszyny wirtualnej Zachowane Zachowane Zachowane
Ponowne uruchomienie portalu Zachowane Zachowane Zniszczone
Przebudowa portalu Zachowane Zniszczone Zniszczone
aktualizacja In-Place Zachowane Zachowane Zniszczone
Migracja węzła Zniszczone Zniszczone Zniszczone

Na powyższej liście dysk E: reprezentuje dysk główny roli i nie powinien być zakodowany w kodzie. Zamiast tego użyj zmiennej środowiskowej %RoleRoot% , aby reprezentować dysk.

Aby zminimalizować przestoje podczas aktualizowania usługi pojedynczego wystąpienia, wdróż nową usługę z wieloma instancjami na serwerze przejściowym i wykonaj zamianę ról VIP.

Wycofywanie aktualizacji

Platforma Azure zapewnia elastyczność zarządzania usługami podczas aktualizacji, umożliwiając zainicjowanie większej liczby operacji w usłudze po zaakceptowaniu początkowego żądania aktualizacji przez kontroler usługi Azure Fabric. Wycofywanie można wykonać tylko wtedy, gdy aktualizacja (zmiana konfiguracji) lub aktualizacja znajduje się w stanie w toku na wdrożeniu. Aktualizacja lub uaktualnienie jest uznawane za w toku, o ile istnieje co najmniej jedno wystąpienie usługi, które pozostaje nieaktualizowane do nowej wersji. Aby sprawdzić, czy wycofanie jest dozwolone, sprawdź, czy wartość flagi RollbackAllowed jest ustawiona na true. Operacje Get Deployment i Get Cloud Service Properties zwracają flagę RollbackAllowed do Twojej wiadomości.

Uwaga / Notatka

Warto wywołać wycofywanie aktualizacji lub uaktualnienia w miejscu , ponieważ uaktualnienia zamiany adresów VIP obejmują zastąpienie jednego całego uruchomionego wystąpienia usługi innym.

Wycofanie aktualizacji w toku ma następujący wpływ na wdrożenie:

  • Wszystkie wystąpienia ról, które pozostają nieaktualizowane lub nie są uaktualniane do nowej wersji, nie są aktualizowane ani uaktualniane, ponieważ te wystąpienia już uruchamiają docelową wersję usługi.
  • Wszystkie wystąpienia roli, które zostały już zaktualizowane lub uaktualnione do nowej wersji pliku pakietu usługi (*.cspkg) lub pliku konfiguracji usługi (*.cscfg) (lub obu plików), zostaną przywrócone do wersji sprzed uaktualnienia tych plików.

Następujące funkcje zapewniają następujące funkcje:

  • Operacja wycofywania aktualizacji lub uaktualniania może być wywoływana w przypadku aktualizacji konfiguracji (wyzwalanej przez wywołanie Zmiana Konfiguracji Wdrożenia) lub uaktualniania (wyzwalanego przez wywołanie Uaktualnienie Wdrożenia), pod warunkiem, że w usłudze istnieje co najmniej jedno wystąpienie, które pozostaje nieaktualizowane do nowej wersji.

  • Element Zablokowany i element RollbackAllowed, które są zwracane jako część treści odpowiedzi operacji Pobierz wdrożenie i Pobierz właściwości usługi w chmurze:

    1. Zablokowany element umożliwia wykrywanie, kiedy można wywołać operację mutowania w danym wdrożeniu.
    2. Element RollbackAllowed umożliwia wykrycie, kiedy operację Wycofywania aktualizacji lub uaktualnień można wywołać w danym wdrożeniu.

    Aby można było wykonać wycofywanie, nie trzeba sprawdzać zarówno elementów Zablokowany, jak i RollbackAllowed. Wystarczy potwierdzić, że ustawienie RollbackAllowed ma wartość true. Te elementy są zwracane tylko wtedy, gdy te metody są wywoływane przy użyciu nagłówka żądania ustawionego na wartość "x-ms-version: 2011-10-01" lub nowszą wersję. Aby uzyskać więcej informacji na temat nagłówków wersjonowania, zobacz wersjonowanie klasycznego modelu wdrażania.

Istnieją sytuacje, w których wycofanie aktualizacji lub uaktualnienia nie jest obsługiwane, takie sytuacje są następujące:

  • Zmniejszenie zasobów lokalnych — jeśli aktualizacja zwiększy zasoby lokalne dla roli, platforma Azure nie zezwala na cofnięcie zmian.
  • Ograniczenia przydziału — jeśli aktualizacja była operacją skalowania w dół, być może nie masz już wystarczającego limitu przydziału obliczeniowego, aby ukończyć operację przywracania. Każda subskrypcja platformy Azure ma skojarzoną kwotę. Limit przydziału określa maksymalną liczbę rdzeni, z których mogą korzystać wszystkie hostowane usługi należące do tej subskrypcji. Jeśli wykonanie wycofywania danej aktualizacji spowoduje przekroczenie limitu przydziału subskrypcji, wycofanie nie zostanie włączone.
  • Warunek wyścigu — jeśli wstępna aktualizacja dobiegnie końca, wycofanie nie jest możliwe.

Przykładem tego, kiedy wycofanie aktualizacji może być przydatne, jest użycie operacji wdrażania uaktualnienia w trybie ręcznym w celu kontrolowania szybkości, w której główne uaktualnienie w miejscu jest wdrażane w usłudze hostowanej na platformie Azure.

Podczas wdrażania uaktualnienia wywołasz Upgrade Deployment w trybie ręcznym i rozpoczniesz przechodzenie przez domeny uaktualnienia. Jeśli w pewnym momencie podczas monitorowania aktualizacji zauważysz, że niektóre wystąpienia ról w pierwszych domenach aktualizacji nie odpowiadają, możesz wywołać operację Wycofaj aktualizację lub Uaktualnienie we wdrożeniu. Ta operacja pozostawia nietknięte te wystąpienia, które nie zostały uaktualnione, i przywraca uaktualnione wystąpienia do poprzedniego pakietu usługi i konfiguracji.

Inicjowanie wielu operacji mutujących na trwającym wdrożeniu

W niektórych przypadkach może być konieczne zainicjowanie wielu jednoczesnych operacji mutowania w ramach trwającego wdrożenia. Na przykład możesz wykonać aktualizację usługi i podczas wdrażania aktualizacji w całej usłudze chcesz wprowadzić pewne zmiany, takie jak wycofanie aktualizacji, zastosowanie innej aktualizacji, a nawet usunięcie wdrożenia. Przypadek, w którym ten scenariusz może się pojawić, to sytuacja, gdy uaktualnienie usługi zawiera kod zawierający błędy, który powoduje powtarzające się awarie zaktualizowanego wystąpienia roli. W takim przypadku kontroler usługi Azure Fabric nie może poczynić postępów w stosowaniu tego uaktualnienia, ponieważ niewystarczająca liczba wystąpień w uaktualnionej domenie jest w dobrej kondycji. Ten stan jest określany jako zablokowane wdrożenie. Wdrożenie można usunąć za pomocą wycofywania aktualizacji lub stosowania nowej aktualizacji w górnej części niepowodzenia.

Gdy kontroler Fabric Azure otrzyma początkowe żądanie aktualizacji lub uaktualnienia usługi, możesz rozpocząć kolejne operacje mutowania. Oznacza to, że nie musisz czekać na ukończenie operacji początkowej, zanim będzie można uruchomić kolejną operacjęmutowania.

Inicjowanie drugiej operacji aktualizacji, gdy pierwsza aktualizacja jest w toku, jest wykonywana podobnie do operacji wycofywania. Jeśli druga aktualizacja jest w trybie automatycznym, pierwsza domena uaktualniania jest natychmiast aktualizowana, co może prowadzić do tego, że instancje z wielu domen uaktualniania będą w trybie offline w tym samym czasie.

Operacje mutujące są następujące: Zmień konfigurację wdrożenia, Uaktualnij wdrożenie, Aktualizuj status wdrożenia, Usuń wdrożenie i Wycofaj aktualizację lub uaktualnienie.

Dwie operacje: Pobierz wdrożenie i Pobierz właściwości usługi w chmurze, zwracają flagę Zablokowana. Możesz sprawdzić flagę Blokada, aby określić, czy można wywołać operację mutowania w danym wdrożeniu.

Aby wywołać wersję tych metod, która zwraca flagę Blokada, należy ustawić nagłówek żądania na "x-ms-version: 2011-10-01" lub nowszy. Aby uzyskać więcej informacji na temat nagłówków wersjonowania, zobacz wersjonowanie klasycznego modelu wdrażania.

Dystrybucja ról między domenami uaktualniania

Azure rozmieszcza wystąpienia roli równomiernie w określonej liczbie domen uaktualniania, które można skonfigurować jako część pliku definicji usługi (.csdef). Maksymalna liczba domen uaktualnienia to 20, a wartość domyślna to 5. Aby uzyskać więcej informacji na temat modyfikowania pliku definicji usługi, zobacz Schemat definicji usługi platformy Azure (plik csdef).

Jeśli na przykład rola ma 10 wystąpień, każda domena uaktualnienia domyślnie zawiera dwa wystąpienia. Jeśli twoja rola ma 14 wystąpień, cztery domeny aktualizacji zawierają po trzy wystąpienia, a piąta domena zawiera dwa.

Domeny uaktualniania są identyfikowane z indeksem opartym na zera: pierwsza domena uaktualnienia ma identyfikator 0, a druga domena uaktualnienia ma identyfikator 1 itd.

Na poniższym diagramie przedstawiono sposób dystrybucji ról w usłudze zawierającej dwie role, gdy usługa definiuje dwie domeny uaktualnienia. Usługa uruchamia osiem wystąpień roli sieciowej i dziewięć wystąpień roli roboczej.

Dystrybucja domen uaktualnienia

Uwaga / Notatka

Należy pamiętać, że platforma Azure kontroluje sposób przydzielania wystąpień w domenach aktualizacji. Nie można określić, które wystąpienia są przydzielane do której domeny.

Dalsze kroki

Jak zarządzać usługami w chmurze
Jak monitorować usługi Cloud Services
Jak skonfigurować usługi Cloud Services