Sdílet prostřednictvím


Důležité informace o správě provozu pro Službu Azure Kubernetes Service

Kubernetes je relativně nová technologie, která se rychle vyvíjí s působivým ekosystémem. Proto může být správa a ochrana náročná.

Směrný plán provozu pro AKS

Pokud chcete dosáhnout efektivity provozu a úspěchu zákazníků, můžete správně navrhnout řešení Azure Kubernetes Service (AKS) s ohledem na správu a monitorování.

Aspekty návrhu

Vezměte v úvahu následující faktory:

  • Mějte na paměti limity AKS. K horizontálnímu navýšení kapacity nad rámec těchto limitů použijte více instancí AKS.
  • Mějte na paměti způsoby, jak logicky izolovat úlohy v rámci clusteru a fyzicky v samostatných clusterech.
  • Mějte na paměti způsoby, jak řídit spotřebu prostředků podle úloh.
  • Mějte na paměti způsoby, jak kubernetes porozumět stavu vašich úloh.
  • Mějte na paměti různé velikosti virtuálních počítačů a vliv použití jednoho nebo druhého virtuálního počítače. Větší virtuální počítače můžou zvládnout větší zatížení. Menší virtuální počítače můžou být jednodušší nahradit jinými, pokud nejsou k dispozici pro plánovanou a neplánovanou údržbu. Mějte také na paměti fondy uzlů a virtuální počítače ve škálovací sadě, což umožňuje virtuálním počítačům s různými velikostmi ve stejném clusteru. Větší virtuální počítače jsou optimální, protože AKS si vyhrazuje menší procento svých prostředků a zpřístupňuje více prostředků pro vaše úlohy.
  • Mějte na paměti způsoby monitorování a protokolování AKS. Kubernetes se skládá z různých komponent a monitorování a protokolování by mělo poskytovat přehled o stavu, trendech a potenciálních problémech.
  • Na základě monitorování a protokolování může existovat mnoho událostí generovaných Kubernetes nebo aplikacemi spuštěnými nahoře. Výstrahy můžou pomoct rozlišovat položky protokolu pro historické účely a položky, které vyžadují okamžitou akci.
  • Mějte na paměti aktualizace a upgrady, které byste měli provést. Na úrovni Kubernetes existují hlavní verze, podverze a verze oprav. Zákazník by tyto aktualizace měl použít, aby zůstal podporovaný podle zásad v upstreamovém Kubernetes. Na úrovni hostitele pracovního procesu můžou opravy jádra operačního systému vyžadovat restartování, které by měl zákazník provést, a upgradovat na nové verze operačního systému. Kromě ručního upgradu clusteru můžete v clusteru nastavit kanál automatického upgradu.
  • Mějte na paměti omezení prostředků clusteru a jednotlivé úlohy.
  • Mějte na paměti rozdíly mezi horizontálním automatickým škálováním podů a automatickým škálováním clusteru.
  • Zvažte zabezpečení provozu mezi pody pomocí zásad sítě a modulu plug-in zásad Azure.
  • Pokud chcete pomoct s řešením potíží s aplikací a službami spuštěnými v AKS, možná budete muset zobrazit protokoly vygenerované komponentami řídicí roviny. Můžete chtít povolit protokoly prostředků pro AKS , protože protokolování není ve výchozím nastavení povolené.

Doporučení

  • Vysvětlení limitů AKS:

  • Logická izolace na úrovni oboru názvů slouží k oddělení aplikací, týmů, prostředí a obchodních jednotek. Izolace víceklientské architektury a clusteru Fondy uzlů také můžou pomoct na uzlech s různými specifikacemi uzlů a údržbou, jako je upgrade Kubernetes, více fondů uzlů.

  • Naplánujte a použijte kvóty prostředků na úrovni oboru názvů. Pokud pody nedefinují požadavky na prostředky a limity, zamítněte nasazení pomocí zásad atd. To neplatí pro pody kube-system, protože ne všechny pody kube-system mají požadavky a limity. Monitorujte využití prostředků a podle potřeby upravte kvóty. Základní funkce plánovače

  • Přidejte sondy stavu do podů. Ujistěte se, readinessProbeže pody obsahují livenessProbesondy stavu a startupProbe AKS.

  • Velikost virtuálních počítačů je dostatečně velká, aby obsahovala více instancí kontejneru, takže získáte výhody zvýšené hustoty, ale ne tak velké, že cluster nedokáže zpracovat úlohy neúspěšného uzlu.

  • Použijte řešení monitorování. Služba Azure Monitor Container Insights je standardně nastavená a poskytuje snadný přístup k mnoha přehledům. Integraci Prometheus můžete použít, pokud chcete přejít k podrobnostem hlouběji nebo máte zkušenosti s používáním nástroje Prometheus. Pokud chcete také spustit monitorovací aplikaci v AKS, měli byste tuto aplikaci monitorovat také pomocí služby Azure Monitor.

  • Pomocí upozornění na metriky Přehledy kontejnerů azure Monitoru můžete poskytovat oznámení, když je potřeba provést přímou akci.

  • Pomocí funkce automatického škálování fondu uzlů společně s horizontálním automatickým škálováním podů můžete splnit požadavky aplikací a zmírnit zatížení hodin ve špičce.

  • Využijte Azure Advisor k získání doporučení osvědčených postupů k nákladům, zabezpečení, spolehlivosti, efektivitě provozu a výkonu. K prevenci a detekci hrozeb, jako jsou ohrožení zabezpečení obrázků, použijte také Microsoft Defender for Cloud .

  • Kubernetes s podporou Azure Arc můžete použít ke správě clusterů Kubernetes mimo AKS v Azure pomocí Azure Policy, Defenderu pro cloud, GitOps atd.

  • Ke správě výpočetních prostředků v clusteru AKS použijte požadavky a omezení podů. Požadavky a limity podů informují plánovač Kubernetes o tom, které výpočetní prostředky se mají přiřadit k podu.

