Sdílet prostřednictvím


Spolehlivost ve službě Azure Container Registry

Azure Container Registry je spravovaná služba registru kontejnerů, která slouží k ukládání a správě privátních imagí kontejnerů Dockeru a souvisejících artefaktů pro vaše nasazení kontejnerů.

Při používání Azure je spolehlivost sdílenou odpovědností. Microsoft nabízí celou řadu možností, které podporují odolnost a obnovení. Zodpovídáte za pochopení toho, jak tyto možnosti fungují ve všech službách, které používáte, a výběrem možností, které potřebujete ke splnění vašich obchodních cílů a cílů dostupnosti.

Tento článek popisuje, jak zajistit odolnost služby Container Registry vůči nejrůznějším potenciálním výpadkům a problémům, včetně přechodných chyb, výpadků zón dostupnosti a výpadků oblastí. Popisuje také, jak můžete použít zálohy k zotavení z jiných typů problémů a zvýrazní některé klíčové informace o smlouvě SLA (Container Registry Service Level Agreement).

Doporučení pro produkční nasazení pro spolehlivost

Pro produkční úlohy doporučujeme provést následující akce:

  • Použijte úroveň Premium služby Container Registry, která poskytuje nejkomplexnější funkce spolehlivosti. Úroveň Premium také poskytuje vyšší limity výkonu, vylepšené funkce zabezpečení a pokročilé funkce, které jsou nezbytné pro úlohy produkčních kontejnerů. Další informace o úrovních a funkcích služby najdete v tématu Úrovně služby Container Registry.

  • Zřiďte službu Container Registry v oblasti, která podporuje zóny dostupnosti.

  • V případě scénářů s více oblastmi nakonfigurujte geografickou replikaci tak, aby distribuovali registr napříč několika oblastmi na základě konkrétních požadavků na geografickou oblast a dodržování předpisů.

Přehled architektury spolehlivosti

Container Registry je založená na distribuované infrastruktuře Azure, která poskytuje vysokou dostupnost a odolnost dat. Služba se skládá z několika klíčových komponent, které spolupracují na zajištění spolehlivosti. Následující diagram znázorňuje základní architekturu služeb.

Diagram znázorňující architekturu služby Container Registry s klientským přístupem, rovinou řízení, rovinou dat a komponentami vrstvy úložiště

  • Řídicí rovina je centralizovaná komponenta správy v domovské oblasti pro konfiguraci registru, konfiguraci ověřování a zásady replikace.

  • Rovina dat je distribuovaná služba, která zpracovává operace vložení a vyžádání image kontejneru napříč oblastmi a zónami dostupnosti.

  • Vrstva úložiště je obsahově adresovatelné řešení Azure Storage, které zachovává image kontejnerů a artefakty. Zahrnuje automatické odstranění duplicitních dat, šifrování neaktivních uložených dat a integrovanou replikaci.

Společnost Microsoft zodpovídá za správu základní infrastruktury služby Container Registry, která zahrnuje následující typy údržby:

  • Údržba kontrolní roviny pro správu repositáře

  • Správa datové roviny pro operace s obrazy kontejnerů napříč regiony a zónami dostupnosti

Jako zákazník zodpovídáte za následující akce:

  • Odolnost na úrovni aplikace: Implementujte v kontejnerových aplikacích a platformách orchestrace odpovídající logiku opakovaných pokusů a zajištění dostupnosti při výpadku.

  • Konfigurace odolnosti zón: Ujistěte se, že je registr kontejneru nasazený v oblasti, která podporuje zóny dostupnosti.

  • Konfigurace geografické replikace: Zvolte vhodné oblasti pro geografickou replikaci na základě geografické distribuce, dodržování předpisů a požadavků na výkon.

Container Registry také podporuje úlohy, které vám můžou pomoct automatizovat operace sestavení a údržby kontejnerů. Úlohy běží na výpočetní infrastruktuře spravované Microsoftem a podporují ruční, události nebo naplánované triggery. Další informace najdete v tématu Automatizace sestavení a údržby imagí kontejneru pomocí úloh služby Container Registry.

Note

Container Registry podporuje připojené registry, které jsou místní nebo vzdálené repliky, které se synchronizují s cloudovým container Registry. Při používání připojených registrů zodpovídáte za jejich konfiguraci tak, aby splňovaly vaše požadavky na spolehlivost. Připojené registry jsou mimo rozsah tohoto článku.

