Kontrola rozhraní Azure Well-Architected Framework – Azure Kubernetes Service (AKS)

Tento článek obsahuje osvědčené postupy architektury pro Azure Kubernetes Service (AKS). Pokyny vycházejí z pěti pilířů špičkové architektury:

  • Spolehlivost
  • Zabezpečení
  • Optimalizace nákladů
  • Efektivita provozu
  • Efektivita výkonu

Předpokládáme, že rozumíte principům návrhu systému, máte funkční znalosti Azure Kubernetes Service a dobře znáte jeho funkce. Další informace najdete v tématu Azure Kubernetes Service.

Požadavky

Pochopení pilířů Well-Architected Framework může pomoci vytvořit vysoce kvalitní, stabilní a efektivní cloudovou architekturu. Doporučujeme zkontrolovat úlohy pomocí posouzení azure Well-Architected Framework Review .

Pokud jde o kontext, zvažte kontrolu referenční architektury, která tyto aspekty odráží ve svém návrhu. Doporučujeme začít se základní architekturou clusteru Azure Kubernetes Service (AKS) a architekturou mikroslužeb na Azure Kubernetes Service. Projděte si také akcelerátor cílové zóny AKS, který poskytuje přístup k architektuře a referenční implementaci pro přípravu předplatných cílové zóny pro škálovatelný cluster Azure Kubernetes Service (AKS).

Spolehlivost

V cloudu bereme na vědomí, že dochází k selháním. Místo snahy kompletně zabránit selháním je cílem minimalizace dopadu selhání jedné komponenty. Následující informace použijte k minimalizaci neúspěšných instancí.

Při diskuzi o spolehlivosti s Azure Kubernetes Service je důležité rozlišovat mezi spolehlivostí clusteru a spolehlivostí úloh. Spolehlivost clusteru je sdílená odpovědnost mezi správcem clusteru a poskytovatelem prostředků, zatímco spolehlivost úloh je doménou vývojáře. Azure Kubernetes Service obsahuje důležité informace a doporučení pro obě tyto role.

V níže uvedeném kontrolním seznamu návrhu a seznamu doporučení se zobrazují popisky, které označují, jestli se jednotlivé možnosti vztahují na architekturu clusteru, architekturu úloh nebo obojí.

Kontrolní seznam návrhu

  • Architektura clusteru: Pro kritické úlohy použijte pro clustery AKS zóny dostupnosti .
  • Architektura clusteru: Naplánujte adresní prostor IP adres, abyste zajistili spolehlivé škálování clusteru, včetně zpracování provozu převzetí služeb při selhání v topologiích s více clustery.
  • Architektura clusteru: Povolte Container Insights k monitorování clusteru a konfiguraci výstrah pro události ovlivňující spolehlivost.
  • Architektura úloh: Ujistěte se, že jsou úlohy vytvořené tak, aby podporovaly horizontální škálování, a sestavy připravenosti a stavu aplikací.
  • Architektury clusteru a úloh: Ujistěte se, že vaše úloha běží ve fondech uživatelských uzlů, a zvolte skladovou položku správné velikosti. Zahrňte minimálně dva uzly pro fondy uzlů uživatelů a tři uzly pro systémový fond uzlů.
  • Architektura clusteru: Ke splnění cílů dostupnosti pro produkční úlohy použijte smlouvu SLA o dostupnosti AKS.

Doporučení ke konfiguraci AKS

Projděte si následující tabulku doporučení pro optimalizaci konfigurace AKS z hlediska spolehlivosti.

