Perspektiva architektury Azure Well-Architected ve službě Azure Kubernetes Service (AKS)
Azure Kubernetes Service (AKS) je spravovaná služba Kubernetes, kterou můžete použít k nasazení a správě kontejnerizovaných aplikací. Podobně jako jiné spravované služby a AKS přesměruje většinu provozních režijních nákladů do Azure a současně poskytuje pro úlohy funkce vysoké dostupnosti, škálovatelnosti a přenositelnosti.
Tento článek předpokládá, že jste jako architekt zkontrolovali rozhodovací strom výpočetních prostředků a jako výpočetní prostředky pro vaši úlohu zvolili AKS. Pokyny v tomto článku poskytují architektonická doporučení, která jsou mapována na principy pilířů Azure Well-Architected Framework.
Důležitý
Jak používat tohoto průvodce
Každá část obsahuje kontrolní seznam návrhu, který představuje architektonické oblasti zájmu spolu se strategiemi návrhu lokalizovanými do oboru technologie.
Součástí jsou také doporučení pro technologické možnosti, které můžou pomoct materializovat tyto strategie. Doporučení nepředstavují vyčerpávající seznam všech konfigurací, které jsou k dispozici pro AKS a jejich závislosti. Místo toho uvedou seznam klíčových doporučení vztahujících se k perspektivám návrhu. Pomocí doporučení můžete vytvořit testování konceptu nebo optimalizovat vaše stávající prostředí.
Základní architektura, která ukazuje klíčová doporučení: základní architektura AKS.
oboru technologie
Tato kontrola se zaměřuje na vzájemně nesouvisející rozhodnutí pro následující prostředky Azure:
- AKS
Při diskusi o osvědčených postupech pilířů rámce Well-Architected pro AKS je důležité rozlišovat mezi clustery a úlohami . Osvědčené postupy clusteru jsou sdílenou odpovědností mezi správcem clusteru a poskytovatelem prostředků, zatímco osvědčené postupy úloh jsou doménou vývojáře. Tento článek obsahuje důležité informace a doporučení pro každou z těchto rolí.
Poznámka
Následující pilíře zahrnují kontrolní seznam návrhu a seznam doporučení, která označují, jestli je každá volba použitelná pro architekturu clusteru, architekturu úloh nebo obojí.
Spolehlivost
Účelem pilíře spolehlivosti je poskytovat nepřetržitou funkčnost budování dostatečné odolnosti a schopnost rychle se zotavit z selhání.
principy návrhu spolehlivosti poskytují základní strategii návrhu použitou pro jednotlivé komponenty, systémové toky a systém jako celek.
Kontrolní seznam návrhu
Zahajte strategii návrhu na základě kontrolního seznamu pro kontrolu návrhů z hlediska spolehlivosti. Určete její význam pro vaše obchodní požadavky a mějte přitom na paměti funkce AKS a jejich závislosti. Rozšiřte strategii tak, aby podle potřeby zahrnovala více přístupů.
(Cluster) sestavení redundance za účelem zlepšení odolnosti. Použití zón dostupnosti pro clustery AKS jako součást strategie odolnosti ke zvýšení dostupnosti při nasazení do jedné oblasti. Řada oblastí Azure poskytuje zóny dostupnosti. Zóny jsou dostatečně blízko, aby mezi nimi byla připojení s nízkou latencí, ale dostatečně daleko od sebe, aby se snížila pravděpodobnost, že místní výpadky ovlivní více než jednu zónu.
Pro důležité úlohy nasaďte několik clusterů napříč různými oblastmi Azure. Geograficky distribuováním clusterů AKS můžete dosáhnout vyšší odolnosti a minimalizovat účinky oblastních selhání. Strategie více oblastí pomáhá maximalizovat dostupnost a zajistit kontinuitu podnikových procesů. Internetové úlohy by měly používat Azure Front Door nebo Azure Traffic Manager ke směrování provozu napříč clustery AKS. Pro více informací viz víceregionální strategie.
Naplánujte adresní prostor IP adres tak, aby váš cluster dokázal spolehlivě škálovat a zpracovávat provoz při převzetí při selhání v topologiích s více clustery.
(Cluster a úloha) Monitorujte spolehlivost a celkové ukazatele stavu clusteru a úloh. Shromažďujte logy a metriky pro monitorování stavu úloh, identifikovat trendy výkonu a spolehlivosti a řešit problémy. Projděte si osvědčené postupy pro monitorování Kubernetes pomocí služby Azure Monitor a příručku pro modelování stavu Well-Architected pro úlohy, abyste navrhli řešení pro monitorování spolehlivosti a stavu pro vaše řešení AKS.
Ujistěte se, že jsou úlohy vytvořené tak, aby podporovaly horizontální škálování a hlásit připravenost a stav aplikace.
(Cluster a úloha) pody hostitelské aplikace ve fondech nodel uživatelů. Izolace systémových podů z úloh aplikací vám pomůže zajistit, aby základní služby AKS nebyly ovlivněny požadavky na prostředky nebo potenciální problémy způsobené úlohou, která spouští fondy uzlů uživatelů.
Ujistěte se, že vaše úloha běží na fondech uzlů uživatelů, a zvolte správnou velikost skladové položky. Minimálně zahrňte dva uzly pro fondy uzlů uživatelů a tři uzly pro fond systémových uzlů.
(Klastr a pracovní zátěž) Zohledněte do svých cílů dostupnosti a obnovy smlouvu o úrovni služeb (SLA) pro provozní dobu AKS. Pro definování cílů spolehlivosti a obnovy pro váš klastr a pracovní zátěž postupujte podle pokynů v Doporučení k definování cílů spolehlivosti. Pak formulujte návrh, který tyto cíle splňuje.
(Cluster a úloha) Chraňte clusterovou službu AKS pomocí služby Azure Backup uložením bodů obnovení do trezoru služby Backup a provedením obnovení během jakéhokoli scénáře havárie. Pokud chcete zálohovat a obnovovat kontejnerizované aplikace a data spuštěná v clusterech AKS, postupujte podle pokynů v přehledu zálohování AKS pro konfiguraci ochrany.
Doporučení
Doporučení | Výhoda |
---|---|
(Cluster a pracovní zátěž) Řízení plánování podů pomocí selektorů uzlů a vazby. V AKS může plánovač Kubernetes logicky izolovat úlohy podle hardwaru v uzlu. Na rozdíl od tolerancímohou být pody, které nemají odpovídající selektor uzlu, naplánovány na označených uzlech, ale priorita je udělena podům, které definují odpovídající selektor uzlu. |
Afinitu k uzlům má za následek větší flexibilitu, což umožňuje definovat, co se stane, když nelze přiřadit pod k žádnému uzlu. |
(Cluster) Zvolte odpovídající síťový modul plug-in na základě požadavků na síť a velikosti clusteru. Různé síťové moduly plug-in poskytují různé úrovně funkčnosti. Rozhraní Azure Container Networking Interface (Azure CNI) se vyžaduje pro konkrétní scénáře, jako jsou fondy uzlů se systémem Windows, některé síťové požadavky a zásady sítě Kubernetes. Další informace viz Kubenet versus Azure CNI. |
Správný síťový modul plug-in může pomoci zajistit lepší kompatibilitu a výkon. |
(Cluster a úloha) Použijte SLA dostupnosti AKS pro clustery na produkční úrovni. | Úloha může podporovat vyšší cíle dostupnosti z důvodu vyšších záruk dostupnosti koncového bodu serveru rozhraní API Kubernetes pro clustery AKS. |
(Cluster) Pomocí zón dostupnosti maximalizujte odolnost v rámci oblasti Azure tím, že distribuujete uzly agentů AKS mezi fyzicky oddělená datacentra. Pokud existují požadavky na kolokaci, použijte nasazení AKS založené na škálovacích sadách běžného virtuálního počítače v jedné zóně nebo použijte proximity placement groups k minimalizaci latence mezi uzly. |
Rozmístěním fondů uzlů napříč několika zónami budou uzly v jednom fondu dál fungovat i v případě, že dojde k výpadku jiné zóny. |
(Cluster a úloha) Definujte požadavky a omezení prostředků podů v manifestech nasazení aplikace. Vynucujte tato omezení pomocí služby Azure Policy. | Omezení prostředků procesoru kontejneru a paměti jsou nezbytná, aby se zabránilo vyčerpání prostředků v clusteru Kubernetes. |
(Cluster a pracovní zátěž) Udržujte fond systémových uzlů izolovaný od pracovních zátěží aplikací. Sady uzlů systému vyžadují virtuální počítač (VM) typu s alespoň 2 vCPU a 4 GB paměti. Doporučujeme použít 4 vCPU nebo více. Více informací najdete v části systémové a uživatelské uzlové fondy. |
Fond systémových uzlů hostuje důležité systémové pody, které jsou nezbytné pro řídicí rovinu clusteru. Když tyto systémové pody izolujete z úloh aplikací, pomůžete zajistit, aby základní služby nebyly ovlivněny požadavky na prostředky nebo potenciální problémy způsobené úlohou. |
(Cluster a pracovní zátěž) Oddělte aplikace do vyhrazených fondů uzlů na základě konkrétních požadavků. Vyhněte se velkému počtu skupin uzlů, abyste snížili náklady na správu. | Aplikace můžou sdílet stejnou konfiguraci a potřebují virtuální počítače s podporou GPU, procesor nebo paměťově optimalizované virtuální počítače nebo možnost škálování na nulu. Přiřazením fondů uzlů konkrétním aplikacím můžete zajistit, že každá aplikace získá prostředky, které potřebuje, aniž by byly prostředky přiděleny nadměrně nebo nevyužity. |
(Cluster) Pro clustery, které spouštějí úlohy vytvářející mnoho souběžných odchozích připojení, použijte NAT gateway . | Azure NAT Gateway podporuje spolehlivý příchozí provoz ve velkém měřítku a pomáhá vyhnout se problémům se spolehlivostí tím, že použije omezení Azure Load Balanceru na vysoký souběžný odchozí provoz. |
(Cluster a pracovní zátěž) Pomocí služby Azure Backup můžete chránit cluster AKS a obnovit do alternativních regionů během havárie. Azure Backup podporuje operace zálohování a obnovení kontejnerizovaných aplikací a dat pro stav clusteru i běžících dat aplikací. Zálohy můžete použít v případě regionální katastrofy a obnovit zálohy. |
Azure Backup se službou Azure Kubernetes Service (AKS) nabízí plně spravované, škálovatelné, zabezpečené a nákladově efektivní řešení. Vylepšuje spolehlivost úloh bez složitosti nastavení a údržby infrastruktury zálohování. |
Zabezpečení
Účelem pilíře zabezpečení je poskytnout důvěrnosti, integritě a dostupnosti zárukám úlohy.
Principy návrhu zabezpečení poskytují strategii návrhu vysoké úrovně pro dosažení těchto cílů použitím přístupů k technickému návrhu AKS.
Kontrolní seznam návrhu
Zahajte strategii návrhu na základě kontrolního seznamu pro kontrolu návrhu pro zabezpečení a identifikujte ohrožení zabezpečení a kontrolní mechanismy, které zlepšují stav zabezpečení. Seznamte se s koncepty zabezpečení AKS a zhodnoťte doporučení pro zpevnění bezpečnosti na základě benchmarku CIS Kubernetes. Rozšiřte strategii tak, aby podle potřeby zahrnovala více přístupů.
(Cluster) Integrovat s Microsoft Entra ID pro správu identit a přístupu. Centralizujte správu identit pro váš cluster pomocí Microsoft Entra ID. Jakákoli změna uživatelského účtu nebo stavu skupiny se automaticky aktualizuje v přístupu ke clusteru AKS. Stanovit identitu jako primární bezpečnostní hranici. Vývojáři a vlastníci aplikací vašeho clusteru Kubernetes potřebují přístup k různým prostředkům.
Použijte řízení přístupu na základě role Kubernetes (RBAC) s Microsoft Entra ID pro přístup s nejnižšími oprávněními. Chraňte konfiguraci a tajné kódy minimalizací přidělení oprávnění správce.
(Cluster) Integrace s nástroji pro monitorování zabezpečení a informace o zabezpečení a správu událostí. používat Microsoft Defender for Containers se službou Microsoft Sentinel k detekci a rychlé reakci na hrozby napříč clustery a úlohami, které na nich běží. Povolte konektor AKS pro Microsoft Sentinel pro streamování diagnostických protokolů AKS do Microsoft Sentinelu.
(Cluster a pracovní zátěž) Implementujte segmentaci a síťové řízení. Chcete-li zabránit exfiltraci dat, ujistěte se, že je povolený pouze autorizovaný a bezpečný provoz, a snižte dopad bezpečnostního narušení.
Zvažte použití privátního clusteru AKS, který vám pomůže zajistit, aby provoz správy clusterů na váš server rozhraní API zůstal ve vaší privátní síti. Nebo použijte seznam povolených serverů rozhraní API pro veřejné clustery.
(Úloha) Použití firewallu webových aplikací (WAF) ke kontrole příchozího provozu potenciálních útoků WAF dokáže detekovat a zmírnit hrozby v reálném čase, aby se před dosažením vašich aplikací zablokoval škodlivý provoz. Poskytuje robustní ochranu před běžnými webovými útoky, jako jsou injektáž SQL, cross-site scripting, a další zranitelnosti identifikované projektem Open Web Application Security Project. Některé nástroje pro vyrovnávání zatížení, jako je azure Application Gateway nebo azure Front Door mají integrovaný WAF.
(Pracovní zátěž) Udržujte posílený dodavatelský řetězec softwaru pro pracovní zátěž. Ujistěte se, že váš systém kontinuální integrace a průběžného doručování je posílený kontrolou s podporou kontejnerů.
(Cluster a úloha) Implementovat dodatečnou ochranu pro specializované zabezpečené úlohy. Pokud váš cluster potřebuje spustit citlivou úlohu, možná budete muset nasadit privátní cluster. Tady je několik příkladů:
- Standard zabezpečení dat v odvětví platebních karet (PCI-DSS 3.2.1): regulovaný cluster AKS pro PCI-DSS 3.2.1
- Podpora a požadavky na DoD Impact Level 5 (IL5) s AKS: Požadavky na izolaci Azure Government IL5.
Doporučení
Doporučení | Výhoda |
---|---|
(Cluster) Použijte spravované identity v clusteru. | Můžete se vyhnout režijním nákladům spojeným se správou a obměnou služebních principů. |
(Úloha) Pomocí ID úlohy Microsoft Entra s AKS přistupovat k prostředkům chráněným Microsoft Entra, jako je Azure Key Vault a Microsoft Graph, z vaší úlohy. | Id úloh AKS můžete použít k ochraně přístupu k prostředkům Azure pomocí RBAC id Microsoft Entra, aniž byste museli spravovat přihlašovací údaje přímo v kódu. |
(Cluster) Pomocí ID Microsoft Entra můžete ověřování pomocí služby Azure Container Registry zAKS. | Pomocí Id Microsoft Entra se AKS může ověřit ve službě Container Registry bez použití imagePullSecrets tajných kódů. |
(Cluster) Zabezpečte síťový provoz na server rozhraní API pomocí privátního clusteru AKS, pokud požadavky na úlohy vyžadují vyšší úroveň segmentace. | 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 na server rozhraní API zůstal pouze v privátní síti. |
(Cluster) Pro veřejné clustery AKS použijte rozsahy IP adres autorizovaných serverem rozhraní API. Zahrňte zdroje, jako jsou veřejné IP adresy agentů sestavení nasazení, provozní správa a výstupní bod fondů uzlů, například Azure Firewall. | Když používáte veřejné clustery, můžete výrazně snížit prostor pro útoky na cluster AKS omezením provozu, který může dosáhnout serveru rozhraní API vašich clusterů. |
(Cluster) Chraňte server rozhraní API pomocí Microsoft Entra ID RBAC (řízení přístupu na základě role). Zakázat místní účty a vynutit veškerý přístup ke clusteru pomocí identit založených na Microsoft Entra ID. |
Zabezpečení přístupu k serveru rozhraní API Kubernetes je jednou z nejdůležitějších věcí, které můžete udělat pro zabezpečení clusteru. Integrujte Kubernetes RBAC s Id Microsoft Entra, abyste mohli řídit přístup k serveru rozhraní API. |
(Cluster) Použijte zásady sítě Azure nebo Calico. | Pomocí zásad můžete zabezpečit a řídit síťový provoz mezi pody v clusteru. Calico poskytuje bohatší sadu funkcí, včetně řazení zásad a priority, pravidel zamítnutí a flexibilnějších pravidel shody. |
(Cluster) Zabezpečení clusterů a podů pomocí Azure Policy. | Azure Policy vám může pomoct s uplatňováním vynucování a ochrany na clusterech centralizovaným a konzistentním způsobem. Může také řídit, jaké funkce jsou povoleny pro pody, a zjistit, zda něco běží v rozporu se zásadami společnosti. |
(Cluster) Zabezpečte přístup ke zdrojům prostřednictvím kontejnerů. Omezte přístup k akcím, které mohou kontejnery provádět. Zadejte nejmenší počet oprávnění a vyhněte se použití kořenového nebo privilegovaného eskalace. Informace o kontejnerech založených na Linuxu najdete v tématu Zabezpečení přístupu k prostředkům pomocí integrovaných funkcí zabezpečení Linuxu. |
Omezením oprávnění a vyhýbáním se použití root nebo privilegovaného zvýšení oprávnění můžete snížit riziko porušení zabezpečení. Můžete zajistit, aby i v případě ohrožení kontejneru bylo potenciální poškození minimalizováno. |
(Cluster) Řízení odchozího provozu clusteru zajištěním, že odchozí provoz vašeho clusteru prochází přes bod zabezpečení sítě, jako je azure Firewall nebo proxy server HTTP. | Směrováním odchozího provozu přes Azure Firewall nebo proxy server HTTP můžete vynutit zásady zabezpečení, které brání neoprávněnému přístupu a exfiltraci dat. Tento přístup také zjednodušuje správu zásad zabezpečení a usnadňuje vynucování konzistentních pravidel v celém clusteru AKS. |
(Cluster) Použijte opensourcový ID sady funkcí Microsoft Entra a ovladač CSI úložiště tajných kódů se službou Key Vault. | Tyto funkce pomáhají chránit a obměňovat tajné kódy, certifikáty a připojovací řetězce ve službě Key Vault pomocí silného šifrování. Poskytují protokol auditu přístupu a udržují zásadní tajemství mimo deployment pipeline. |
(Cluster) Použijte Microsoft Defender for Containers. | Microsoft Defender for Containers pomáhá monitorovat a udržovat zabezpečení clusterů, kontejnerů a jejich aplikací. |
Optimalizace nákladů
Optimalizace nákladů se zaměřuje na zjišťování vzorců útraty, stanovení priorit investic do kritických oblastí a na optimalizaci v jiných oblastech, aby odpovídaly rozpočtu organizace a zároveň plnily obchodní požadavky.
Principy návrhu optimalizace nákladů poskytují strategii návrhu vysoké úrovně pro dosažení těchto cílů a dosažení kompromisů v technickém návrhu souvisejícím s AKS a jeho prostředím.
Kontrolní seznam návrhu
Zahajte svou strategii návrhu na základě kontrolního seznamu přezkumu návrhu pro optimalizaci nákladů pro investice. Dolaďte návrh tak, aby úloha byla v souladu s rozpočtem přiděleným pro danou úlohu. Váš návrh by měl využívat správné možnosti Azure, monitorovat investice a hledat příležitosti k optimalizaci v průběhu času.
(Cluster) zahrnout cenové úrovně pro AKS do nákladového modelu. K odhadu nákladů použijte cenovou kalkulačku Azure a otestujte různé konfigurace a platební plány v kalkulačce.
(Cluster) Získejte nejlepší ceny pro vaši zátěž. Použijte odpovídající typ virtuálního počítače pro každý fond uzlů, protože to přímo ovlivňuje náklady na provoz vašich úloh. Volba vysoce výkonného virtuálního počítače bez správného využití může vést k plýtvání útratou. Výběr méně výkonného virtuálního počítače může způsobit problémy s výkonem a zvýšené výpadky.
Pokud jste správně naplánovali kapacitu a vaše úlohy jsou předvídatelné a budou existovat delší dobu, zaregistrujte se k rezervacím Azure nebo úspornému plánu, abyste snížili náklady na prostředky.
Zvolte Azure Spot Virtual Machines k využití nevyužité kapacity Azure s významnými slevami. Tyto slevy můžou dosáhnout až 90% cen průběžných plateb. Pokud Azure potřebuje kapacitu zpět, infrastruktura Azure vyřadí spotové uzly.
Pokud spouštíte AKS v místním prostředí nebo na okraji, můžete také použít Azure Hybrid Benefit ke snížení nákladů při provozování kontejnerizovaných aplikací v těchto scénářích.
(Cluster a pracovní zátěž) Optimalizace nákladů komponent pracovní zátěže. Zvolte nákladově nejefektivnější oblast pro vaši pracovní zátěž. Vyhodnoťte požadavky na náklady, latenci a dodržování předpisů, abyste měli jistotu, že vaše úlohy běží nákladově efektivně a že to neovlivní vaše zákazníky ani nevytáčí další poplatky za síť. Oblast, ve které nasazujete úlohu v Azure, může výrazně ovlivnit náklady. Vzhledem k mnoha faktorům se náklady na prostředky pro každou oblast v Azure liší.
Udržujte malé a optimalizované image, které pomáhají snížit náklady, protože nové uzly potřebují stáhnout tyto image. Selhání nebo vypršení časových limitů u uživatelských požadavků při spuštění aplikace může vést k nadměrnému přidělení prostředků. Vytvářejte image způsobem, který umožní kontejner spustit co nejdříve, aby se předešlo selháním a vypršení časových limitů.
Projděte si doporučení optimalizace nákladů v osvědčených postupech pro monitorování Kubernetes pomocí služby Azure Monitor a určete nejlepší strategii monitorování vašich úloh. Analyzujte metriky výkonu, počínaje procesorem, pamětí, úložištěm a sítí a identifikujte příležitosti optimalizace nákladů podle clusteru, uzlů a oboru názvů.
(Cluster a úloha) Optimalizace nákladů na škálování úloh. Zvažte alternativní konfigurace vertikálního a horizontálního škálování, abyste snížili náklady na škálování, a přitom stále splňují všechny požadavky na úlohy. Automatické škálování můžete použít k horizontálnímu snížení kapacity, pokud jsou úlohy méně aktivní.
(Klastrování a pracovní zátěž) Shromažďovat a analyzovat údaje o nákladech. Klíčem k umožnění optimalizace nákladů je rozprostření nákladově úsporného clusteru. Vytvořte nákladově efektivní myšlení, které zahrnuje spolupráci mezi finančními, provozními a technickými týmy za účelem zajištění sladění cílů úspor nákladů a zajištění transparentnosti nákladů na náklady na cloud.
Doporučení
Doporučení | Výhoda |
---|---|
(Zásobník a pracovní zátěž) Zarovnejte výběr SKU AKS a velikost spravovaného disku s požadavky pracovního zatížení. | Párování výběru s požadavky na úlohy pomáhá zajistit, abyste nezaplatili nepotřebné prostředky. |
(Cluster) Zvolte správné typy instancí VM pro vaše AKS fondy uzlů . Pokud chcete určit správné typy instancí virtuálních počítačů, zvažte charakteristiky úloh, požadavky na prostředky a potřeby dostupnosti. |
Výběr správného typu instance virtuálního počítače je zásadní, protože přímo ovlivňuje náklady na spouštění aplikací v AKS. Volba vysoce výkonné instance bez správného využití může vést k plýtvání útratou. Volba méně výkonné instance může vést k problémům s výkonem a vyšším výpadkům. |
(Cluster) Vyberte virtuální počítače na základě výkonnější architektury Azure Resource Manageru. AKS podporuje vytváření fondů uzlů Arm64 a kombinaci uzlů architektury Intel a uzlů se správou prostředků v rámci jednoho clusteru. | Architektura Arm64 poskytuje lepší poměr ceny a výkonu kvůli nižšímu využití energie a efektivnímu výpočetnímu výkonu. Tyto funkce můžou přinést lepší výkon s nižšími náklady. |
(Cluster) Povolte automatické škálování clusteru v, abyste snížili počet uzlů agentů v reakci na nadbytek kapacity prostředků. | Automatické snižování počtu uzlů ve vašem clusteru AKS vám umožní provozovat efektivní cluster, když je poptávka nízká, a škálovat nahoru, když se poptávka zvýší. |
(Cluster) Povolte automatické zřizování uzlů pro automatizaci výběru SKU virtuálního počítače. | Automatické zřizování uzlů zjednodušuje proces výběru SKU a na základě požadavků na zdroje nevyřízených podů rozhoduje o optimální konfiguraci virtuálního počítače pro spuštění úloh nejefektivnějším a nákladově nejvýhodnějším způsobem. |
(Úloha) Pomocí HorizontalPodAutoscaler můžete upravit počet podů v nasazení v závislosti na využití procesoru nebo jiných metrikách. | Automatické snižování počtu podů, když je poptávka nízká, a rozšiřování počtu podů, když poptávka vzroste, vede k nákladově efektivnějšímu provozu vaší úlohy. |
(Pracovní zatížení) Používejte VerticalPodAutoscaler (verze Preview) ke správnému nastavení podů a dynamickému určení požadavků a limitů na základě historického využití. | Nastavením požadavků na prostředky a omezení kontejnerů pro každou úlohu uvolní VerticalPodAutoscaler procesor a paměť pro jiné pody a pomůže zajistit efektivní využití clusterů AKS. |
(Cluster) Nakonfigurujte doplněk analýzy 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 ve vašich clusterech nebo oborech názvů. |
Efektivita provozu
Operační dokonalost se primárně zaměřuje na postupy vývoje, pozorovatelnosti a řízení vydání.
Principy návrhu efektivity provozu poskytují strategii návrhu vysoké úrovně pro dosažení těchto cílů pro provozní požadavky úlohy.
Kontrolní seznam návrhu
Zahajte strategii návrhu na základě kontrolního seznamu pro kontrolu návrhu pro provozní efektivitu pro definování procesů pozorovatelnosti, testování a nasazení. Informace o klíčových aspektech, které je třeba pochopit a implementovat, najdete v osvědčených postupech AKS a v průvodci provozními aktivitami pro den-2.
(Cluster) Implementujte přístup k nasazení infrastruktury jako kódu (IaC). Použijte deklarativní přístup založený na šablonách pomocí Bicepu, Terraformu nebo podobných nástrojů. Ujistěte se, že všechna nasazení jsou opakovatelná, trasovatelná a uložená v úložišti zdrojového kódu. Další informace najdete v rychlých návodech v produktové dokumentaci AKS.
(Cluster a úloha) Automatizujte nasazení infrastruktury a úloh. Použijte standardní softwarová řešení ke správě, integraci a automatizaci nasazení clusteru a úloh. Integrujte kanály nasazení se systémem správy zdrojového kódu a začleňte automatizované testy.
Vytvořte automatizovaný proces, který vám pomůže zajistit, aby se clustery spouštěly s potřebnými konfiguracemi a nasazeními v rámci celého clusteru. Tento proces se obvykle provádí pomocí GitOps.
Použijte opakovatelné a automatizované procesy nasazení pro vaši úlohu v rámci životního cyklu vývoje softwaru.
(Cluster a úloha) Implementujte komplexní strategii monitorování. Shromažďujte protokoly a metriky pro monitorování stavu úlohy, identifikaci trendů v oblasti výkonu a spolehlivosti a řešení problémů. Projděte si osvědčené postupy pro monitorování Kubernetes pomocí služby Azure Monitor a doporučení Well-Architected pro návrh a vytvoření monitorovacího systému, abyste určili nejlepší strategii monitorování pro vaše úlohy.
Povolte nastavení diagnostiky, abyste zajistili, že se protokolují interakce řídicí roviny nebo základního serveru api.
Úloha by měla být navržená tak, aby generuje telemetrii, kterou je možné shromažďovat, což by také mělo zahrnovat stav aktivity a připravenosti.
(Cluster a úloha) Implementovat testování prostřednictvím produkčních strategií. Testování produkčních prostředí používá skutečná nasazení k ověření a měření chování a výkonu aplikace v produkčním prostředí. K identifikaci problémů se spolehlivostí aplikací nebo platforem využijte postupy pro přípravu chaosu, které cílí na Kubernetes.
Azure Chaos Studio může pomoct simulovat chyby a aktivovat situace zotavení po havárii.
(Cluster a pracovní zátěže) Prosadit správu pracovních zátěží. Azure Policy pomáhá zajistit konzistentní soulad s organizačními standardy, automatizovat vynucení zásad a poskytuje centralizovanou viditelnost a kontrolu nad prostředky clusteru.
Přečtěte si sekci zásad Azure a zjistěte více o dostupných předdefinovaných zásadách pro AKS.
(Cluster a úloha) Pro důležité úlohy používejte nasazení na úrovni razítka a modré zelené barvy. přístup k modrému nasazení na úrovni kolku může zvýšit spolehlivost vydávání změn a umožňuje upgrady s nulovými výpadky, protože je možné ověřit kompatibilitu s podřízenými závislostmi, jako jsou platformy Azure, poskytovatelé prostředků a moduly IaC.
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 modrá-zelená nasazení nebo kanárské verze.
(Cluster a úloha) Zajištění větší udržitelnosti úloh zajištění větší udržitelného a cloudového úlohy vyžadují kombinaci úsilí o optimalizaci nákladů , snižování emisí uhlíkua optimalizaci spotřeby energie. Optimalizace nákladů aplikace je počátečním krokem při vytváření trvalejších úloh.
Informace o vytváření udržitelných a efektivních úloh AKS najdete v tématu Principy udržitelného softwarového inženýrství v AKS.
Doporučení
Doporučení | Výhoda |
---|---|
(Cluster) Zavést standardy konfigurace clusteru a podů pomocí zásad Azure pro AKS. | Zásady Azure pro AKS vám můžou pomoct vynucovat a chránit clustery ve velkém měřítku centralizovaným a konzistentním způsobem. Pomocí zásad definujte oprávnění udělená podům a zajistěte dodržování zásad společnosti. |
(Úloha) Použijte automatického škálování řízeného událostmi Kubernetes (KEDA). | KEDA umožňuje vašim aplikacím škálovat na základě událostí, jako je počet zpracovávaných událostí. Můžete si vybrat z bohatého katalogu více než 50 škálovacích nástrojů KEDA. |
Efektivita výkonu
Efektivita výkonu se týká zachování uživatelského prostředí, i když se zvyšuje zatížení správou kapacity. Strategie zahrnuje škálování prostředků, identifikaci a optimalizaci potenciálních kritických bodů a optimalizaci výkonu ve špičce.
Principy návrhu efektivity výkonu poskytují strategii návrhu na vysoké úrovni pro dosažení těchto cílů kapacity s ohledem na očekávané využití.
Kontrolní seznam návrhu
Zahajte strategii návrhu na základě kontrolního seznamu pro přezkum návrhu, zaměřeného na efektivitu výkonu, pro definování výchozí hodnoty na základě klíčových ukazatelů výkonu pro AKS.
(Cluster a pracovní zátěž) Plánování kapacity. Realizovat a opakovat podrobné cvičení kapacitního plánování, které zahrnuje SKU, nastavení automatického škálování, adresování IP a aspekty převzetí služeb při selhání.
Po formalizaci plánu kapacity často aktualizujte plán tím, že průběžně sledujete využití prostředků clusteru.
(Cluster) Definovat strategii škálování Nakonfigurujte škálování, abyste zajistili efektivní úpravu prostředků tak, aby splňovaly požadavky úloh bez nadměrného využití nebo plýtvání. Pomocí funkcí AKS, jako je automatické škálování clusteru a HorizontalPodAutoscaler, můžete dynamicky splňovat potřeby vašich úloh s menším zatížením operací. Optimalizujte pracovní zátěž tak, aby efektivně fungovala a byla nasazena v kontejneru.
Projděte si průvodce škálováním a dělením a seznamte se s různými aspekty konfigurace škálování.
(Cluster a úloha) Proveďte testování výkonu. Provádějte průběžné aktivity zátěžového testování, které zajišťují automatické škálování jak podu, tak i clusteru. Porovnejte výsledky s výkonnostními cíli a zavedenými směrnými plány.
(Cluster a úloha) Škálovat úlohy a toky nezávisle. Oddělit úlohy a toky do různých fondů uzlů, aby bylo možné nezávislé škálování. Postupujte podle pokynů v tématu Optimalizace návrhu úloh pomocí toků k identifikaci a stanovení priorit toků.
Doporučení
Doporučení | Výhoda |
---|---|
(Cluster) Povolte automatického škálování clusteru, abyste automaticky upravili počet uzlů agentů v reakci na požadavky na úlohy. Pomocí HorizontalPodAutoscaler upravte počet podů v nasazení v závislosti na využití procesoru nebo jiných metrikách. |
Možnost automatického vertikálního navýšení nebo snížení kapacity počtu uzlů a počtu podů v clusteru AKS umožňuje spustit efektivní a nákladově efektivní cluster. |
(Cluster a úloha) Rozdělte pracovní zátěže do různých poolů uzlů a zvažte škálování poolů uzlů uživatelů. | Na rozdíl od fondů systémových uzlů, které vždy vyžadují spuštěné uzly, umožňují fondy uzlů uživatelů škálovat nahoru nebo dolů. |
(Úloha) Použitím pokročilých funkcí plánovače AKS implementovat pokročilé vyvažování prostředků pro úlohy, které je vyžadují. | Při správě clusterů AKS často potřebujete izolovat týmy a úlohy. Pokročilé funkce, které plánovač Kubernetes poskytuje, umožňují řídit, které pody je možné naplánovat na určitých uzlech. Umožňují také řídit, jak mohou být multipod aplikace správně distribuovány napříč clusterem. |
(Úloha) Pomocí KEDA můžete vytvořit smysluplnou sadu pravidel automatického škálování na základě signálů specifických pro vaši úlohu. | Ne všechna rozhodnutí o škálování mohou být odvozena z metrik procesoru nebo paměti. Aspekty škálování často pocházejí ze složitějších nebo dokonce externích datových bodů. KEDA umožňuje aplikacím škálovat se na základě událostí, jako je počet zpráv ve frontě nebo délka prodlevy tématu. |
Zásady Azure
Azure poskytuje rozsáhlou sadu předdefinovaných zásad souvisejících s AKS, které se vztahují na prostředek Azure, jako jsou typické zásady Azure a doplněk Azure Policy pro Kubernetes a v rámci clusteru. Mnohé ze zásad prostředků Azure mají Audit/Odepřít i Nasazení, pokud neexistují variant. Kromě předdefinovaných definic Azure Policy můžete vytvořit vlastní zásady pro prostředek AKS i pro doplněk Azure Policy pro Kubernetes.
Některá doporučení v tomto článku je možné auditovat prostřednictvím služby Azure Policy. Můžete například zkontrolovat následující zásady clusteru:
- Clustery mají nakonfigurované testy stavu připravenosti nebo živosti pro vaši specifikaci pod.
- Microsoft Defender pro zásady založené na cloudu
- Režim ověřování a zásady konfigurace, jako je ID Microsoft Entra, RBAC a zakázání místního ověřování
- Zásady síťového přístupu k serveru API, včetně privátního clusteru.
- Zásady konfigurace GitOps
- Zásady nastavení diagnostiky
- Omezení verzí AKS
- Zabránit vyvolání příkazu
Můžete také zkontrolovat následující zásady clusteru a úloh:
- Iniciativy zabezpečení podů clusteru Kubernetes pro úlohy založené na Linuxu
- Zahrňte zásady schopností podů a kontejnerů, jako jsou AppArmor, sysctl, bezpečnostní limity, SELinux, seccomp, privilegované kontejnery a 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í podů a kontejnerů, jako jsou hostitelská síť, port, povolené externí IP adresy, HTTPS a interní vyrovnávače zatížení.
- Omezení nasazení oboru názvů
- Omezení prostředků procesoru a paměti
Komplexní zásady správného řízení najdete v předdefinovaných definic azure Policy pro Kubernetes a další zásady, které by mohly ovlivnit zabezpečení výpočetní vrstvy.
Doporučení azure Advisoru
Azure Advisor je individuální cloudový konzultant, který vám pomůže postupovat podle osvědčených postupů pro optimalizaci nasazení Azure. Tady je několik doporučení, která vám pomůžou zlepšit spolehlivost, zabezpečení, nákladovou efektivitu, výkon a efektivitu provozu AKS.
Související obsah
Zvažte následující články jako zdroje informací, které ukazují doporučení zvýrazněná v tomto článku.
- Základní architektura AKS
- Architektura pokročilých mikroslužeb AKS
- Cluster AKS pro úlohu PCI-DSS
- Standardní hodnoty AKS pro clustery s více oblastmi
- Akcelerátor cílové zóny AKS
S využitím následující dokumentace k produktu můžete vytvářet odborné znalosti implementace: