Jak aktualizovat cloudovou službu Azure (classic)

Důležité

Cloud Services (classic) je teď pro nové zákazníky zastaralý a bude vyřazen 31. srpna 2024 pro všechny zákazníky. Nová nasazení by měla používat nový model nasazení Azure Resource Manager založený na Azure Cloud Services (rozšířená podpora).

Aktualizace cloudové služby, včetně jejích rolí a hostovaného operačního systému, je proces se třemi kroky. Nejprve je potřeba nahrát binární soubory a konfigurační soubory pro novou cloudovou službu nebo verzi operačního systému. V dalším kroku Azure vyrezervuje výpočetní a síťové prostředky pro cloudovou službu na základě požadavků nové verze cloudové služby. Azure nakonec provede upgrade se zajištěním provozu, který postupně aktualizuje tenanta na novou verzi nebo hostovaný operační systém a současně zachová vaši dostupnost. Tento článek popisuje podrobnosti tohoto posledního kroku – upgradu se zajištěním provozu.

Aktualizace služby Azure

Azure uspořádá instance rolí do logických seskupení označovaných jako upgradovací domény (UD). Upgradovací domény (UD) jsou logické sady instancí rolí, které se aktualizují jako skupina. Azure aktualizuje cloudovou službu po jednom uživatelském rozhraní, což umožňuje instancím v jiných identifikátorech uživatele i nadále obsluhovat provoz.

Výchozí počet upgradovaných domén je 5. Můžete zadat jiný počet upgradovaných domén zahrnutím atributu upgradeDomainCount do definičního souboru služby (.csdef). Další informace o atributu upgradeDomainCount najdete v tématu Schéma definice Azure Cloud Services (soubor .csdef).

Když provedete místní aktualizaci jedné nebo více rolí ve vaší službě, Azure aktualizuje sady instancí rolí podle upgradovací domény, do které patří. Azure aktualizuje všechny instance v dané upgradované doméně – zastaví je, aktualizuje je a vrátí se zpět do další domény. Zastavením pouze instancí spuštěných v aktuální upgradované doméně Azure zajistí, že dojde k aktualizaci s nejmenším možným dopadem na spuštěnou službu. Další informace najdete v části Jak bude aktualizace pokračovat dále v tomto článku.

Poznámka

I když mají termíny aktualizace a upgrade v kontextu Azure trochu jiný význam, dají se pro procesy a popisy funkcí v tomto dokumentu používat zaměnitelně.

Vaše služba musí definovat alespoň dvě instance role, aby se tato role místně aktualizovala bez výpadků. Pokud se služba skládá pouze z jedné instance jedné role, nebude vaše služba dostupná, dokud se nedokončí místní aktualizace.

Toto téma obsahuje následující informace o aktualizacích Azure:

Povolené změny služby během aktualizace

Následující tabulka uvádí povolené změny služby během aktualizace:

Změny povolené pro hostování, služby a role Místní aktualizace Fázované (prohození VIRTUÁLNÍCH IP adres) Odstranění a opětovné nasazení
Verze operačního systému Yes Yes Yes
Úroveň důvěryhodnosti .NET Yes Yes Yes
Velikost virtuálního počítače1 Ano2 Yes Yes
Nastavení místního úložiště Zvýšit pouze2 Yes Yes
Přidání nebo odebrání rolí ve službě Yes Yes Yes
Počet instancí určité role Yes Yes Yes
Počet nebo typ koncových bodů pro službu Ano2 No Yes
Názvy a hodnoty nastavení konfigurace Yes Yes Yes
Hodnoty (ale ne názvy) nastavení konfigurace Yes Yes Yes
Přidání nových certifikátů Yes Yes Yes
Změna existujících certifikátů Yes Yes Yes
Nasazení nového kódu Yes Yes Yes

1 Změna velikosti je omezená na podmnožinu velikostí dostupných pro cloudovou službu.

2 Vyžaduje sadu Azure SDK 1.5 nebo novější verze.

Upozornění

Změna velikosti virtuálního počítače zničí místní data.

Následující položky nejsou během aktualizace podporovány:

  • Změna názvu role Odeberte roli a přidejte ji s novým názvem.
  • Změna počtu upgradovaných domén.
  • Zmenšení velikosti místních prostředků

Pokud provádíte další aktualizace definice služby, například snižujete velikost místního prostředku, musíte místo toho provést aktualizaci prohození virtuálních IP adres. Další informace najdete v tématu Prohození nasazení.

Jak upgrade pokračuje

Můžete se rozhodnout, jestli chcete aktualizovat všechny role ve vaší službě, nebo jednu roli ve službě. V obou případech se všechny upgradované role, které patří do první upgradované domény, zastaví, upgradují a přenesou zpět do online režimu. Jakmile jsou instance v druhé upgradované doméně znovu online, zastaví se, upgradují a přenesou se zpět do online režimu. Cloudová služba může mít aktivní maximálně jeden upgrade najednou. Upgrade se vždy provádí na nejnovější verzi cloudové služby.