Doporučení Výhoda
Architektury clusteru a úloh: Řízení plánování podů pomocí selektorů uzlů a spřažení Umožňuje plánovači Kubernetes logicky izolovat úlohy podle hardwaru v uzlu. Na rozdíl od tolerance je možné pody bez odpovídajícího selektoru uzlů naplánovat na označených uzlech, což umožňuje využívání nepoužívaných prostředků na uzlech, ale dává prioritu podům, které definují odpovídající selektor uzlů. Použití spřažení uzlů pro větší flexibilitu, které vám umožní definovat, co se stane, když pod nebude možné spárovat s uzlem.
Architektura clusteru: Zajistěte správný výběr síťového modulu plug-in na základě požadavků na síť a velikosti clusteru. Azure CNI se vyžaduje pro konkrétní scénáře, například fondy uzlů založené na Windows, specifické požadavky na sítě a zásady sítě Kubernetes. Další informace najdete v tématu Kubenet a Azure CNI .
Architektury clusteru a úloh: Pro clustery produkční úrovně použijte smlouvu SLA o dostupnosti AKS . Smlouva SLA o dostupnosti AKS zaručuje:
- 99.95%dostupnost koncového bodu serveru rozhraní API Kubernetes pro clustery AKS, které používají Azure Zóny dostupnosti, nebo
- 99.9%dostupnost pro clustery AKS, které nepoužívají Azure Zóny dostupnosti.
Architektury clusteru a úloh: Nakonfigurujte monitorování clusteru pomocí Container Insights. Přehledy kontejnerů pomáhají monitorovat stav a výkon kontrolerů, uzlů a kontejnerů, které jsou dostupné v Kubernetes prostřednictvím rozhraní API metrik. Integrace s Prometheus umožňuje shromažďování metrik aplikací a úloh.
Architektura clusteru: Pomocí zón dostupnosti můžete maximalizovat odolnost v rámci oblasti Azure distribucí uzlů agenta AKS mezi fyzicky oddělená datacentra. Rozdělením fondů uzlů do více zón budou uzly v jednom fondu uzlů dál běžet, i když jiná zóna nefunguje. Pokud existují požadavky na kolokálnost, můžete k minimalizaci latence mezi uzly použít buď běžné nasazení AKS založené na VMSS do jedné zóny, nebo skupiny umístění bezkontaktní komunikace .
Architektura clusteru: Nasaďte clustery AKS nasazené v různých oblastech Azure, abyste maximalizovali dostupnost a zajistili provozní kontinuitu. Internetové úlohy by k globálnímu směrování provozu napříč clustery AKS měly využívat Službu Azure Front Door nebo Azure Traffic Manager .
Architektury clusteru a úloh: Definujte požadavky na prostředky podů a omezení v manifestech nasazení aplikací a vynucujte je pomocí Azure Policy. Omezení prostředků procesoru a paměti kontejneru jsou nezbytná, aby se zabránilo vyčerpání prostředků v clusteru Kubernetes.
Architektury clusteru a úloh: Udržujte fond uzlů systému izolovaný od úloh aplikací. Fondy systémových uzlů vyžadují skladovou položku virtuálního počítače s minimálně 2 virtuálními procesory a 4 GB paměti, ale doporučuje se 4 vCPU nebo více. Podrobné požadavky najdete v referenčních informacích o fondech systémových a uživatelských uzlů .
Architektury clusteru a úloh: Oddělte aplikace na vyhrazené fondy uzlů na základě konkrétních požadavků. Aplikace můžou sdílet stejnou konfiguraci a potřebují virtuální počítače s podporou GPU, virtuální počítače optimalizované pro procesor nebo paměť nebo možnost škálování na nulu. Vyhněte se velkému počtu fondů uzlů, abyste snížili další režii na správu.
Architektura clusteru: Službu NAT Gateway použijte pro clustery, ve kterých běží úlohy, které provádějí mnoho souběžných odchozích připojení. Abychom se vyhnuli problémům se spolehlivostí s Azure Load Balancer omezeními s vysokým souběžným odchozím provozem, místo toho podporujeme službu NAT Gateway, která podporuje spolehlivý odchozí provoz ve velkém měřítku.

Další návrhy najdete v tématu Principy pilíře spolehlivosti.

Azure Policy

Azure Kubernetes Service nabízí širokou škálu předdefinovaných zásad Azure, které platí jak pro prostředky Azure, jako jsou typické zásady Azure, tak i v rámci clusteru pomocí doplňku Azure Policy pro Kubernetes. Existuje mnoho zásad a klíčové zásady související s tímto pilířem jsou shrnuté tady. Podrobnější zobrazení najdete v tématu o předdefinovaných definicích zásad pro Kubernetes.

Architektura clusteru a úloh

Kromě předdefinovaných definic Azure Policy je možné vytvořit vlastní zásady pro prostředek AKS i pro doplněk Azure Policy pro Kubernetes. To vám umožní přidat další omezení spolehlivosti, která chcete vynutit v clusteru a architektuře úloh.

Zabezpečení

Zabezpečení je nejdůležitějším aspektem jakékoli architektury. Pokud chcete zjistit, jak může AKS posílit zabezpečení úloh aplikace, doporučujeme projít si principy návrhu zabezpečení. Pokud váš cluster Azure Kubernetes Service musí být navržený tak, aby běžel s citlivými úlohami, které splňují zákonné požadavky standardu PCI-DSS (Payment Card Industry Data Security Standard) (PCI-DSS 3.2.1), přečtěte si téma o regulovaném clusteru AKS pro PCI-DSS 3.2.1.

Další informace o podpoře a požadavcích na dod impact level 5 (IL5) v AKS najdete v tématu Azure Government požadavky na izolaci IL5.

