Spolehlivost aplikační brány Azure pro kontejnery

Azure Application Gateway pro kontejnery je spravovaná služba vyrovnávání zatížení na aplikační vrstvě (vrstva 7) a služba dynamické správy provozu pro úlohy spuštěné v Kubernetes. Směruje příchozí požadavky na cíle back-endu ve vašem clusteru.

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 Azure Application Gateway for Containers zpracovává přechodné chyby, chyby zóny dostupnosti, selhání v celém regionu a údržbu služeb. Popisuje také možnosti zálohování a obnovení a klíčové informace o smlouvě o úrovni služeb (SLA).

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

Služba Application Gateway pro kontejnery je ve výchozím nastavení vysoce dostupná. Pro produkční úlohy:

  • Kvůli redundanci zón nasaďte službu Application Gateway pro kontejnery v oblasti, která podporuje zóny dostupnosti. Služba je v těchto oblastech automaticky zónově redundantní.

  • Nakonfigurujte cluster Kubernetes, prostředky Kubernetes a back-endové úlohy pro zajištění odolnosti zón. Pokyny najdete v tématu Odolnost proti chybám zóny dostupnosti.

  • Kvůli odolnosti proti selháním v celém regionu nasaďte službu Application Gateway pro kontejnery a její závislé úlohy v každém regionu a nakonfigurujte správu provozu napříč regiony. Pokyny najdete v tématu Vlastní multiregionální řešení pro odolnost.

  • Pokud nakonfigurujete skupiny zabezpečení sítě (NSG) nebo trasy definované uživatelem v podsíti přidružení, postupujte podle pokynů k NSG a pokynů k uživatelsky definovaným trasám.

Příklad architektury a pokynů k topologii, toku provozu, spolehlivosti, zabezpečení a operacím najdete v tématu Nasazení služby Application Gateway pro kontejnery v Azure Kubernetes Service.

Přehled architektury spolehlivosti

Tato část popisuje některé důležité aspekty fungování služby, které jsou z hlediska spolehlivosti nejrelevantní. Tato část představuje logickou architekturu, která obsahuje některé prostředky a funkce, které nasazujete a používáte. Popisuje také fyzickou architekturu, která poskytuje podrobnosti o tom, jak služba funguje v zákulisí.

Logická architektura

Nasazení služby Application Gateway pro kontejnery zahrnuje prostředky v Azure a v clusteru Kubernetes.

  • Azure prostředky:Řídicí vrstva orchestruje konfiguraci proxy serveru brány na základě vaší konfigurace. Datová rovina spravovaná Azure běží mimo cluster a zpracovává provoz aplikací.
  • Prostředky Kubernetes: Směrování a další konfiguraci definujete pomocí prostředků Kubernetes. Kontroler ALB běží ve vašem clusteru, sleduje tyto prostředky a propisuje vaši konfiguraci do služby Application Gateway for Containers v Azure.

Můžete si vybrat mezi dvěma strategiemi nasazení. Při použití strategie bring your own (BYO) spravujete životní cyklus služby Application Gateway pro kontejnery, přidružení a front-endové prostředky prostřednictvím nástrojů Azure. Díky strategii spravováno kontrolerem ALB spravuje kontroler ALB životní cyklus těchto prostředků Azure na základě prostředků Kubernetes, které definujete.

Úplný popis komponent najdete v tématu Komponenty Application Gateway pro kontejnery.

Po nasazení a konfiguraci služby Application Gateway pro kontejnery směruje příchozí požadavky do back-endových cílů, které představují vaši aplikaci spuštěnou v rámci Kubernetes.

Pokud řadič ALB nebo řídicí rovina nejsou k dispozici, rovina dat nadále zpracovává provoz pomocí poslední úspěšně použité konfigurace. Během výpadku nejsou aktualizace konfigurace propagovány a služba nemůže nastavit konfiguraci vyžadovanou pro události horizontálního navýšení kapacity.

Fyzická architektura

