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

Ważne

Cloud Services (wersja klasyczna) jest teraz przestarzała dla nowych klientów i zostanie wycofana 31 sierpnia 2024 r. dla wszystkich klientów. Nowe wdrożenia powinny używać nowego modelu wdrażania opartego na usłudze Azure Resource Manager Azure Cloud Services (wsparcie dodatkowe).

Aktualizowanie usługi w chmurze, w tym jej ról i systemu operacyjnego gościa, jest procesem trzyetapowym. 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 uaktualnienie stopniowe, aby przyrostowo zaktualizować dzierżawę do nowej wersji lub systemu operacyjnego gościa, zachowując jednocześnie dostępność. 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 grupowania nazywane domenami uaktualniania (UD). Domeny uaktualniania (UD) to logiczne zestawy wystąpień ról, które są aktualizowane jako grupa. Platforma Azure aktualizuje usługę w chmurze pojedynczo, co umożliwia wystąpieniom w innych identyfikatorach UD kontynuowanie obsługi ruchu.

Domyślna liczba domen uaktualnienia to 5. Możesz określić inną liczbę domen uaktualnienia, włączając atrybut upgradeDomainCount w pliku definicji usługi (csdef). Aby uzyskać więcej informacji o atrybucie upgradeDomainCount, zobacz Schemat definicji usługi Azure Cloud Services (plik csdef).

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 — zatrzymując 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 zapewnia, że aktualizacja występuje z najmniejszym możliwym wpływem na uruchomioną usługę. Aby uzyskać więcej informacji, zobacz Jak aktualizacja będzie kontynuowana w dalszej części tego artykułu.

Uwaga

Terminy aktualizacji i uaktualniania mają nieco inne znaczenie w kontekście platformy Azure, ale 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 ta rola została zaktualizowana bez przestojów. Jeśli usługa składa się tylko z jednego wystąpienia jednej roli, usługa będzie niedostępna do czasu zakończenia aktualizacji w miejscu.

W tym temacie omówiono 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:

Zmiany dozwolone na hosting, usługi i role Aktualizacja w miejscu Etapowe (zamiana adresów VIP) Usuwanie i ponowne wdrażanie
Wersja systemu operacyjnego Tak Tak Tak
Poziom zaufania platformy .NET Tak Tak Tak
Rozmiar maszyny wirtualnej1 Tak2 Tak Tak
Ustawienia magazynu lokalnego Zwiększ tylko2 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 Rozmiar jest ograniczony do podzbioru rozmiarów dostępnych dla usługi w chmurze.

2 Wymaga zestawu Azure SDK w wersji 1.5 lub nowszej.

Ostrzeżenie

Zmiana rozmiaru maszyny wirtualnej spowoduje zniszczenie danych lokalnych.

Podczas aktualizacji nie są obsługiwane następujące elementy:

  • Zmiana nazwy roli. Usuń i dodaj rolę o nowej nazwie.
  • Zmiana liczby domen uaktualnienia.
  • Zmniejszenie rozmiaru zasobów lokalnych.

Jeśli wprowadzasz inne aktualizacje definicji usługi, takie jak zmniejszenie rozmiaru zasobu lokalnego, musisz wykonać aktualizację wymiany adresów VIP. Aby uzyskać więcej informacji, zobacz Wymiana wdrożenia.

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 uaktualnienia są zatrzymywane, uaktualniane i przywracane w trybie online. Usługa w chmurze może mieć co najwyżej jedną aktywną aktualizację naraz. Uaktualnienie jest zawsze wykonywane względem najnowszej wersji usługi w chmurze.

Na poniższym diagramie przedstawiono postęp uaktualniania w przypadku uaktualniania 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 usługi Azure Fabric okresowo ocenia kondycję usługi w chmurze, aby określić, kiedy można bezpiecznie przejść przez następną ud. Ta ocena kondycji jest wykonywana dla poszczególnych ról i uwzględnia tylko wystąpienia w najnowszej wersji (tj. wystąpienia z identyfikatorów UD, które zostały już uruchomione). Sprawdza, czy minimalna liczba wystąpień roli dla każdej roli osiągnęła zadowalający stan terminalu.

Limit czasu rozpoczęcia wystąpienia roli

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

Wpływ na dane podczas uaktualnień usługi w chmurze

Podczas uaktualniania usługi z jednego wystąpienia do wielu wystąpień usługa zostanie wyłączona podczas uaktualniania ze względu na sposób uaktualniania usług platformy Azure. 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. Poniższa lista zawiera opis wpływu danych na poszczególne dyski w każdym scenariuszu uaktualniania usługi platformy Azure:

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

Należy pamiętać, że 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% do reprezentowania dysku.

Aby zminimalizować przestój podczas uaktualniania usługi pojedynczego wystąpienia, wdróż nową usługę z wieloma wystąpieniami na serwerze przejściowym i wykonaj zamianę adresów VIP.

Wycofywanie aktualizacji

Platforma Azure zapewnia elastyczność zarządzania usługami podczas aktualizacji, umożliwiając inicjowanie dodatkowych 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 uaktualnienie jest w stanie w toku wdrożenia. Aktualizacja lub uaktualnienie jest uznawane za w toku, o ile istnieje co najmniej jedno wystąpienie usługi, które nie zostało jeszcze zaktualizowane do nowej wersji. Aby sprawdzić, czy wycofanie jest dozwolone, sprawdź wartość flagi RollbackAllowed zwróconej przez operacje Pobierz wdrożenie i Pobierz właściwości usługi w chmurze jest ustawiona na wartość true.