Při diskuzi o zabezpečení s Azure Kubernetes Service je důležité rozlišovat mezi zabezpečením clusteru a zabezpečením úloh. Zabezpečení clusteru je sdílená odpovědnost mezi správcem clusteru a jeho poskytovatelem prostředků, zatímco zabezpečení úloh je doménou vývojáře. Azure Kubernetes Service obsahuje důležité informace a doporučení pro obě tyto role.

V níže uvedeném kontrolním seznamu návrhu a seznamu doporučení se zobrazují popisky, které označují, jestli se jednotlivé možnosti vztahují na architekturu clusteru, architekturu úloh nebo obojí.

Kontrolní seznam návrhu

  • Architektura clusteru: Pomocí spravovaných identit se vyhněte správě a obměně principů služeb.
  • Architektura clusteru: Řízení přístupu na základě role (RBAC) Kubernetes s Microsoft Entra ID pro přístup s nejnižšími oprávněními a minimalizaci udělování oprávnění správce kvůli ochraně konfigurace a přístupu k tajným kódům.
  • Architektura clusteru: Pomocí Microsoft Defender pro kontejnery se službou Azure Sentinel můžete detekovat hrozby v clusteru a úlohách, které na nich běží, a rychle na ně reagovat.
  • Architektura clusteru: Nasaďte privátní cluster AKS, abyste zajistili, že provoz správy clusteru na server rozhraní API zůstane ve vaší privátní síti. Nebo použijte seznam povolených serverů rozhraní API pro jiné než privátní clustery.
  • Architektura úloh: K zabezpečení provozu HTTP(S) použijte Web Application Firewall.
  • Architektura úloh: Ujistěte se, že váš kanál CI/CID je posílený prohledáváním s využitím kontejnerů.

Doporučení

Projděte si následující tabulku doporučení pro optimalizaci konfigurace AKS z hlediska zabezpečení.

Doporučení Výhoda
Architektura clusteru: Použijte Microsoft Entra integraci. Použití Microsoft Entra ID centralizuje komponentu správy identit. Všechny změny stavu uživatelského účtu nebo skupiny se automaticky aktualizují v přístupu ke clusteru AKS. Vývojáři a vlastníci aplikací vašeho clusteru Kubernetes potřebují přístup k různým prostředkům.
Architektura clusteru: Ověřte se pomocí Microsoft Entra ID Azure Container Registry. AKS a Microsoft Entra ID umožňují ověřování pomocí Azure Container Registry bez použití tajných kódůimagePullSecrets. Další informace najdete v tématu Ověřování pomocí Azure Container Registry z Azure Kubernetes Service.
Architektura clusteru: Zabezpečte síťový provoz na server rozhraní API pomocí privátního clusteru AKS. Ve výchozím nastavení síťový provoz mezi fondy uzlů a serverem rozhraní API prochází páteřní sítí Microsoftu. pomocí privátního clusteru můžete zajistit, aby síťový provoz směřující na server rozhraní API zůstal pouze v privátní síti.
Architektura clusteru: V případě nesoukromého clusteru AKS použijte rozsahy IP adres autorizované serverem ROZHRANÍ API. Při použití veřejných clusterů můžete dál omezit provoz, který se může dostat na server rozhraní API clusteru, pomocí funkce autorizovaného rozsahu IP adres. Zahrnout zdroje, jako jsou veřejné IP adresy agentů sestavení nasazení, správa operací a výstupní bod fondů uzlů (například Azure Firewall).
Architektura clusteru: Chraňte server rozhraní API pomocí Microsoft Entra RBAC. Zabezpečení přístupu k serveru rozhraní API Kubernetes je jednou z nejdůležitějších věcí, které můžete pro zabezpečení clusteru udělat. Integrujte řízení přístupu na základě role (RBAC) Kubernetes s Microsoft Entra ID pro řízení přístupu k serveru rozhraní API. Pokud chcete vynutit veškerý přístup ke clusteru pomocí identit založených na Microsoft Entra ID, zakažte místní účty.
Architektura clusteru: Použijte zásady sítě Azure nebo Calico. Zabezpečení a řízení síťového provozu mezi pody v clusteru
Architektura clusteru: Zabezpečení clusterů a podů pomocí Azure Policy Azure Policy vám může pomoct centralizovaným a konzistentním způsobem aplikovat na clustery vynucování a ochranu ve velkém měřítku. Může také řídit, jaké pody funkcí se udělují a jestli něco není v rozporu se zásadami společnosti.
Architektura clusteru: Zabezpečený přístup ke kontejnerům k prostředkům Omezte přístup k akcím, které můžou kontejnery provádět. Poskytněte nejnižší počet oprávnění a vyhněte se použití kořenové nebo privilegované eskalace.
Architektura úloh: K zabezpečení provozu HTTP(S) použijte Web Application Firewall. Pokud chcete zkontrolovat potenciální útoky v příchozím provozu, použijte firewall webových aplikací, jako je Azure Web Application Firewall (WAF) na Azure Application Gateway nebo Azure Front Door.
Architektura clusteru: Řízení výchozího provozu clusteru Ujistěte se, že odchozí provoz vašeho clusteru prochází přes bod zabezpečení sítě, jako je Azure Firewall nebo proxy server HTTP.
Architektura clusteru: Použijte open source ovladač CSI úložiště ID úloh Microsoft Entra a úložiště tajných kódů s Azure Key Vault. Chraňte a obměňte tajné kódy, certifikáty a připojovací řetězce v Azure Key Vault pomocí silného šifrování. Poskytuje protokol auditu přístupu a uchovává základní tajné kódy mimo kanál nasazení.
Architektura clusteru: Použijte Microsoft Defender pro kontejnery. Monitorujte a udržujte zabezpečení clusterů, kontejnerů a jejich aplikací.