Odolnost proti přechodným chybám

Přechodné chyby jsou krátká, přerušovaná selhání ve složkách. V distribuovaném prostředí, jako je cloud, se vyskytují často a jsou normální součástí provozu. Přechodné chyby se opravují po krátké době. Je důležité, aby vaše aplikace mohly zpracovávat přechodné chyby, obvykle opakováním ovlivněných požadavků.

Všechny aplikace hostované v cloudu by měly při komunikaci se všemi cloudovými rozhraními API, databázemi a dalšími komponentami postupovat podle pokynů pro zpracování přechodných chyb Azure. Další informace najdete v tématu Doporučení pro zpracování přechodných chyb.

Container Registry interně zpracovává přechodné chyby prostřednictvím několika mechanismů. Služba implementuje logiku automatického opakování pro operace registru a udržuje sdružování připojení pro efektivní využití prostředků. Operace služby Container Registry jsou navržené tak, aby byly idempotentní, což umožňuje bezpečné opakované provádění operací push a pull. Úkoly automaticky zpracovávají přechodné chyby, když provádějí mnoho typů operací.

U klientských aplikací, které používají Container Registry, implementujte při provádění operací registru odpovídající strategie opakování s exponenciálním zpožděním. Použijte oficiálního klienta Dockeru nebo sady SDK služby Container Registry, které zahrnují integrované mechanismy opakování pro běžné přechodné selhání.

Odolnost proti chybám zóny dostupnosti

Zóny dostupnosti jsou fyzicky oddělené skupiny datacenter v rámci oblasti Azure. Když jedna zóna selže, mohou služby přejít na jednu ze zbývajících zón.

Redundance zón chrání registr kontejneru před selháními jedné zóny tím, že distribuuje data registru a operace napříč několika zónami dostupnosti v rámci oblasti. Operace stahování a nahrávání image kontejneru nadále fungují během výpadků zón s automatickým přepnutím na funkční zóny.

Redundance zón je ve výchozím nastavení povolená pro všechny registry v oblastech, které podporují zóny dostupnosti, takže vaše prostředky jsou odolnější automaticky a bez dalších nákladů. Toto vylepšení platí pro všechny úrovně služeb, včetně basicu a standardu, a bylo použito na nové i existující registry.

Důležité

Web Azure Portal a další nástroje ještě nemusí přesně odrážet aktualizaci redundance zóny.

Vlastnost zoneRedundancy v konfiguraci registru se může stále zobrazovat jako false, ale redundance zón je aktivní pro všechny registry v podporovaných oblastech.

Aktivně aktualizujeme portál a rozhraní API tak, aby odrážely toto výchozí chování transparentněji. Všechny dříve povolené funkce nadále fungují podle očekávání.

Considerations

Considerations

  • Úkoly: Úlohy služby Container Registry v současné době nepodporují zóny dostupnosti. Redundance zón se vztahuje na samotnou službu registru, ale ne na úlohy nebo jejich operace.

  • Geografická replikace: Pokud váš registr používá geografickou replikaci, všechny repliky vytvořené v oblastech s zónami dostupnosti se automaticky zónově redundantují.

Cost

Redundance zón je součástí registrů kontejnerů bez dalších poplatků.

Konfigurujte podporu zón dostupnosti

  • Vytvořte zónově redundantní registr. Když vytvoříte registr v podporované oblasti, bude automaticky zónově redundantní. Další informace o vytvoření nového registru naleznete v tématu Vytvoření zónově redundantního registru ve službě Container Registry.

  • Povolte redundanci zón u existujícího registru. Registry, které jsou v oblastech s zónami dostupnosti, jsou automaticky zónově redundantní. Nemusíte povolovat redundanci zón.

  • Zakažte zónovou redundanci. Redundanci zón není možné zakázat.

Chování, když jsou všechny zóny v pořádku

Tato část popisuje, co očekávat, když jsou prostředky služby Container Registry nakonfigurované pro redundanci zón a všechny zóny dostupnosti jsou funkční.