Azure spravuje a automaticky škáluje infrastrukturu roviny dat na základě provozu aplikace. Služba Application Gateway for Containers se vždy nasazuje v konfiguraci s vysokou dostupností: v oblastech, které podporují zóny dostupnosti, jsou brány zónově redundantní; v oblastech, které nepodporují zóny dostupnosti, Azure používá skupiny dostupnosti.

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 postupovat podle Azure pokynů pro zpracování přechodných chyb, když komunikují s libovolnými rozhraními API, databázemi a dalšími komponentami hostovanými v cloudu. Další informace viz Doporučení pro zpracování přechodných selhání.

Při použití služby Application Gateway pro kontejnery zvažte následující osvědčené postupy:

  • Implementujte logiku opakování. Nakonfigurujte klienty tak, aby po přechodných selháních připojení zopakovali požadavky.

  • Nakonfigurujte sondy stavu s tolerancí. Pokud nakonfigurujete vlastní sondy stavu, nastavte práh nezdravého stavu, aby toleroval přechodné chyby. Práh nezdravého stavu určuje počet po sobě jdoucích neúspěšných testů, které způsobí, že cíl backendu bude označen jako nezdravý. Výchozí sonda stavu používá práh nezdravého stavu tří sond, což pomáhá zabránit tomu, aby jediné přechodné selhání sondy označilo backend jako nezdravý.

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.

Když nasadíte službu Application Gateway pro kontejnery v oblasti Azure, která podporuje zóny dostupnosti, Microsoft automaticky nakonfiguruje řídicí rovinu a rovinu dat jako zónově redundantní napříč několika zónami. Nevyberete, které zóny služba používá.

Important

Microsoft spravuje redundanci zón pro řídicí rovinu a rovinu dat služby Application Gateway for Containers. Pokud chcete dosáhnout komplexní odolnosti zón, nakonfigurujte cluster Kubernetes, prostředky Kubernetes a back-endové úlohy tak, aby poskytovaly funkční cíle napříč zónami.

Požadavky

Podpora regionů: Pokud chcete použít redundanci zón, zvolte region, který podporuje službu Application Gateway pro kontejnery i zóny dostupnosti. Zkontrolujte dostupnost oblasti služby Application Gateway pro kontejnery a porovnejte ji se seznamem oblastí, které podporují zóny dostupnosti.

Considerations

Sdílená odpovědnost za vaši platformu Kubernetes: Microsoft spravuje přesměrování provozu pro Application Gateway for Containers během selhání zóny. Pro Azure Kubernetes Service (AKS) Microsoft spravuje řídicí rovinu Kubernetes. Zodpovídáte za konfiguraci odolnosti zón pro fondy uzlů vašeho clusteru a další prostředky, které spravujete, a za chování vašich aplikací během výpadku zóny.

  • Cluster: Nakonfigurujte fondy uzlů AKS a další prostředky clusteru vázané na zónu, které spravujete, tak, aby pokrývaly zóny dostupnosti. AKS spravuje řídicí rovinu; Viz Konfigurace zón dostupnosti pro fondy uzlů AKS.

  • Vaše úlohy: Zodpovídáte za nasazení více replik podů, jejich rozprostření napříč zónami a zajištění, aby během výpadku zóny byly k dispozici funkční back-endové úlohy, které obsluhují provoz. Můžete použít fondy uzlů, které zahrnují zóny dostupnosti, omezení šíření topologie a antiafinitu podů.

  • Objekty konfigurace Kubernetes: Application Gateway pro kontejnery používá objekty konfigurace Kubernetes uložené v rozhraní API clusteru. Jejich dostupnost závisí na řídicí rovině Kubernetes a konfiguraci, kterou spravujete ve vašem clusteru.

  • Kontroler ALB: Nasadíte kontroler ALB v clusteru Kubernetes za účelem rekonciliace konfigurace. Není součástí datové cesty služby Application Gateway for Containers.

    Kontroler ALB spouští dvě repliky, přičemž jedna funguje jako vedoucí a druhá jako sekundární. Pokud se vedoucí instance stane nedostupnou, sekundární se může stát vedoucí instancí a pokračovat v šíření konfigurace. Obě repliky můžou běžet ve stejné zóně dostupnosti v závislosti na tom, jak je cluster naplánuje. Zodpovídáte za konfiguraci podů clusteru a kontroleru pro odolnost zón. K distribuci replik napříč zónami použijte omezení topologického rozložení podů nebo anti-afinitu podů. Další informace najdete v tématu Konfigurace zón dostupnosti pro fondy uzlů AKS.