Další návrhy najdete v tématu Principy pilíře zabezpečení.

Azure Advisor pomáhá zajistit a vylepšit službu Azure Kubernetes. Poskytuje doporučení pro podmnožinu položek uvedených v části zásad níže, jako jsou clustery bez nakonfigurovaného řízení přístupu na základě role, chybějící konfigurace Microsoft Defender, neomezený síťový přístup k serveru rozhraní API. Podobně vytváří doporučení pro úlohy pro některé položky iniciativy zabezpečení podů. Projděte si doporučení.

Definice zásad

Azure Policy nabízí různé předdefinované definice zásad, které platí pro prostředek Azure i AKS, jako jsou standardní definice zásad a použití doplňku Azure Policy pro Kubernetes, a to i v rámci clusteru. Mnoho zásad prostředků Azure je k dispozici ve variantě Audit/Odepřít, ale také ve variantě Nasazení, pokud neexistuje .

Existuje mnoho zásad a klíčové zásady související s tímto pilířem jsou zde shrnuty. Podrobnější zobrazení najdete v tématu Předdefinované definice zásad pro Kubernetes.

Architektura clusteru

  • Microsoft Defender pro cloudové zásady
  • Režim ověřování a zásady konfigurace (Microsoft Entra ID, RBAC, zákaz místního ověřování)
  • Zásady síťového přístupu serveru API, včetně privátního clusteru

Architektura clusteru a úloh

  • Iniciativy zabezpečení podů clusteru Kubernetes pro linuxové úlohy
  • Zahrnutí zásad schopností podů a kontejnerů, jako jsou AppArmor, sysctl, bezpečnostní caps, SELinux, seccomp, privilegované kontejnery, přihlašovací údaje rozhraní API pro automatické připojení clusteru
  • Připojení, ovladače svazků a zásady systému souborů
  • Zásady sítě pro pody a kontejnery, jako jsou hostitelská síť, port, povolené externí IP adresy, protokolY HTTPs a interní nástroje pro vyrovnávání zatížení

Azure Kubernetes Service nasazení často také používají Azure Container Registry pro diagramy Helm a image kontejnerů. Azure Container Registry také podporuje širokou škálu zásad Azure, které zahrnují omezení sítě, řízení přístupu a Microsoft Defender pro cloud, které doplňují zabezpečenou architekturu AKS.

Kromě předdefinovaných zásad je možné vytvořit vlastní zásady pro prostředek AKS i pro doplněk Azure Policy pro Kubernetes. To vám umožní přidat další bezpečnostní omezení, která chcete vynutit v clusteru a architektuře úloh.

Další návrhy najdete v tématu Koncepty zabezpečení AKS a vyhodnoťte naše doporučení k posílení zabezpečení na základě srovnávacího testu CIS Kubernetes.

Optimalizace nákladů

Optimalizace nákladů spočívá v pochopení různých možností konfigurace a doporučených osvědčených postupů, abyste snížili zbytečné výdaje a zlepšili provozní efektivitu. Než budete postupovat podle pokynů v tomto článku, doporučujeme, abyste si prostudovali následující zdroje informací:

Při diskuzi o optimalizaci nákladů pomocí Azure Kubernetes Service je důležité rozlišovat mezi náklady na prostředky clusteru a náklady na prostředky úloh. Prostředky clusteru jsou sdíleny mezi správcem clusteru a jeho poskytovatelem prostředků, zatímco prostředky úloh jsou doménou vývojáře. Azure Kubernetes Service obsahuje důležité informace a doporučení pro obě tyto role.