Diagram znázorňující redundanci zón služby Container Registry během normálních operací

  • Směrování provozu mezi zónami: Container Registry používá interní funkce směrování k automatické distribuci operací roviny dat napříč všemi zónami dostupnosti v rámci oblasti. Služba registru automaticky směruje požadavky do zón, které jsou v pořádku, aniž by vyžadovala externí nástroje pro vyrovnávání zatížení.

  • Replikace dat mezi zónami: Data registru, včetně imagí kontejnerů, manifestů a metadat, se asynchronně replikují napříč několika zónami dostupnosti. Změny se rychle replikují napříč zónami, aby se zachovala vysoká dostupnost a stálost dat. Replikace je asynchronní, obvykle se ale dokončí během několika minut a všechny zóny zůstanou během replikace dostupné pro operace čtení a zápisu.

Chování při selhání zóny

Tato část popisuje, co očekávat, když jsou prostředky služby Container Registry nakonfigurované pro redundanci zón a dojde k výpadku zóny dostupnosti.

Když se zóna stane nedostupnou, služba Container Registry automaticky zpracuje proces převzetí služeb při selhání s minimálním dopadem na operace registru.

Diagram znázorňující chování služby Container Registry během selhání zóny. Automatické přesměrování do zón, které jsou v pořádku. Jedna zóna je označena jako nedostupná.

  • Detekce a odpověď: Platforma Container Registry automaticky rozpozná selhání v zóně dostupnosti a zahájí odpověď. Služba automaticky směruje provoz do zbývajících zón, které jsou v pořádku. K zahájení převzetí služeb při selhání zóny se nevyžaduje žádný ruční zásah.

  • Upozornění: Microsoft vás při výpadku zóny automaticky neoznámí. Azure Service Health ale můžete použít k pochopení celkového stavu služby, včetně jakýchkoli selhání zón, a můžete nastavit upozornění služby Service Health , která vás upozorní na problémy.

    Metriky dostupnosti registru můžete monitorovat také ve službě Azure Monitor.

  • Aktivní požadavky: Pokud je zóna dostupnosti nedostupná, všechny probíhající požadavky, které jsou připojené k prostředkům v vadné zóně dostupnosti, se ukončí. Potřebují být znovu posouzeni.

  • Očekávaná ztráta dat: Všechny nedávné zápisy provedené v vadné zóně se nemusí replikovat do jiných oblastí, což znamená, že se můžou ztratit, dokud se zóna neobnoví. U ztráty dat se obvykle očekává méně než 15 minut, ale to není zaručené.

  • Očekávaný výpadek: Během automatického převzetí služeb při selhání může dojít k malému výpadku, protože síťový provoz se přesměruje do funkčních zón. Tento výpadek je obvykle několik sekund pro většinu operací registru. Doporučujeme postupovat podle osvědčených postupů pro zpracování přechodných chyb, abyste minimalizovali dopad převzetí služeb při selhání zón pro vaše aplikace.

  • Přesměrování provozu: Platforma automaticky směruje provoz do zón, které jsou v pořádku, aniž by vyžadovala provedení jakýchkoli změn konfigurace.

Obnovení zóny

Když se ovlivněná zóna dostupnosti obnoví, Služba Container Registry automaticky distribuuje operace napříč všemi dostupnými zónami, včetně obnovené zóny. Služba znovu vyrovnává provoz a distribuci dat, aniž by vyžadovala ruční zásah nebo způsobila přerušení služeb.

Testování poruch zón

Platforma Container Registry spravuje směrování provozu, přepnutí při selhání a obnovení po selhání pro zónově redundantní registry. Vzhledem k tomu, že je tato funkce plně spravována, nemusíte zahajovat ani ověřovat procesy selhání zóny dostupnosti.

Odolnost proti selháním v celé oblasti

Container Registry poskytuje nativní podporu více oblastí prostřednictvím geografické replikace, když váš registr používá úroveň Premium. Geografická replikace vytváří repliky registru ve více oblastech podle vašeho výběru. Prostředek registru, který nasadíte, se označuje jako domovská oblast.

Geografická replikace umožňuje odolnost vůči oblastním výpadkům. Pokud je registr geograficky replikovaný a dojde k výpadku oblasti, budou data registru dál dostupná z ostatních oblastí, které jste vybrali. Pokud geografickou replikaci nepovolíte, můžou se vaše data stát nedostupnou během výpadku oblasti.

Geografickou replikaci můžete použít také k získání místního přístupu k imagím kontejnerů v těchto oblastech a ke snížení latence globálně distribuovaných aplikací.