Uwaga

Warto wywołać wycofywanie aktualizacji lub uaktualnienia w miejscu , ponieważ uaktualnienia wymiany 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 roli, które nie zostały jeszcze zaktualizowane lub uaktualnione do nowej wersji, nie są aktualizowane ani uaktualniane, ponieważ te wystąpienia już korzystają z docelowej wersji 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 wstępnej uaktualnienia tych plików.

Ta funkcja jest udostępniana przez następujące funkcje:

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

  • Zmniejszenie zasobów lokalnych — jeśli aktualizacja zwiększy liczbę zasobów lokalnych dla roli, platforma Azure nie zezwala na wycofywanie.
  • Ograniczenia limitów 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ę wycofywania. Każda subskrypcja platformy Azure ma skojarzony limit przydziału, który określa maksymalną liczbę rdzeni, które mogą być używane przez wszystkie hostowane usługi należące do tej subskrypcji. W przypadku wycofania danej aktualizacji subskrypcja zostanie przekroczona limit przydziału, wycofanie nie zostanie włączone.
  • Warunek wyścigu — jeśli początkowa aktualizacja została ukończona, wycofanie nie jest możliwe.

Przykładem, gdy wycofanie aktualizacji może być przydatne, jest użycie operacji wdrażania uaktualnienia w trybie ręcznym w celu kontrolowania szybkości, z jaką jest wdrażane główne uaktualnienie w miejscu do usługi hostowanej na platformie Azure.

Podczas wdrażania uaktualnienia wywołaj wdrożenie uaktualnienia w trybie ręcznym i zacznij przechodzić przez domeny uaktualniania. Jeśli w pewnym momencie podczas monitorowania uaktualnienia zauważysz, że niektóre wystąpienia ról w pierwszych domenach uaktualnienia, które zostały przeanalizowane, nie odpowiadają, można wywołać operację Wycofywanie aktualizacji lub uaktualniania we wdrożeniu, co spowoduje pozostawienie nietknięte wystąpienia, które nie zostały jeszcze uaktualnione i wycofane wystąpienia, które zostały uaktualnione do poprzedniego pakietu usługi i konfiguracji.

Inicjowanie wielu operacjimutowania na trwającym wdrożeniu

W niektórych przypadkach może być konieczne zainicjowanie wielu jednoczesnych operacji zmutowania w ramach trwającego wdrożenia. Na przykład możesz wykonać aktualizację usługi i, gdy ta aktualizacja jest wdrażana w usłudze, chcesz wprowadzić pewne zmiany, np. wycofać aktualizację, zastosować inną aktualizację, a nawet usunąć wdrożenie. W takim przypadku może być konieczne, jeśli uaktualnienie usługi zawiera kod usterek, który powoduje wielokrotne awarie uaktualnionego wystąpienia roli. W takim przypadku kontroler sieci szkieletowej platformy Azure nie będzie mógł wykonać postępu podczas stosowania 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 odkleić, cofając aktualizację lub stosując nową aktualizację w górnej części awarii.

Po otrzymaniu początkowego żądania aktualizacji lub uaktualnienia usługi przez kontroler sieci szkieletowej platformy Azure można rozpocząć kolejne operacjemutowania. Oznacza to, że nie trzeba czekać na ukończenie operacji początkowej przed rozpoczęciem kolejnej operacjimutowania.

Zainicjowanie drugiej operacji aktualizacji, podczas gdy pierwsza aktualizacja jest w toku, będzie działać podobnie jak operacja wycofywania. Jeśli druga aktualizacja jest w trybie automatycznym, pierwsza domena uaktualnienia zostanie natychmiast uaktualniona, co może prowadzić do wystąpienia z wielu domen uaktualnienia w trybie offline w tym samym momencie w czasie.

Operacjemutowania są następujące: Zmień konfigurację wdrożenia, wdrożenie uaktualnienia, stan wdrożenia aktualizacji, usuń wdrożenie i wycofaj aktualizację lub uaktualnienie.

Dwie operacje : Pobieranie wdrożenia i Pobieranie właściwości usługi w chmurze, zwracają flagę Zablokowana, którą można zbadać, aby określić, czy można wywołać operacjęmutowania w danym wdrożeniu.

Aby wywołać wersję tych metod, która zwraca flagę Zablokowana, 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 przechowywania wersji, zobacz Service Management Versioning (Przechowywanie wersji w usłudze Service Management).

Rozkład ról między domenami uaktualniania

Platforma Azure równomiernie dystrybuuje wystąpienia roli w określonej liczbie domen uaktualnienia, które można skonfigurować jako część pliku definicji usługi (csdef). Maksymalna liczba domen uaktualnienia wynosi 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 dziesięć wystąpień, domyślnie każda domena uaktualnienia zawiera dwa wystąpienia. Jeśli Twoja rola ma 14 wystąpień, cztery domeny uaktualnienia zawierają 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 usługi niż dwie role, gdy usługa definiuje dwie domeny uaktualniania. Usługa uruchamia osiem wystąpień roli sieci Web i dziewięć wystąpień roli procesu roboczego.

Dystrybucja domen uaktualniania

Uwaga

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

Następne kroki

Jak zarządzać Cloud Services
Jak monitorować Cloud Services
Jak skonfigurować Cloud Services