Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Kubernetes Service (AKS) je spravovaná služba orchestrace kontejnerů, která zjednodušuje nasazení, správu a provoz Kubernetes.
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 Azure Kubernetes Service (AKS) 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 se dají zálohy použít k zotavení z jiných typů problémů a zvýrazní některé klíčové informace o smlouvě o úrovni služeb (SLA) Azure Kubernetes Service (AKS).
Doporučení pro produkční nasazení
Doporučení týkající se nasazení spolehlivých produkčních úloh v AKS najdete v následujících článcích:
- Osvědčené postupy pro nasazení a spolehlivost clusteru pro AKS
- Přehled vysoké dostupnosti (HA) a zotavení po havárii (DR) pro AKS
- Aspekty odolnosti zón pro AKS
Přehled architektury spolehlivosti
Když vytvoříte cluster AKS, platforma Azure automaticky vytvoří a nakonfiguruje:
Řídicí rovina, která obsahuje server rozhraní API atd., plánovač a další pody potřebné ke správě úloh.
fond systémových uzlů pro vaše předplatné, který hostuje vaše doplňky a další pody spuštěné v rámci jmenného prostoru kube-system.
Po dokončení tohoto počátečního nastavení fondu uzlů můžete přidat nebo odstranit fondy uzlů pro vlastní uživatelské úlohy. AKS nespravuje fondy uzlů s ohledem na spolehlivost, a proto musíte zajistit, aby vaše úlohy byly odolné vůči selháním infrastruktury.
Odolnost je sdílená odpovědnost mezi vámi a Microsoftem. Jako výpočetní služba spravuje AKS některé aspekty spolehlivosti clusteru, ale zodpovídáte za správu dalších aspektů.
Microsoft spravuje řídicí rovinu a další spravované komponenty AKS.
Je vaší zodpovědností:
Definujte, jak mají být komponenty, včetně fondů uzlů a nástrojů pro vyrovnávání zatížení, které se připojí ke službám, nakonfigurované tak, aby splňovaly vaše požadavky na spolehlivost. Jakmile definujete komponenty, Microsoft je pak nasadí a spravuje vaším jménem.
Spravujte všechny komponenty mimo cluster AKS, včetně úložiště a databází. Ověřte, že tyto komponenty splňují vaše požadavky na spolehlivost. Při nasazování úloh se ujistěte, že jsou pro tyto služby nakonfigurované také další komponenty Azure pro odolnost. Postupujte podle osvědčených postupů pro tyto služby.
Odolnost proti přechodným chybám
Přechodné chyby jsou krátká, přerušovaná selhání ve složkách. Často se vyskytují v distribuovaném prostředí, jako je cloud, 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.
Při použití AKS může dojít k přechodným chybám z různých důvodů, včetně chybových ukončení aplikace, operací škálování podů a vyrovnávání, oprav uzlů a dočasných selhání infrastruktury, jako jsou problémy s hardwarem nebo sítí.
Není možné odstranit všechny přechodné chyby, takže klienti, kteří přistupují k aplikacím hostovaným v AKS, by měli být připraveni opakovat neúspěšné požadavky a postupovat podle dalších doporučení pro zpracování přechodných chyb. Můžete minimalizovat pravděpodobnost přechodných chyb a vyhnout se výpadkům, které by mohly způsobit, pomocí osvědčených postupů Kubernetes a Azure ve vašem nasazení.
- Nastavte rozpočty přerušení podů (PDB) ve specifikaci podu pomocí YAML a určete, kolik podů potřebujete mít ve stavu
Readyv daném okamžiku. Když nastavíte PDBs, AKS zajistí minimální dostupnost replik při spuštění operací pro omezení přístupu a odvodnění uzlů. Pokud není možné splnit PDB během procesů, jako je upgrade, pod bude nadále fungovat a operace může selhat. Další informace naleznete v PDBs. - Slouží
maxUnavailablek definování maximálního počtu replik, které mohou být v daném okamžiku nedostupné. Když například provedete postupné restartování, AKS zajistí, že v daném okamžiku nebude zrušeno více nežmaxUnavailablepodů. Další informace najdete v tématu maxUnavailable. - Dodržujte osvědčené postupy nasazení. Repliky podů můžou také selhat kvůli problémům s aplikací. Další informace najdete v tématu Osvědčené postupy na úrovni nasazení pro spolehlivost clusteru AKS.
Poznámka:
Pokud chcete, aby AKS ověřila vaše nasazení z hlediska dodržování osvědčených postupů a poskytovala oznámení o blokování nebo varováních, můžete použít ochranná opatření pro nasazení. Ochrany nasazení jsou spravovaná nabídka, která pomáhá vynucovat osvědčené postupy pro produkty před nasazením kódu do clustru.
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 cluster AKS do oblasti, která podporuje zóny dostupnosti, vyžadují různé komponenty různé typy konfigurace.
Řídicí rovina AKS je ve výchozím nastavení odolná vůči zónovým poruchám. Pokud dojde k selhání zóny, řídicí rovina nevyžaduje žádnou konfiguraci ani správu k dosažení odolnosti. Odolnost řídicí roviny ale nestačí, aby cluster zůstal funkční, když dojde k selhání zóny. U fondu systémových uzlů a všech fondů uzlů uživatelů, které nasazujete, musíte povolit podporu zóny dostupnosti, abyste zajistili odolnost vašich úloh vůči selháním zóny dostupnosti.
Požadavky
Podpora oblastí: Clustery AKS odolné vůči zónám můžete nasadit do libovolné oblasti, která podporuje zóny dostupnosti.
Úvahy
Pokud chcete zvýšit spolehlivost a odolnost produkčních úloh AKS v oblasti, musíte nakonfigurovat AKS pro redundanci zón provedením následujících konfigurací:
Nasaďte více replik. Kubernetes rozděluje pody mezi uzly na základě označení uzlů. Pokud chcete rozložit pracovní zátěž mezi zóny, musíte nasadit několik replik podů. Pokud například nakonfigurujete fond uzlů se třemi zónami, ale nasadíte jenom jednu repliku svého podu, nebude vaše nasazení odolné proti výpadkům zón.
Povolte automatické škálování. Fondy uzlů Kubernetes poskytují možnosti ručního a automatického škálování. Pomocí ručního škálování můžete podle potřeby přidávat nebo odstraňovat uzly, a čekající pody budou čekat, dokud neprovedete škálování fondu uzlů. Škálování spravované službou AKS používá automatické škálování clusteru nebo automatické zřizování uzlů (NAP). AKS škáluje fond uzlů nahoru nebo dolů na základě požadavků podů v rámci kvóty a kapacity předplatného. Tato metoda pomáhá zajistit, aby vaše pody byly naplánovány na dostupné uzly v zónách dostupnosti.
Nastavte omezení topologie podů. Pomocí omezení rozložení topologie podů můžete řídit, jak se pody šíří mezi různé uzly nebo zóny. Omezení pomáhají dosáhnout vysoké dostupnosti, odolnosti a efektivního využití prostředků. Pokud dáváte přednost tomu, aby byly pody výhradně rozmístěny napříč zónami, můžete nastavit omezení, která přinutí pod přejít do čekajícího stavu, čímž se zajistí rovnoměrné rozložení podů napříč zónami. Další informace viz Omezení rozložení topologie podů.
Konfigurace zónově odolných sítí Pokud pody obsluhují externí provoz, nakonfigurujte síťovou architekturu clusteru pomocí služeb, jako je Azure Application Gateway, Azure Load Balancer nebo Azure Front Door.
Ujistěte se, že jsou závislosti zónově odolné. Většina aplikací AKS používá jiné služby pro ukládání, zabezpečení nebo sítě. Ujistěte se, že pro tyto služby zkontrolujete doporučení k odolnosti zón.
Náklady
Za povolení podpory zón dostupnosti v AKS se neúčtují žádné další poplatky. Platíte za virtuální počítače a další prostředky, které nasadíte v zónách dostupnosti.
Konfigurace podpory zón dostupnosti
- Vytvořte nový cluster AKS s podporou zóny dostupnosti: Pokud chcete nakonfigurovat podporu zón dostupnosti, přečtěte si téma Vytvoření clusteru Azure Kubernetes Service (AKS), který používá zóny dostupnosti.
- Migrace: Po vytvoření clusteru nemůžete povolit podporu zóny dostupnosti. Místo toho musíte vytvořit nový cluster, který má povolenou podporu zóny dostupnosti, a odstranit existující cluster.
- Zakázání podpory zóny dostupnosti: Po vytvoření clusteru nemůžete zakázat podporu zóny dostupnosti. Místo toho musíte vytvořit nový cluster, který má zakázanou podporu zóny dostupnosti, a odstranit existující cluster.
Chování, když jsou všechny zóny v pořádku
Tato část popisuje, co očekávat, když jsou clustery AKS nakonfigurované pro podporu zóny dostupnosti a všechny zóny dostupnosti jsou funkční.
Směrování provozu mezi zónami: Když nasadíte cluster AKS, který používá zóny dostupnosti, je důležité zajistit odolnost síťových komponent. V závislosti na nástrojích pro vyrovnávání zatížení a dalších síťových komponentách, které používáte, budete možná muset explicitně nakonfigurovat komponenty pro směrování provozu do správných uzlů ve správných zónách a reagovat na výpadky zón. Další informace najdete v tématu Aspekty odolnosti zón pro AKS.
Replikace dat mezi zónami: Pokud spouštíte bezstavovou úlohu, měli byste k ukládání aplikačních dat použít spravované služby Azure, jako jsou databáze Azure, Azure Cache for Redis nebo Azure Storage . Tyto služby můžete použít k zajištění toho, aby se provoz mohl přesouvat mezi uzly a zónami, aniž by došlo k riziku ztráty dat nebo ovlivnění uživatelského prostředí. Můžete použít nasazení, služby a sondy stavu Kubernetes ke správě bezstavových podů a k zajištění rovnoměrné distribuce napříč zónami.
Pokud potřebujete uložit stav v rámci clusteru pomocí disků Azure, použijte zónově redundantní úložiště Azure, abyste zajistili, že se vaše data replikují napříč několika zónami dostupnosti. Další informace najdete v tématu Volba správného typu disku na základě potřeb aplikace.
Chování při selhání zóny
Tato část popisuje, co očekávat, když dojde k výpadku zóny dostupnosti, když jsou clustery AKS nakonfigurované s podporou zóny dostupnosti.
Detekce a odpověď: Když dojde k výpadku zóny, řídicí rovina automaticky přepne na záložní režim. Pokud fondy uzlů používají zóny dostupnosti a dodržují osvědčené postupy odolnosti zón, můžete očekávat, že služba AKS zajistí spuštění uzlů a replik v zónách, které jsou v provozu. AKS tuto úlohu provádí automaticky, když používáte spravovaná řešení, jako je automatické škálování clusteru nebo architektura NAP. Bez automatického škálování zůstanou uzly a repliky ve stavu Čeká na vyřízení a čekají na ruční zásah, aby se zvýšila kapacita fondu uzlů.
AKS se také pokusí obnovit rovnováhu podů napříč zdravými zónami. Pokud se rozhodnete ručně škálovat fond uzlů ve scénáři, kdy je zóna mimo provoz, mohou pody zůstat ve stavu Čekající, pokud v zónách nejsou dostupné žádné zdravé uzly. Horizontální navýšení kapacity ve zbývajících zónách podléhá dostupnosti kvóty a kapacity pro typ SKU virtuálního počítače, který používáte.
Oznámení: Microsoft vás automaticky neoznámí, když je zóna mimo provoz. Azure Resource Health ale můžete použít k monitorování stavu jednotlivých prostředků a můžete nastavit upozornění služby Resource Health , která vás upozorní na problémy. Pomocí služby Azure Service Health můžete také porozumět celkovému 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.
Ke sledování stavu uzlů a podů můžete také použít metriky stavu uzlů nebo podů.
Aktivní požadavky: Jakékoli aktivní požadavky mohou zaznamenat přerušení. Některé požadavky mohou selhat a latence se může zvýšit, když vaše úloha přejde do jiné zóny.
Očekávaná ztráta dat: Pokud ukládáte stav v rámci clusteru pomocí disků Azure a používáte zónově redundantní úložiště, očekává se, že selhání zóny nezpůsobí ztrátu dat.
Očekávaný výpadek: Pokud správně nakonfigurujete odolnost zón pro cluster a pody, neočekává se, že selhání zóny způsobí výpadek pro vaši úlohu AKS.
Přesměrování provozu: Nástroje pro vyrovnávání zatížení přesměrovávají nové příchozí požadavky na pody, které běží na funkčních uzlech.
Další informace najdete v tématu Aspekty odolnosti zón pro AKS.
Obnovení zóny
Když se zóna dostupnosti obnoví, chování navrácení služeb po obnovení závisí na komponentě:
Řídicí rovina: AKS automaticky obnoví operace řídicí roviny napříč všemi zónami dostupnosti. Nevyžaduje se žádný ruční zásah.
Fondy uzlů a uzly: Okamžitě po obnovení zůstanou uzly v zónách, které byly dříve v pořádku, a neobnoví se v obnovené oblasti. Při příštím provedení operace škálování uzlů, například při rozšíření fondu uzlů, může fond uzlů vytvořit uzly v obnovené zóně.
Lusky: Ihned po obnovení provozu pody pokračují ve spuštění na uzlech, na kterých jsou aktuálně spuštěné. Po vytvoření nových podů nebo opětovném vytvoření existujících podů mají nárok na použití uzlů v obnovené zóně.
Skladování: Všechna úložiště připojená k podům se obnoví na základě toho, jak funguje zónově redundantní úložiště.
Testování poruch zón
Odolnost proti chybám zóny dostupnosti můžete otestovat pomocí následujících metod:
- Oddělení a vypuštění uzlů v jedné zóně dostupnosti
- Simulace selhání zóny dostupnosti pomocí nástroje Azure Chaos Studio
Odolnost proti selháním v celé oblasti
Clustery AKS jsou prostředky v jedné oblasti. Pokud oblast není dostupná, cluster AKS je také nedostupný.
Vlastní řešení pro více regionů pro odolnost systémů
Pokud potřebujete nasadit úlohu Kubernetes do několika oblastí Azure, máte dvě možnosti pro správu orchestrace těchto clusterů.
Pokud chcete jednodušší a spravované prostředí, použijte Azure Kubernetes Fleet Manager . Pomocí Azure Kubernetes Fleet Manageru můžete:
Spravujte sadu clusterů AKS jako jednu jednotku a tyto clustery je možné distribuovat napříč několika oblastmi Azure.
Automatizujte konkrétní aspekty správy clusterů, jako jsou upgrady imagí clusteru a uzlů.
Pomocí možností distribuce provozu rozdělte provoz mezi clustery a automaticky přepněte v případě, že je oblast nedostupná.
Spravujte převzetí služeb při selhání pomocí ručního modelu nasazení typu aktivní-aktivní nebo aktivní-pasivní, pokud vaše úloha vyžaduje jemnější kontrolu nad různými komponentami převzetí služeb při selhání. Další informace najdete v tématu Přehled vysoké dostupnosti a obnovení po havárii pro AKS.
Zálohování a obnovení
Azure Backup má rozšíření, které můžete použít k zálohování prostředků clusteru AKS a trvalých svazků, které se připojují ke clusteru. Trezor služby Backup komunikuje s clusterem AKS prostřednictvím rozšíření za účelem provádění operací zálohování a obnovení.
Pokud je cluster AKS v spárované oblasti, můžete nakonfigurovat zálohování, které se má uložit v geograficky redundantním úložišti. Geograficky redundantní zálohy můžete obnovit do spárované oblasti.
Další informace najdete v následujících článcích:
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í?.
Snažte se používat bezstavové clustery, které minimalizují potřebu zálohování. Data můžete ukládat v externích systémech úložiště a databázích místo v clusteru.
Odolnost vůči údržbě služeb
AKS provádí údržbu clusteru, včetně aktualizací imagí clusteru a uzlů. Abyste zajistili, že Kubernetes udržuje minimální počet instancí podů potřebných k poskytování produkčního provozu i během upgradů, měli byste nakonfigurovat pody tak, aby používaly rozpočty přerušení podů.
Kvůli omezení přerušení služeb během kritických časových období poskytuje AKS kontrolní mechanismy, abyste mohli určit dobu plánované údržby. Další informace najdete v tématu Plánování a řízení upgradů clusteru Azure Kubernetes Service pomocí plánované údržby.
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.
AKS poskytuje tři cenové úrovně pro správu clusterů: Free, Standard a Premium. Úroveň Free umožňuje používat AKS k testování úloh. Úrovně Standard a Premium jsou navržené pro produkční úlohy. Když nasadíte cluster AKS s povolenými zónami dostupnosti, zvýší se procento doby provozu definované ve sla. Smlouva SLA se ale použije jenom v případě, že nasadíte cluster v cenové úrovni Standard nebo Premium.