Cost

Podpora zóny dostupnosti pro Službu Application Gateway pro kontejnery neúčtuje další poplatky nad rámec standardních cen služeb. Podrobnosti o cenách najdete v článku Ceny služby Azure Application Gateway.

Konfigurujte podporu zón dostupnosti

Když nasadíte novou bránu v podporované oblasti, je ve výchozím nastavení zónově redundantní. U prostředků Azure nemusíte povolovat redundanci zón.

Zodpovídáte za konfiguraci clusteru Kubernetes, kontroleru ALB a backendových pracovních zátěží pro zajištění odolnosti zón.

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

Tato část popisuje, co očekávat při nasazení služby Application Gateway pro kontejnery v oblasti, která podporuje zóny dostupnosti a všechny zóny používané službou jsou funkční.

  • Operace napříč zónami: Rovina dat služby Application Gateway spravovaná Azure pro kontejnery distribuuje příchozí požadavky napříč infrastrukturou ve více zónách.

    Zodpovídáte za konfiguraci back-endových úloh tak, aby běžely napříč zónami, a poskytujete funkční cíle pro příjem daného provozu.

  • Replikace dat mezi zónami: Application Gateway pro kontejnery neukládá data aplikace. Platforma spravuje stav konfigurace prostřednictvím zónově redundantní řídicí roviny za účelem zajištění trvanlivosti a odolnosti.

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

Tato část popisuje, co očekávat při nasazení služby Application Gateway pro kontejnery v oblasti, která podporuje zóny dostupnosti a jedna z zón používaných službou má výpadek.

  • Detekce a reakce: Application Gateway for Containers během výpadku zóny přesměruje provoz do infrastruktury ve zbývajících zdravých zónách. Kvůli redistribuci provozu brány nemusíte podnikat žádné kroky.

    Zodpovídáte ale za dopad výpadku na cluster Kubernetes a back-endové aplikace.

  • Oznámení: Microsoft vás při výpadku zóny automaticky neoznámí. Můžete ale použít Azure Service Health 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.
  • Aktivní požadavky: Existující připojení k zóně, která selhala, se zahodí. Klienti by měli požadavky opakovat podle pokynů v části Odolnost proti přechodným chybám. Navazují se nová připojení k infrastruktuře ve zbývajících zónách, které jsou v pořádku.

  • Očekávaná ztráta dat: Application Gateway pro kontejnery neukládá data aplikací. Platforma spravuje stav konfigurace prostřednictvím zónově redundantní řídicí roviny za účelem zajištění trvanlivosti a odolnosti.

  • Očekávaný výpadek: Klienti můžou zaznamenat krátké přerušení, když dojde k přerušení připojení k selhané zóně. Klienti by měli opakovat žádosti o navázání nových připojení k infrastruktuře ve zbývajících zónách, které jsou v pořádku.

    Řídicí rovina spravovaná Azure zůstává dostupná během výpadku jedné zóny. Vaše schopnost aplikovat aktualizace konfigurace také závisí na dostupnosti řídicí roviny Kubernetes a kontroleru ALB.

  • Redistribuce: Brána Application Gateway pro kontejnery přesměruje provoz do infrastruktury ve zbývajících zónách, které jsou v pořádku.

Obnovení zóny

Application Gateway pro kontejnery se automaticky zotaví ze základních problémů. Azure spravuje zotavení infrastruktury brány.

Testování poruch zón

Platforma Application Gateway for Containers spravuje směrování provozu a reakci na výpadky zón pro samotnou bránu. Odpověď brány nemusíte spouštět ani spravovat. Pokud máte cluster Kubernetes, který spravujete, můžete pomocí Azure Chaos Studio otestovat odezvu clusteru na selhání zóny. Další informace najdete v tématu Testování odolnosti zón dostupnosti.

