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

Kubernetes je relativně nová technologie, která se rychle vyvíjí s působivým ekosystémem. Proto může být obtížné ji spravovat a chránit.

Standardní hodnoty operací 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í.

Na co dát pozor při navrhování

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

  • Mějte na paměti limity AKS. Pokud chcete škálovat nad rámec těchto limitů, použijte několik 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ů úlohami.
  • Mějte na paměti způsoby, jak kubernetes pochopit stav vašich úloh.
  • Mějte na paměti různé velikosti virtuálních počítačů a dopad použití jednoho nebo druhého počítače. Větší virtuální počítače zvládnou větší zatížení. Menší virtuální počítače lze snadněji 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ě, které umožňují virtuální počítače různých velikostí 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ů, takže je pro vaše úlohy k dispozici více prostředků.
  • 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 jeho stavu, trendech a potenciálních problémech.
  • Na základě monitorování a protokolování může Kubernetes nebo aplikace spuštěné nad ní vygenerovat mnoho událostí. Výstrahy můžou pomoct rozlišovat mezi položkami protokolu pro historické účely a položkami, které vyžadují okamžitou akci.
  • Mějte na paměti aktualizace a upgrady, které byste měli udělat. Na úrovni Kubernetes existují hlavní verze, podverze a verze oprav. Zákazník by měl tyto aktualizace 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ásady 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. Možná budete 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:

  • Pomocí logické izolace na úrovni oboru názvů můžete oddělit aplikace, týmy, prostředí a organizační jednotky. Izolace víceklientských a clusterů. Fondy uzlů také můžou pomoct v uzlech s různými specifikacemi uzlů a údržba, jako je Kubernetes, upgraduje 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 omezení, odmítněte nasazení pomocí zásad atd. To se nevztahuje na pody kube-system, protože ne všechny pody kube-system mají požadavky a omezení. Monitorujte využití prostředků a podle potřeby upravte kvóty. Základní funkce plánovače

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

  • Použijte dostatečně velké velikosti virtuálních počítačů, aby obsahovaly více instancí kontejneru, takže získáte výhody zvýšené hustoty, ale ne tak velké, aby váš cluster nezvládl úlohy neúspěšného uzlu.

  • Použijte řešení monitorování. Přehledy kontejnerů služby Azure Monitor jsou ve výchozím nastavení nastavené a poskytují snadný přístup k mnoha přehledům. Integraci Prometheus můžete použít, pokud chcete přejít k podrobnostem nebo mít zkušenosti s používáním Prometheus. Pokud chcete také spustit monitorovací aplikaci v AKS, měli byste k monitorování této aplikace použít také Azure Monitor.

  • Upozornění na metriky Přehledy kontejnerů služby Azure Monitor použijte k poskytování oznámení v případech, kdy je potřeba provést přímou akci.

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

  • Azure Advisor vám umožní získat doporučení osvědčených postupů ohledně nákladů, zabezpečení, spolehlivosti, efektivity provozu a výkonu. K prevenci a detekci hrozeb, jako jsou ohrožení zabezpečení obrázků, použijte také Microsoft Defender pro cloud.

  • Pomocí Kubernetes s podporou Azure Arc můžete spravovat clustery Kubernetes, které nejsou AKS, v Azure pomocí Azure Policy, Defenderu pro cloud, GitOps atd.

  • Žádosti o pody a omezení použijte ke správě výpočetních prostředků v clusteru AKS. 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 nebo 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 její specifické požadavky. Tyto aplikační služby mají požadavky související s cílem doby obnovení (RTO) a cílem bodu obnovení (RPO). Při zotavení po havárii AKS je potřeba vzít v úvahu několik aspektů. Prvním krokem je definování smlouvy o úrovni služeb (SLA) pro vaši infrastrukturu a aplikaci. Přečtěte si o smlouvě SLA pro Azure Kubernetes Service (AKS). Informace o výpočtech měsíční doby provozu najdete v části Podrobnosti o smlouvě SLA .