Následující diagram znázorňuje postup upgradu, pokud upgradujete všechny role ve službě:

Upgrade služby

Následující diagram znázorňuje postup aktualizace, pokud upgradujete jenom jednu roli:

Upgrade role

Během automatické aktualizace kontroler prostředků infrastruktury Azure pravidelně vyhodnocuje stav cloudové služby, aby zjistil, kdy je bezpečné přejít k dalšímu uživatelskému rozhraní. Toto vyhodnocení stavu se provádí na základě jednotlivých rolí a bere v úvahu pouze instance v nejnovější verzi (tj. instance z UD, které už byly procházené). Ověřuje, že minimální počet instancí rolí pro každou roli dosáhl uspokojivého koncového stavu.

Časový limit spuštění instance role

Kontroler prostředků infrastruktury počká 30 minut, než se každá instance role dostane do stavu Spuštěno. Pokud časový limit uplyne, kontroler prostředků infrastruktury bude pokračovat v cestě k další instanci role.

Dopad na řízení dat během upgradů cloudových služeb

Při upgradu služby z jedné instance na více instancí bude služba během upgradu mimo provoz kvůli způsobu, jakým Azure upgraduje služby. Smlouva o úrovni služeb zaručující dostupnost služby se vztahuje pouze na služby nasazené s více než jednou instancí. Následující seznam popisuje, jak jsou data na jednotlivých jednotkách ovlivněna jednotlivými scénáři upgradu služby Azure:

Scenario Jednotka C Jednotka D Jednotka E
Restartování virtuálního počítače Zachovány Zachovány Zachovány
Restartování portálu Zachovány Zachovány Zničeny
Opětovné nastavení portálu Zachovány Zničeny Zničeny
upgrade In-Place Zachovány Zachovány Zničeny
Migrace uzlů Zničeny Zničeny Zničeny

Všimněte si, že jednotka E: ve výše uvedeném seznamu představuje kořenovou jednotku role a neměla by být pevně zakódovaná. Místo toho použijte proměnnou prostředí %RoleRoot% k reprezentaci jednotky.

Pokud chcete minimalizovat výpadky při upgradu služby s jednou instancí, nasaďte na přípravný server novou službu s více instancemi a proveďte prohození virtuálních IP adres.

Vrácení aktualizace zpět

Azure poskytuje flexibilitu při správě služeb během aktualizace tím, že umožňuje zahájit další operace se službou po přijetí počáteční žádosti o aktualizaci kontrolerem prostředků infrastruktury Azure. Vrácení zpět je možné provést pouze v případě, že probíhá aktualizace (změna konfigurace) nebo upgrade v nasazení. Aktualizace nebo upgrade se považuje za probíhající, pokud existuje alespoň jedna instance služby, která ještě nebyla aktualizována na novou verzi. Pokud chcete otestovat, jestli je povolené vrácení zpět, zkontrolujte, jestli je hodnota příznaku RollbackAllowed vrácená operacemi Get Deployment a Get Cloud Service Properties nastavená na hodnotu true.

Poznámka

Vrácení zpět má smysl volat pouze při místní aktualizaci nebo upgradu, protože upgrady prohození virtuálních IP adres zahrnují nahrazení jedné spuštěné instance služby jinou.

Vrácení probíhající aktualizace zpět má na nasazení následující účinky:

  • Instance rolí, které ještě nebyly aktualizovány nebo upgradovány na novou verzi, se neaktualizují ani neupgradují, protože tyto instance již používají cílovou verzi služby.
  • Všechny instance rolí, které už byly aktualizovány nebo upgradovány na novou verzi souboru balíčku služby (*.cspkg) nebo konfiguračního souboru služby (*.cscfg) (nebo oba soubory), se vrátí na verzi před upgradem těchto souborů.

Funkčně to zajišťují následující funkce:

  • Operace vrácení zpět aktualizace nebo upgradu , kterou lze volat při aktualizaci konfigurace (aktivované voláním konfigurace nasazení změn) nebo upgradu (aktivovaného voláním nasazení upgradu), pokud ve službě existuje alespoň jedna instance, která ještě nebyla aktualizována na novou verzi.

  • Element Locked a RollbackAllowed element, které jsou vráceny jako součást textu odpovědi operací Get Deployment a Get Cloud Service Properties :

    1. Element Locked umožňuje zjistit, kdy je možné v daném nasazení vyvolat operaci mutování.
    2. Element RollbackAllowed umožňuje zjistit, kdy je možné v daném nasazení volat operaci vrácení aktualizace nebo upgradu .

    Chcete-li provést vrácení zpět, nemusíte kontrolovat uzamčené a RollbackAllowed elementy. Stačí potvrdit, že rollbackAllowed je nastaven na hodnotu true. Tyto prvky jsou vráceny pouze v případě, že jsou tyto metody vyvolány pomocí hlavičky požadavku nastavené na "x-ms-version: 2011-10-01" nebo novější verze. Další informace o hlavičkách správy verzí najdete v tématu Správa verzí služby.