V kontrolním seznamu návrhu a v seznamu doporučení se zobrazují popisky, které označují, jestli se jednotlivé volby vztahují na architekturu clusteru, architekturu úloh nebo obojí.

Pokud chcete optimalizovat náklady na clustery, přejděte na cenovou kalkulačku Azure a z dostupných produktů vyberte Azure Kubernetes Service. V kalkulačce můžete otestovat různé konfigurace a platební plány.

Kontrolní seznam návrhu

  • Architektura clusteru: Použijte odpovídající skladovou položku virtuálního počítače pro fond uzlů a rezervované instance, u kterých se očekává dlouhodobá kapacita.
  • Architektury clusteru a úloh: Použijte odpovídající úroveň a velikost spravovaného disku.
  • Architektura clusteru: Projděte si metriky výkonu počínaje procesorem, pamětí, úložištěm a sítí a identifikujte příležitosti k optimalizaci nákladů podle clusteru, uzlů a oboru názvů.
  • Architektura clusteru a úloh: Pokud jsou úlohy méně aktivní, použijte automatické škálování.

Doporučení

Projděte si následující tabulku doporučení pro optimalizaci konfigurace AKS z hlediska nákladů.

Doporučení Výhoda
Architektury clusteru a úloh: Srovnejte výběr skladové položky a velikost spravovaného disku s požadavky úloh. Přizpůsobení výběru požadavkům úloh zajistí, že nebudete platit za nepotřebné prostředky.
Architektura clusteru: Vyberte správný typ instance virtuálního počítače. Výběr správného typu instance virtuálního počítače je velmi důležitý, protože přímo ovlivňuje náklady na provoz aplikací v AKS. Výběr vysoce výkonné instance bez řádného využití může vést k zbytečným výdajům, zatímco výběr výkonné instance může vést k problémům s výkonem a zvýšeným výpadkům. Pokud chcete určit správný typ instance virtuálního počítače, zvažte charakteristiky úloh, požadavky na prostředky a požadavky na dostupnost.
Architektura clusteru: Vyberte virtuální počítače na základě architektury ARM. AKS podporuje vytváření uzlů agenta ARM64 Ubuntu a také kombinaci uzlů architektury Intel a ARM v rámci clusteru, které můžou přinést lepší výkon při nižších nákladech.
Architektura clusteru: Vyberte Azure Spot Virtual Machines. Spotové virtuální počítače umožňují využívat nevyužitou kapacitu Azure s významnými slevami (až 90 % oproti cenám s průběžnými platbami). Pokud Azure potřebuje kapacitu zpět, infrastruktura Azure spotové uzly vyřadí.
Architektura clusteru: Vyberte příslušnou oblast. Kvůli mnoha faktorům se náklady na prostředky liší podle oblasti v Azure. Vyhodnoťte požadavky na náklady, latenci a dodržování předpisů, abyste měli jistotu, že vaše úloha běží nákladově efektivně a nemá to vliv na vaše koncové uživatele ani za další poplatky za sítě.
Architektura úloh: Udržujte malé a optimalizované image. Streamování imagí pomáhá snižovat náklady, protože nové uzly potřebují tyto image stahovat. Sestavte image způsobem, který umožní spuštění kontejneru co nejdříve, aby se zabránilo selháním nebo vypršením časových limitů uživatelských požadavků při spouštění aplikace, což může vést k nadměrnému zřizování.
Architektura clusteru:Povolením automatického škálování clusteru automaticky snížíte počet uzlů agentů v reakci na nadbytečnou kapacitu prostředků. Automatické vertikální snížení kapacity počtu uzlů v clusteru AKS umožňuje provozovat efektivní cluster, když je poptávka nízká, a vertikálně navyšovat kapacitu, když se poptávka vrátí.
Architektura clusteru: Pokud chcete automatizovat výběr skladové položky virtuálního počítače, povolte automatické zřizování uzlů. Automatické zřizování uzlů zjednodušuje proces výběru skladové položky a na základě čekajících požadavků na prostředky podu rozhoduje o optimální konfiguraci virtuálního počítače pro spouštění úloh co nejefektivnějším a nákladově nejefektivnějším způsobem.
Architektura úloh: Použijte horizontální automatické škálování podů. Počet podů v nasazení upravte v závislosti na využití procesoru nebo jiných vybraných metrikách, které podporují operace škálování clusteru na více instancí.
Architektura úloh: Použití vertikálního automatického škálování podů (Preview) Umisněte své pody do práv a dynamicky nastavte požadavky a limity na základě historického využití.
Architektura úloh: Použijte automatické škálování řízené událostmi Kubernetes (KEDA). Škálování závisí na počtu zpracovávaných událostí. Vyberte si z bohatého katalogu více než 50 škálovačů KEDA.
Architektury clusteru a úloh: Osvojte si cloudovou finanční disciplínu a kulturní postupy pro řízení vlastnictví využití cloudu. Základem povolení optimalizace nákladů je rozložení clusteru, který šetří náklady. Přístup k finančním operacím (FinOps) se často používá k tomu, aby organizacím pomohl snížit náklady na cloud. Jedná se o praxi zahrnující spolupráci mezi finančními, provozními a technickými týmy, aby bylo možné zajistit soulad s cíli úspory nákladů a zajistit transparentnost nákladů na cloud.
Architektura clusteru: Zaregistrujte se k rezervacím Azure nebo úsporám Azure. Pokud jste kapacitu správně naplánovali, vaše úloha je předvídatelná a existuje delší dobu, zaregistrujte si rezervaci Azure nebo plán úspor , abyste dále snížili náklady na prostředky.
Architektura clusteru: Nakonfigurujte monitorování clusteru pomocí Container Insights. Přehledy kontejnerů poskytují užitečné přehledy o nečinných a nepřidělených prostředcích clusterů. Container Insights také podporuje shromažďování metrik Prometheus a integraci se službou Azure Managed Grafana, která umožňuje získat ucelený přehled o vaší aplikaci a infrastruktuře.
Architektura clusteru: Nakonfigurujte doplněk Analýza nákladů AKS. Rozšíření clusteru analýzy nákladů umožňuje získat podrobný přehled o nákladech spojených s různými prostředky Kubernetes v clusterech nebo oborech názvů.