Odolnost proti selháním v celé oblasti

Application Gateway pro kontejnery je služba pro jednu oblast. Pokud Azure oblast, ve které jste nasadili bránu, není dostupná, tato brána není k dispozici.

Vlastní řešení pro více regionů pro zajištění odolnosti

Application Gateway pro kontejnery neposkytuje integrované řešení pro nasazení ve více oblastech ani řešení převzetí služeb při selhání. Pokud chcete navrhnout řešení pro případ výpadku oblasti, nasaďte a nakonfigurujte samostatnou bránu a cluster Kubernetes v každé oblasti. Zodpovídáte za směrování provozu mezi regionálními bránami a konfiguraci převzetí služeb při selhání.

  • Konzistentně nakonfigurujte službu Application Gateway pro kontejnery napříč oblastmi. Pokud chcete zjednodušit nasazení a udržovat konfigurace v souladu, definujte infrastrukturu jako kód (IaC) pomocí nástrojů, jako jsou Bicep nebo Terraform.

  • Zvolte a nakonfigurujte globální službu pro správu provozu, jako je Azure Front Door nebo Azure Traffic Manager, a nasměrujte klienty na regionální brány. Tyto služby používají různé modely směrování a konfigurace sond stavu. Nakonfigurujte vybranou službu tak, aby směrovala provoz od nedostupné brány, a projděte si její dokumentaci, abyste porozuměli chování směrování a aspektům převzetí služeb při selhání. Azure Front Door také poskytuje možnosti, jako je ochrana před distribuovaným odepřením služby (DDoS), možnosti firewallu webových aplikací (WAF) a směrování založené na pravidlech.

  • Nasaďte back-endové aplikace v každé oblasti a nakonfigurujte je tak, aby během výpadku poskytovaly bezproblémové úlohy. Pokud vaše aplikace závisí na datech nebo jiných službách Azure, navrhněte a nakonfigurujte tyto služby také pro dostupnost ve více oblastech. Projděte si pokyny ke spolehlivosti jednotlivých služeb a seznamte se s možnostmi a omezeními pro více regionů.

Zálohování a obnovení

Application Gateway pro kontejnery neukládá data aplikací. Azure Resource Manager ukládá konfiguraci prostředku Azure dané brány. Tyto prostředky můžete znovu vytvořit opětovným nasazením jejich konfigurace.

Zodpovídáte za zachování konfigurace a prostředků Kubernetes, které definují, jak se brána nasazuje a směruje provoz:

  • Definujte prostředky Azure a jejich nastavení pomocí infrastruktury jako kódu (IaC), například Bicep nebo Terraform, a udržujte definice ve správě verzí. Můžete je použít k opětovnému nasazení prostředků brány.

  • Zálohujte prostředky Kubernetes, které konfigurují bránu, například ApplicationLoadBalancer, Gatewaya HTTPRoute prostředky. Obnovte je do clusteru, když potřebujete znovu vytvořit konfiguraci směrování.

  • Zachovejte související konfiguraci, včetně vlastních pravidel a zásad firewallu webových aplikací, ve správě verzí nebo prostřednictvím standardního procesu zálohování konfigurace. Kanály pro nasazení můžete použít k opětovnému konzistentnímu vytvoření prostředků Azure a Kubernetes.

Odolnost vůči údržbě služeb

Microsoft spravuje údržbu služby Application Gateway pro kontejnery při zachování vysoké dostupnosti služby.

Požadovaná minimální velikost /24 podsítě pro každé přidružení zohledňuje okna údržby, takže pro údržbu nemusíte přidělovat další adresní prostor IP adres podsítě.

Další informace najdete v tématu Škálování a dostupnost služby Application Gateway pro kontejnery.

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 článku SLA pro online služby.

SLA služby Application Gateway pro kontejnery měří řídicí rovinu a rovinu dat samostatně. Obě vrstvy se započítávají do celkového výpočtu SLA.