Provozní kontinuita / zotavení po havárii za účelem ochrany a obnovení AKS

Vaše organizace potřebuje navrhnout vhodné funkce na úrovni platformy Azure Kubernetes Service (AKS), aby splňovaly konkrétní požadavky. Tyto aplikační služby mají požadavky související s plánovanou dobou obnovení (RTO) a cílem bodu obnovení (RPO). Pro zotavení po havárii AKS je potřeba zvážit několik aspektů. Vaším prvním krokem je definování smlouvy o úrovni služeb (SLA) pro vaši infrastrukturu a aplikaci. Přečtěte si informace o sla pro Službu Azure Kubernetes Service (AKS). Informace o měsíčních výpočtech doby provozu najdete v části podrobnosti smlouvy SLA.

Aspekty návrhu

Vezměte v úvahu následující faktory:

  • Cluster AKS by měl používat více uzlů ve fondu uzlů k zajištění minimální úrovně dostupnosti pro vaši aplikaci.

  • Nastavte požadavky a omezení podů. Nastavení těchto omezení umožňuje Kubernetes:

    • Efektivně udělte podům prostředky procesoru a paměti.
    • Mají vyšší hustotu kontejneru na uzlu.

    Omezení můžou také zvýšit spolehlivost s nižšími náklady z důvodu lepšího využití hardwaru.

  • Vhodnosti AKS pro Zóny dostupnosti nebo skupiny dostupnosti

    • Zvolte oblast, která podporuje Zóny dostupnosti.
    • Zóny dostupnosti lze nastavit pouze při vytvoření fondu uzlů a později ho nejde změnit. Podpora více zón se vztahuje pouze na fondy uzlů.
    • Pro úplné zónové výhody musí všechny závislosti služeb podporovat také zóny. Pokud závislá služba nepodporuje zóny, může selhání zóny způsobit selhání této služby.
    • Spuštění několika clusterů AKS v různých spárovaných oblastech za účelem zajištění vyšší dostupnosti nad rámec toho, co Zóny dostupnosti může dosáhnout. Pokud prostředek Azure podporuje geografickou redundanci, zadejte umístění, kde má redundantní služba svou sekundární oblast.
  • Měli byste znát pokyny pro zotavení po havárii v AKS. Pak zvažte, jestli se vztahují na clustery AKS, které používáte pro Azure Dev Spaces.

  • Konzistentně vytváří zálohy pro aplikace a data.

    • Nestavová služba se dá efektivně replikovat.
    • Pokud potřebujete uložit stav v clusteru, zálohujte data často ve spárované oblasti. Jedním z aspektů je, že správné ukládání stavu v clusteru může být složité.
  • Aktualizace a údržba clusteru

    • Vždy udržujte cluster v aktualizovaném stavu.
    • Mějte na paměti proces vydání a vyřazení.
    • Naplánujte aktualizace a údržbu.
  • Připojení k síti, pokud dojde k převzetí služeb při selhání.

    • V závislosti na vašem požadavku zvolte směrovač provozu, který může distribuovat provoz napříč zónami nebo oblastmi. Tato architektura nasadí Azure Load Balancer , protože dokáže distribuovat provoz mimo web mezi zóny.
    • Pokud potřebujete distribuovat provoz napříč oblastmi, zvažte použití služby Azure Front Door.
  • Plánované a neplánované převzetí služeb při selhání

    • Při nastavování jednotlivých služeb Azure zvolte funkce, které podporují zotavení po havárii. Tato architektura například umožňuje azure Container Registry pro geografickou replikaci. I když oblast přestane fungovat, můžete i nadále načíst image z replikované oblasti.
  • Udržujte technické možnosti DevOps pro dosažení cílů na úrovni služeb.

  • Určete, jestli pro koncový bod serveru rozhraní API Kubernetes potřebujete finanční smlouvu SLA .

Doporučení k návrhu