Další návrhy najdete v tématech Principy pilíře optimalizace nákladů a Optimalizace nákladů v Azure Kubernetes Service.

Definice zásad

I když neexistují žádné předdefinované zásady, které souvisejí s optimalizací nákladů, je možné vytvořit vlastní zásady pro prostředek AKS i pro doplněk Azure Policy pro Kubernetes. To vám umožní přidat další omezení optimalizace nákladů, která chcete vynutit v clusteru a architektuře úloh.

Efektivita cloudu

Zajištění větší udržitelnosti a efektivity cloudových úloh vyžaduje kombinaci úsilí souvisejícího s optimalizací nákladů, snížením emisí uhlíku a optimalizací spotřeby energie. Optimalizace nákladů na aplikaci je počátečním krokem k zajištění větší udržitelnosti úloh.

V tématu Principy udržitelného softwarového inženýrství v Azure Kubernetes Service (AKS) se dozvíte, jak vytvářet udržitelné a efektivní úlohy AKS.

Efektivita provozu

Monitorování a diagnostika jsou zásadní. Můžete nejen měřit statistiky výkonu, ale také používat metriky pro řešení potíží a rychle je opravovat. Doporučujeme, abyste si prostudovali principy návrhu provozní excelence a provozní příručku Day-2.

Při diskuzi o efektivitě provozu s Azure Kubernetes Service je důležité rozlišovat mezi efektivitou provozu clusteru a efektivitou provozu úloh. Operace clusteru jsou sdílenou odpovědností mezi správcem clusteru a jeho poskytovatelem prostředků, zatímco operace úloh jsou doménou vývojáře. Azure Kubernetes Service obsahuje důležité informace a doporučení pro obě tyto role.

V níže uvedeném kontrolním seznamu návrhu a seznamu doporučení se zobrazují popisky, které označují, jestli se jednotlivé možnosti vztahují na architekturu clusteru, architekturu úloh nebo obojí.

Kontrolní seznam návrhu

  • Architektura clusteru: Použijte nasazení založené na šablonách pomocí bicepu, Terraformu nebo jiných. Ujistěte se, že všechna nasazení jsou opakovatelná, sledovatelná a uložená v úložišti zdrojového kódu.
  • Architektura clusteru: Vytvořte automatizovaný proces, abyste zajistili, že se clustery spustí s potřebnými konfiguracemi a nasazeními v rámci celého clusteru. Často se to provádí pomocí GitOps.
  • Architektura úloh: V rámci životního cyklu vývoje softwaru používejte pro úlohy opakovatelné a automatizované procesy nasazení.
  • Architektura clusteru: Povolte nastavení diagnostiky, abyste zajistili, že se protokolují interakce řídicí roviny nebo základního serveru rozhraní API.
  • Architektury clusteru a úloh: Povolte Container Insights shromažďovat metriky, protokoly a diagnostiku, abyste mohli monitorovat dostupnost a výkon clusteru a úloh, které na něm běží.
  • Architektura úloh: Úloha by měla být navržená tak, aby vysílala telemetrická data, která se dají shromažďovat, což by mělo zahrnovat také stav aktuálnosti a připravenosti.
  • Architektury clusteru a úloh: Pomocí postupů přípravy chaosu, které cílí na Kubernetes, identifikujte problémy se spolehlivostí aplikací nebo platforem.
  • Architektura úloh: Optimalizujte úlohu tak, aby efektivně fungovala a nasadí v kontejneru.
  • Architektury clusteru a úloh: Vynucujte zásady správného řízení clusteru a úloh pomocí Azure Policy.