Když nasadíte Container Registry a povolíte geografickou replikaci, Microsoft pomocí Azure Traffic Manageru distribuuje požadavky týkající se datové roviny mezi repliky a automaticky přepne mezi replikami v případě selhání, pokud regionální replika není dostupná.

Geografická replikace služby Container Registry nespoléhá na spárované oblasti Azure. Pro replikaci můžete vybrat libovolnou kombinaci oblastí Azure na základě konkrétních požadavků na geografickou oblast, výkon a dodržování předpisů. Každý geograficky replikovaný registr funguje jako koncový bod registru. Podporuje většinu operací registru, včetně nahrávání, stahování a správy imagí.

Tato část shrnuje informace o geografické replikaci, protože souvisí se spolehlivostí. Další informace najdete v tématu Geografická replikace ve službě Container Registry.

Podpora oblastí

Geografická replikace je dostupná ve všech oblastech Azure, kde je podporovaná úroveň Premium. Replikovat můžete do libovolné kombinace oblastí bez ohledu na to, jestli Azure tyto oblasti spáruje.

Requirements

K povolení geografické replikace musíte použít úroveň Premium.

Considerations

  • Zónově redundantní repliky: Každá replika, kterou vytvoříte v oblasti se zónami dostupnosti, je automaticky zónově redundantní.

  • Řídicí rovina: Řídicí rovina běží v domovském regionu. Pokud je domovská oblast nedostupná, operace řídicí roviny nejsou k dispozici a možná nebudete moct upravit konfiguraci registru.

  • Úkoly: Úlohy služby Container Registry v současné době nepodporují geografické repliky. Úkoly se vždy spouštějí v domovské oblasti. Pokud není domovská oblast dostupná, úloha se nespustí.

Cost

Každá geograficky replikovaná oblast se účtuje zvlášť podle cen úrovně Premium pro příslušnou oblast. Poplatky za výchozí přenos dat platí také pro přenos dat mezi oblastmi během počáteční replikace a průběžné synchronizace.

Konfigurace podpory více oblastí

Geografickou replikaci je možné nakonfigurovat během vytváření registru nebo přidat do existujících registrů Premium. Geografickou replikaci je možné nakonfigurovat prostřednictvím webu Azure Portal, Azure CLI, Azure PowerShellu nebo šablon Azure Resource Manageru.

  • Vytvořte geograficky replikovaný registr. Nakonfigurujte geografickou replikaci po vytvoření registru zadáním dalších oblastí.

  • Povolte geografickou replikaci v existujícím registru. Pokud chcete povolit možnosti geografické replikace, upgradujte stávající registry úrovní Basic nebo Standard na úroveň Premium. Oblasti replikace můžete kdykoli změnit. Další informace najdete v tématu Konfigurace geografické replikace.

  • Zakažte geografickou replikaci. Odeberte jednotlivé regionální repliky prostřednictvím portálu Azure nebo nástrojů příkazového řádku. Registr domovské oblasti nelze odebrat.

Chování, když jsou všechny oblasti v pořádku

Tato část popisuje, co očekávat, když je registr nakonfigurovaný pro geografickou replikaci a všechny oblasti jsou funkční.

Diagram znázorňující operace služby Container Registry s více oblastmi Globální klienti se připojují přes Traffic Manager ke koncovým bodům registru napříč několika oblastmi.

  • Směrování provozu mezi oblastmi: Container Registry funguje v konfiguraci aktivní-aktivní, kde každý regionální koncový bod může nezávisle obsluhovat všechny operace datové roviny, včetně čtení a zápisů. Operace datové roviny, jako jsou operace nahrávání a stažení kontejnerů, se automaticky směrují pomocí Traffic Manageru, který určuje optimální regionální koncový bod na základě kritérií výkonu pro zajištění co nejlepšího výkonu.

  • Replikace dat mezi oblastmi: Geografická replikace automaticky synchronizuje image kontejneru a artefakty napříč všemi nakonfigurovanými oblastmi pomocí asynchronní replikace s konečnou konzistencí. Služba používá adresovatelné úložiště obsahu k efektivní replikaci pouze jedinečných vrstev obrázků. Tento přístup minimalizuje využití šířky pásma a dobu replikace. Operace čtení a zápisu fungují ve všech geograficky replikovaných oblastech. Změny provedené v jakékoli oblasti se replikují do všech ostatních oblastí.

    Replikace se obvykle dokončí během několika minut změn. Načasování replikace dat ale není zaručeno. Replikace velkých imagí kontejnerů nebo aktualizací s vysokou frekvencí může trvat delší dobu, než se replikují ve všech oblastech.