Toto jsou osvědčené postupy pro váš návrh:

  • Pro fond systémových uzlů použijte tři uzly. Pro fond uzlů uživatele začněte s maximálně dvěma uzly. Pokud potřebujete vyšší dostupnost, nastavte více uzlů.

  • Izolujte aplikaci od systémových služeb tak, že ji umístíte do samostatného fondu uzlů. Díky tomu služby Kubernetes běží na vyhrazených uzlech a nekonkurují ostatním službám. Pomocí značek, popisků a taintů identifikujte fond uzlů k naplánování úloh.

  • Pravidelný provoz clusteru, například provádění včasných aktualizací, je zásadní pro spolehlivost. Mějte na paměti okno podpory pro verze Kubernetes v AKS a naplánujte aktualizace. Doporučuje se také monitorování stavu podů prostřednictvím sond.

  • Kdykoli je to možné, odeberte stav služby z kontejnerů. Místo toho použijte platformu Azure jako službu (PaaS), která podporuje replikaci mezi oblastmi.

  • Zajistěte prostředky podu. Důrazně doporučujeme, aby nasazení určila požadavky na prostředky podu. Plánovač pak může odpovídajícím způsobem naplánovat pod. Spolehlivost se vyhodnocuje, když nejsou naplánované pody.

  • Nastavte v nasazení několik replik pro zpracování přerušení, jako jsou selhání hardwaru. U plánovaných událostí, jako jsou aktualizace a upgrady, může rozpočet přerušení zajistit, aby existoval požadovaný počet replik podů pro zpracování očekávaného zatížení aplikace.

  • Vaše aplikace můžou pro svá data používat Azure Storage . Vzhledem k tomu, že vaše aplikace jsou rozložené do několika clusterů AKS v různých oblastech, je nutné zachovat synchronizaci úložiště. Tady jsou dva běžné způsoby replikace úložiště:

    • Asynchronní replikace založená na infrastruktuře
    • Asynchronní replikace založená na aplikacích
  • Odhad limitů podů Otestujte a nastavte směrný plán. Začněte se stejnými hodnotami pro požadavky a limity. Potom tyto hodnoty postupně vylaďte, dokud nenavážete prahovou hodnotu, která může způsobit nestabilitu v clusteru. Omezení podů je možné zadat v manifestech nasazení.

    Integrované funkce poskytují řešení složité úlohy zpracování selhání a přerušení v architektuře služeb. Tyto konfigurace pomáhají zjednodušit automatizaci návrhu i nasazení. Když organizace definovala standard pro smlouvu SLA, RTO a RPO, může k dosažení svých obchodních cílů použít integrované služby pro Kubernetes a Azure.

  • Nastavte rozpočty přerušení podů. Toto nastavení kontroluje, kolik replik v nasazení můžete během události aktualizace nebo upgradu snížit.

  • Vynucujte kvóty prostředků pro obory názvů služby. Kvóta prostředků v oboru názvů zajišťuje správné nastavení požadavků a limitů podů v nasazení.

    • Nastavení kvót prostředků na úrovni clusteru může způsobit problémy při nasazování partnerských služeb, které nemají správné požadavky a limity.
  • Uložte image kontejneru ve službě Azure Container Registry a geograficky replikujte registr do každé oblasti AKS.

  • Smlouva SLA pro dobu provozu umožňuje finančně zajištěnou vyšší smlouvu SLA pro všechny clustery hostující produkční úlohy. Smlouva SLA o provozuschopnosti zaručuje 99,95% dostupnost koncového bodu Serveru rozhraní API Kubernetes pro clustery, které využívají Zóny dostupnosti, a 99,9% dostupnost pro clustery, které Zóny dostupnosti nevyužívají. Vaše uzly, fondy uzlů a další prostředky jsou pokryté smlouvou SLA. AKS nabízí úroveň Free s cílem úrovně služby (SLO) 99,5 % pro komponenty řídicí roviny. Clustery bez povolené smlouvy SLA pro dobu provozu by se neměly používat pro produkční úlohy.

  • Pro připojení Azure ExpressRoute použijte více oblastí a umístění partnerského vztahu.

    Pokud dojde k výpadku, který ovlivňuje oblast Azure nebo umístění zprostředkovatele partnerského vztahu, může redundantní hybridní síťová architektura pomoct zajistit nepřerušované připojení mezi místními sítěmi.

  • Propojení oblastí s globálním partnerským vztahem virtuálních sítí Pokud se clustery potřebují vzájemně komunikovat, je možné vzájemné propojení obou virtuálních sítí dosáhnout prostřednictvím partnerského vztahu virtuálních sítí. Tato technologie vzájemně propojuje virtuální sítě a poskytuje velkou šířku pásma v páteřní síti Microsoftu i v různých geografických oblastech.

  • Azure Front Door pomocí protokolu anycast založeného na rozděleném protokolu TCP zajistí, aby se koncoví uživatelé okamžitě připojili k nejbližšímu bodu přítomnosti služby Front Door. Mezi další funkce služby Azure Front Door patří:

    • Ukončení šifrování TLS
    • Vlastní doména
    • Firewall webových aplikací
    • Přepsání adresy URL
    • Spřažení relací

    Zkontrolujte potřeby provozu vaší aplikace a zjistěte, které řešení je nejvhodnější.