Doporučení

Projděte si následující tabulku doporučení pro optimalizaci konfigurace AKS pro operace.

Doporučení Výhoda
Architektury clusteru a úloh: Projděte si dokumentaci k osvědčeným postupům AKS . Pokud chcete v AKS úspěšně sestavovat a spouštět aplikace, je potřeba pochopit a implementovat klíčové aspekty. Mezi tyto oblasti patří funkce více tenantů a plánovačů, zabezpečení clusterů a podů nebo provozní kontinuita a zotavení po havárii.
Architektury clusteru a úloh: Projděte si téma Azure Chaos Studio. Azure Chaos Studio může pomoct simulovat chyby a aktivovat situace zotavení po havárii.
Architektury clusteru a úloh: Nakonfigurujte monitorování clusteru pomocí Container Insights. Přehledy kontejnerů pomáhají monitorovat výkon kontejnerů tím, že shromažďují metriky paměti a procesoru z kontrolerů, uzlů a kontejnerů, které jsou dostupné v Kubernetes prostřednictvím rozhraní API metrik a protokolů kontejnerů.
Architektura úloh: Monitorování výkonu aplikací pomocí Azure Monitoru Nakonfigurujte Application Insights pro monitorování aplikací spuštěných v clusteru AKS na základě kódu.
Architektura úloh: Nakonfigurujte scrapování metrik Prometheus pomocí container insights. Přehledy kontejnerů, které jsou součástí služby Azure Monitor, poskytují bezproblémové prostředí pro onboarding pro shromažďování metrik Prometheus. Další informace najdete v tématu Konfigurace scrapování metrik Prometheus .
Architektura clusteru: Nasaďte clustery AKS nasazené v různých oblastech Azure, abyste maximalizovali dostupnost a zajistili provozní kontinuitu. Internetové úlohy by k globálnímu směrování provozu napříč clustery AKS měly využívat Službu Azure Front Door nebo Azure Traffic Manager .
Architektura clusteru: Zprovoznění standardů konfigurace clusterů a podů pomocí Azure Policy Azure Policy vám může pomoct centralizovaným a konzistentním způsobem použít vynucování a zabezpečení na clusterech ve velkém měřítku. Může také řídit, jaké funkce se udělují podům a jestli něco běží proti firemním zásadám.
Architektura úloh: Využijte možnosti platformy v procesu přípravy verzí. Kontrolery Kubernetes a příchozího přenosu dat podporují mnoho pokročilých vzorů nasazení pro zahrnutí do procesu přípravy verzí. Zvažte vzory, jako jsou modrozelená nasazení nebo kanárové verze.
Architektury clusteru a úloh: V případě kritických úloh použijte modrá/zelená nasazení na úrovni razítka. Automatizujte klíčové oblasti návrhu, včetně nasazení a testování.

Další návrhy najdete v tématu Principy pilíře provozní excelence.

Azure Advisor také poskytuje doporučení pro podmnožinu položek uvedených v části zásad níže, jako jsou nepodporované verze AKS a nenakonfigurovaná nastavení diagnostiky. Stejně tak poskytuje doporučení pro úlohy týkající se použití výchozího oboru názvů.

Definice zásad

Azure Policy nabízí různé předdefinované definice zásad, které platí pro prostředek Azure i AKS, jako jsou standardní definice zásad, a použití doplňku Azure Policy pro Kubernetes, a to i v rámci clusteru. Mnoho zásad prostředků Azure je k dispozici ve variantě Audit/Odepřít, ale také ve variantě Nasazení, pokud neexistuje .

Existuje mnoho zásad a klíčové zásady související s tímto pilířem jsou shrnuté tady. Podrobnější zobrazení najdete v tématu o předdefinovaných definicích zásad pro Kubernetes.

Architektura clusteru

  • Azure Policy doplněk pro Kubernetes
  • Zásady konfigurace GitOps
  • Zásady nastavení diagnostiky
  • Omezení verzí AKS
  • Zabránění vyvolání příkazu

Architektura clusteru a úloh

  • Omezení nasazení oboru názvů