V některých situacích se vrácení aktualizace nebo upgradu nepodporuje, a to takto:

  • Snížení počtu místních prostředků – Pokud aktualizace zvýší místní prostředky pro roli, platforma Azure neumožňuje vrácení zpět.
  • Omezení kvót – Pokud aktualizace provedla operaci vertikálního snížení kapacity, možná už nemáte dostatečnou kvótu výpočetních prostředků k dokončení operace vrácení zpět. Ke každému předplatnému Azure je přidružená kvóta, která určuje maximální počet jader, která můžou využívat všechny hostované služby, které patří do daného předplatného. Pokud by se vrácením dané aktualizace překročila kvóta vašeho předplatného, pak vrácení zpět nebude povoleno.
  • Konflikt časování – Pokud se počáteční aktualizace dokončila, není možné vrácení zpět.

Příkladem toho, kdy může být vrácení aktualizace užitečné, je, když používáte operaci nasazení upgradu v ručním režimu k řízení rychlosti, s jakou se hlavní místní upgrade na hostovanou službu Azure zavádí.

Během zavádění upgradu zavoláte nasazení upgradu v ručním režimu a začnete procházet upgradovací domény. Pokud v určitém okamžiku při monitorování upgradu zjistíte, že některé instance rolí v prvních doménách upgradu, které prozkoumáte, přestaly reagovat, můžete v nasazení volat operaci vrácení aktualizace nebo upgradu , která ponechá nedotčené instance, které ještě nebyly upgradovány, a vrátit instance, které byly upgradovány na předchozí balíček a konfiguraci služby.

Inicializování několika operací mutování v probíhajícím nasazení

V některých případech můžete chtít při probíhajícím nasazení zahájit několik souběžných operací mutování. Můžete například provést aktualizaci služby a během nasazování této aktualizace ve vaší službě chcete provést nějaké změny, například vrátit aktualizaci zpět, použít jinou aktualizaci nebo dokonce odstranit nasazení. Může to být nutné v případě, že upgrade služby obsahuje kód chyby, který způsobuje opakované chybové ukončení upgradované instance role. V takovém případě nebude moct řadič Prostředků infrastruktury Azure pokračovat v provádění tohoto upgradu, protože v upgradované doméně není v pořádku dostatečný počet instancí. Tento stav se označuje jako zablokované nasazení. Nasazení můžete zrušit vrácením aktualizace zpět nebo použitím nové aktualizace nad neúspěšnou aktualizací.

Jakmile řadič Azure Fabric obdrží počáteční požadavek na aktualizaci nebo upgrade služby, můžete zahájit následné operace mutování. To znamená, že nemusíte čekat na dokončení počáteční operace, abyste mohli spustit další operaci mutování.

Zahájení druhé operace aktualizace v době, kdy probíhá první aktualizace, se provede podobně jako operace vrácení zpět. Pokud je druhá aktualizace v automatickém režimu, první upgradovaná doména se upgraduje okamžitě, což může vést k tomu, že instance z více upgradovaných domén budou současně offline.

Operace mutování jsou následující: Změna konfigurace nasazení, Nasazení upgradu, Stav nasazení aktualizace, Odstranění nasazení a Vrácení zpět aktualizace nebo upgradu.

Dvě operace , Get Deployment (Získat nasazení ) a Get Cloud Service Properties (Získat vlastnosti cloudové služby), vrátí příznak Uzamčeno, který je možné prozkoumat a určit, jestli je možné v daném nasazení vyvolat operaci mutování.

Chcete-li volat verzi těchto metod, která vrací příznak Uzamčeno, musíte nastavit hlavičku požadavku na "x-ms-version: 2011-10-01" nebo novější. Další informace o hlavičkách správy verzí najdete v tématu Správa verzí služby.

Distribuce rolí napříč upgradovanými doménami

Azure distribuuje instance role rovnoměrně napříč nastaveným počtem upgradovaných domén, které je možné nakonfigurovat jako součást souboru definice služby (.csdef). Maximální počet upgradovaných domén je 20 a výchozí hodnota je 5. Další informace o úpravě definičního souboru služby najdete v tématu Schéma definice služby Azure (soubor .csdef).

Pokud má vaše role například deset instancí, ve výchozím nastavení každá upgradovaná doména obsahuje dvě instance. Pokud má vaše role 14 instancí, pak čtyři upgradované domény obsahují tři instance a pátá doména obsahuje dvě.

Upgradovací domény jsou identifikovány indexem založeným na nule: první upgradovaná doména má ID 0 a druhá doména upgradu má ID 1 atd.

Následující diagram znázorňuje, jak se distribuuje služba, která obsahuje dvě role, když služba definuje dvě upgradované domény. Služba používá osm instancí webové role a devět instancí role pracovního procesu.

Distribuce upgradovaných domén

Poznámka

Všimněte si, že Azure řídí, jak se instance přidělují napříč upgradovými doménami. Není možné určit, které instance se přidělují ke které doméně.

Další kroky

Správa Cloud Services
Jak monitorovat Cloud Services
Jak konfigurovat Cloud Services