Na co dát pozor při navrhování

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

  • Cluster AKS by měl používat více uzlů ve fondu uzlů, aby byla zajištěna minimální úroveň dostupnosti pro vaši aplikaci.

  • Nastavte požadavky a limity podů. Nastavení těchto limitů umožní Kubernetes:

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

    Díky lepšímu využití hardwaru můžou limity také zvýšit spolehlivost s nižšími náklady.

  • Vhodnost AKS pro Zóny dostupnosti nebo skupiny dostupnosti.

    • Zvolte oblast, která podporuje Zóny dostupnosti.
    • Zóny dostupnosti je možné nastavit pouze při vytvoření fondu uzlů a později se nedá změnit. Podpora multizone se vztahuje jenom na fondy uzlů.
    • Pro kompletní zónovou výhodu musí všechny závislosti služby 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.
    • Spusťte několik clusterů AKS v různých spárovaných oblastech pro zajištění vyšší dostupnosti nad rámec toho, čeho Zóny dostupnosti 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ářet zálohy aplikací a dat.

    • Nestavovou službu je možné 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 si aktualizace a údržbu.
  • Síťové připojení, pokud dojde k převzetí služeb při selhání.

    • Zvolte směrovač provozu, který může v závislosti na vašich požadavků distribuovat provoz mezi zóny nebo oblasti. Tato architektura nasadí Azure Load Balancer, protože může distribuovat provoz mimo web napříč zónami.
    • Pokud potřebujete distribuovat provoz mezi oblasti, 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 geografickou replikaci. Image z replikované oblasti můžete načíst i v případě, že oblast přestane fungovat.
  • Udržujte technické funkce DevOps, abyste dosáhli cílů na úrovni služeb.

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

Doporučení k návrhu

Níže jsou uvedené 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 nejméně dvěma uzly. Pokud potřebujete vyšší dostupnost, nastavte více uzlů.

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

  • Pro spolehlivost je zásadní pravidelná údržba clusteru, například provádění včasných aktualizací. Mějte na paměti okno podpory pro verze Kubernetes v AKS a naplánujte si aktualizace. Doporučuje se také monitorovat stav 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 ve více oblastech.

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

  • Nastavte v nasazení několik replik, které budou řešit výpadky, jako jsou selhání hardwaru. U plánovaných událostí, jako jsou aktualizace a upgrady, může rozpočet přerušení zajistit, že existuje 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 jsou vaše aplikace rozložené do několika clusterů AKS v různých oblastech, musíte udržovat úložiště synchronizované. 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 omezení podů. Otestujte a vytvořte směrný plán. Začněte se stejnými hodnotami pro požadavky a limity. Pak tyto hodnoty postupně vylaďte, dokud nenastavíte 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 sebrat.

  • 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ů pro 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 kontejnerů v Azure Container Registry a geograficky replikujte registr do jednotlivých oblastí AKS.

  • Smlouva SLA o provozuschopnosti umožňuje finančně zajištěnou vyšší smlouvu SLA pro všechny clustery, které hostují produkční úlohy. Smlouva SLA zaručuje 99,95% dostupnost koncového bodu serveru rozhraní Kubernetes API pro clustery, které používají Zóny dostupnosti, a 99,9 % dostupnosti pro clustery, které nepoužívají Zóny dostupnosti. Na vaše uzly, fondy uzlů a další prostředky se vztahuje jejich smlouva SLA. AKS nabízí úroveň Free s cílem úrovně služby (SLO) 99,5 % pro komponenty řídicí roviny. Clustery bez povolené smlouvy SLA 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í poskytovatele partnerského vztahu, může redundantní hybridní síťová architektura pomoct zajistit nepřerušované připojení mezi různými místy.

  • Propojení oblastí s globálním peeringem virtuálních sítí Pokud spolu clustery potřebují komunikovat, je možné vzájemně propojit obě virtuální sítě 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 napříč páteřní sítí Microsoftu, a to i napříč různými geografickými oblastmi.

  • Azure Front Door pomocí rozděleného protokolu anycast založeného na protokolu TCP zajišťuje, aby se koncoví uživatelé okamžitě připojili k nejbližšímu bodu 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ší.