Kromě předdefinovaných zásad je možné vytvořit vlastní zásady pro prostředek AKS i pro doplněk Azure Policy pro Kubernetes. To vám umožní přidat další omezení zabezpečení, která chcete vynutit v clusteru a architektuře úloh.

Efektivita výkonu

Efektivita výkonu je schopnost úlohy škálovat se tak, aby efektivním způsobem splňovala požadavky, které na ni kladou uživatelé. Doporučujeme projít si principy efektivity výkonu.

Při diskuzi o výkonu s Azure Kubernetes Service je důležité rozlišovat mezi výkonem clusteru a výkonem úloh. Výkon clusteru je sdílená odpovědnost mezi správcem clusteru a jeho poskytovatelem prostředků, zatímco výkon úloh je doménou vývojáře. Azure Kubernetes Service obsahuje důležité informace a doporučení pro obě tyto role.

V níže uvedeném kontrolním seznamu návrhu a seznamu doporučení se zobrazují popisky, které označují, jestli se jednotlivé možnosti vztahují na architekturu clusteru, architekturu úloh nebo obojí.

Kontrolní seznam návrhu

Při rozhodování o návrhu pro Azure Kubernetes Service si projděte principy efektivity výkonu.

  • Architektury clusteru a úloh: Proveďte a iterujte na podrobném cvičení plánu kapacity, které zahrnuje důležité informace o skladové položce, nastavení automatického škálování, adresování IP adres a převzetí služeb při selhání.
  • Architektura clusteru: Povolte automatickému škálování clusteru , aby automaticky upravil počet uzlů agentů v reakci na požadavky úloh.
  • Architektura clusteru: Pomocí horizontálního automatického škálování podů můžete upravit počet podů v nasazení v závislosti na využití procesoru nebo jiných metrikách výběru.
  • Architektury clusteru a úloh: Provádění průběžných zátěžových testů, které provádějí automatické škálování podu i clusteru.
  • Architektury clusteru a úloh: Rozdělte úlohy do různých fondů uzlů, které umožňují nezávislé škálování.

Doporučení

Projděte si následující tabulku doporučení pro optimalizaci konfigurace Azure Kubernetes Service z hlediska výkonu.

Doporučení Výhoda
Architektury clusteru a úloh: Vytvořte podrobný plán kapacity a průběžně ho revidujte a revidujte. Po formalizaci plánu kapacity by se měl často aktualizovat průběžným sledováním využití prostředků clusteru.
Architektura clusteru: Povolte automatické škálování clusteru , aby automaticky upravil počet uzlů agentů v reakci na omezení prostředků. Schopnost automaticky vertikálně navýšit nebo snížit počet uzlů v clusteru AKS vám umožní spustit efektivní a nákladově efektivní cluster.
Architektury clusteru a úloh: Rozdělte úlohy do různých fondů uzlů a zvažte škálování fondů uzlů uživatelů. Na rozdíl od fondů systémových uzlů, které vždy vyžadují spuštěné uzly, umožňují fondy uživatelských uzlů vertikálně navýšit nebo snížit kapacitu.
Architektura úloh: Použijte pokročilé funkce plánovače AKS. Pomáhá řídit vyrovnávání prostředků pro úlohy, které je vyžadují.
Architektura úloh: Používejte smysluplné metriky škálování úloh. Ne všechna rozhodnutí o škálování se dají odvodit z metrik procesoru nebo paměti. Aspekty škálování často vycházejí ze složitějších nebo dokonce externích datových bodů. Pomocí FUNKCE KEDA můžete vytvořit smysluplnou sadu pravidel automatického škálování na základě signálů, které jsou specifické pro vaši úlohu.

Další návrhy najdete v tématu Principy pilíře efektivity výkonu.

Definice zásad

Azure Policy nabízí různé předdefinované definice zásad, které platí pro prostředek Azure i AKS, jako jsou standardní definice zásad, a použití doplňku Azure Policy pro Kubernetes, a to i v rámci clusteru. Mnoho zásad prostředků Azure je k dispozici ve variantě Audit/Odepřít, ale také ve variantě Nasazení, pokud neexistuje .

Existuje mnoho zásad a klíčové zásady související s tímto pilířem jsou shrnuté tady. Podrobnější zobrazení najdete v tématu o předdefinovaných definicích zásad pro Kubernetes.

Architektura clusteru a úloh

  • Omezení prostředků procesoru a paměti

Kromě předdefinovaných zásad je možné vytvořit vlastní zásady pro prostředek AKS i pro doplněk Azure Policy pro Kubernetes. To vám umožní přidat další omezení zabezpečení, která chcete vynutit v clusteru a architektuře úloh.

Další materiály

Pokyny k Centru architektury Azure

Pokyny k architektuře Cloud Adoption Framework

Další kroky