Chování při selhání oblasti

Tato část popisuje, co očekávat, když je registr nakonfigurovaný pro geografickou replikaci a dojde k výpadku v primární oblasti.

Když se oblast stane nedostupnou, operace kontejnerů můžou dál používat alternativní regionální koncové body.

Diagram znázorňující chování služby Container Registry během regionálního selhání

  • Detekce a odpověď: Container Registry monitoruje stav každé regionální repliky a zodpovídá za přesměrování provozu do jiné oblasti.

  • Upozornění: Microsoft vás při výpadku oblasti automaticky neoznámí. Můžete ale použít Azure Service Health k pochopení celkového stavu služby, včetně všech selhání oblastí, a můžete nastavit upozornění služby Health, která vás upozorní na problémy.

    Můžete také monitorovat metriky dostupnosti registru pro každý regionální koncový bod ve službě Azure Monitor.

  • Aktivní požadavky: Všechny aktivní žádosti, které jsou aktuálně v letu do nedostupné oblasti, selžou a musí se opakovat, aby je bylo možné směrovat do oblasti, která je v pořádku.

  • Očekávaná ztráta dat: Všechny nedávné zápisy provedené v vadné oblasti nemusí být replikovány do jiných oblastí. Toto selhání znamená, že se můžou ztratit, dokud region neobnoví svou funkčnost. Obvykle se očekává, že ztráta dat bude kratší než 15 minut, ale to není zaručené.

  • Očekávaný výpadek: U operací roviny dat se u operací roviny dat očekává malý výpadek, zatímco se dokončí převzetí služeb při selhání, což obvykle trvá 1 až 2 minuty.

    Pokud je domovská oblast nedostupná, operace řídicí roviny nejsou k dispozici, dokud se oblast neobnoví.

  • Přesměrování provozu: Když se oblast stane nedostupnou, operace kontejneru se automaticky směrují do jiné repliky v oblasti, která je v pořádku. Klienti nemusí měnit koncový bod, ve kterém pracují s registrem. Microsoft automaticky zajišťuje směrování, převzetí služeb při selhání a obnovení po selhání.

Obnovení oblasti

Když se oblast obnoví, operace datové roviny pro tento regionální koncový bod se automaticky obnoví díky routování Traffic Managerem. Služba synchronizuje všechny změny, ke kterým dojde během výpadku, pomocí asynchronní replikace s konečnou konzistencí.

Testování selhání regionů

Nemůžete simulovat selhání jednoho z regionů přidružených k vašemu registru, ale můžete otestovat schopnost vaší aplikace přejít mezi regiony v případě selhání. Regionální převzetí služeb při selhání můžete simulovat tak, že dočasně zakážete geografické repliky, čímž budou odstraněny ze směrování Traffic Manageru. Pak můžete ověřit, že operace kontejneru při selhání úspěšně přejdou na alternativní oblasti, aniž by došlo k výpadku oblasti. Další informace naleznete v tématu Dočasné zakázání směrování na replikaci.

Když repliku znovu povolíte, Traffic Manager obnoví směrování provozu do znovu povolené repliky. Metadata a obrázky jsou také synchronizovány s eventuální konzistencí na obnovenou repliku, aby byla zajištěna konzistence dat ve všech regionech.

Zálohování a obnovení

Container Registry podporuje export imagí kontejnerů a artefaktů z registru do externího úložiště nebo alternativních registrů. Pomocí funkcí importu a exportu služby Container Registry nebo standardních příkazů Dockeru můžete vytvářet kopie důležitých imagí kontejneru pro scénáře zotavení po havárii.

U většiny řešení byste se neměli spoléhat výhradně na zálohy. Místo toho využijte další funkce popsané v tomto průvodci k podpoře vašich požadavků na odolnost. Zálohy ale chrání před některými riziky, která jiné přístupy nechrání. Další informace najdete v tématu Co jsou redundance, replikace a zálohování?.

Smlouva o úrovni služeb

Smlouva o úrovni služeb (SLA) pro služby Azure popisuje očekávanou dostupnost každé služby a podmínky, které musí vaše řešení splnit, aby bylo dosaženo očekávané dostupnosti. Další informace najdete v tématu Smlouvy SLA pro online služby.