Osvědčené postupy pro optimalizaci nákladů ve službě Azure Kubernetes Service (AKS)

Optimalizace nákladů spočívá v maximalizaci hodnoty zdrojů při minimalizaci zbytečných výdajů ve vašem cloudovém prostředí. Tento proces zahrnuje identifikaci nákladově efektivních možností konfigurace a implementaci osvědčených postupů pro zlepšení provozní efektivity. Prostředí AKS je možné optimalizovat tak, aby se minimalizovaly náklady při zohlednění požadavků na výkon a spolehlivost.

Rychlá odpověď: Jaké jsou osvědčené postupy pro optimalizaci nákladů AKS?

  • Začněte s automatickým škálováním AKS pro integrované funkce optimalizace nákladů, jako je automatické zřizování uzlů a automatické škálování úloh
  • Povolení dynamického rightsizingu prostřednictvím VPA, HPA a KEDA tak, aby odpovídaly prostředkům se skutečnou poptávkou
  • Vyberte nákladově efektivní infrastrukturu s využitím spotových virtuálních počítačů (úspora až 90%), procesorů Arm64 nebo rezervovaných instancí (až 72% úspor)
  • Monitorování útraty s využitím Microsoft Cost Management a migrace na Azure Monitor spravované služby pro Prometheus (spravované prometheus) za účelem snížení nákladů na metriky
  • Využití Azure slev prostřednictvím rezervací, Azure plánu úspor pro výpočetní prostředky nebo zvýhodněného hybridního využití pro dlouhodobé úlohy

V tomto článku se dozvíte o:

  • Počínaje službou AKS Automatic pro integrovanou optimalizaci nákladů
  • Holistické monitorování a postupy FinOps
  • Výběr strategické infrastruktury.
  • Dynamická oprávnění a automatické škálování
  • Využití slev Azure na významné úspory

Začínáme s automatickou službou AKS pro integrovanou optimalizaci nákladů

AKS Automatic je režim clusteru, který předkonfiguruje řadu postupů optimalizace nákladů popsaných v tomto článku. Pokud vytváříte nový cluster, zvažte AKS Automatic, abyste snížili technické úsilí, riziko konfigurace a průběžnou provozní režii, která vede k zbytečným útratám v cloudu.

AKS Automatic poskytuje ve výchozím nastavení následující možnosti optimalizace nákladů bez jakékoli další konfigurace:

Schopnost Nákladová výhoda
Automatické zřizování uzlů (NAP) Automaticky vybere nákladově nejefektivnější skladovou položku virtuálního počítače pro každou úlohu na základě skutečných požadavků na prostředky podu. Odstraňuje ruční správu fondů uzlů a nadměrné přidělování prostředků.
Automatické škálování úloh (VPA, HPA a KEDA) Ve výchozím nastavení jsou povolené všechny automatické škálování úloh, takže pody a uzly se dynamicky škálují na skutečnou poptávku místo předpokladů ve špičce.
Efektivní ukládání do kontejnerů Pody jsou naplánované tak, aby maximalizovaly využití uzlů a snížily celkový počet uzlů potřebných pro obsluhu úloh.
managed Prometheus Spravovaná platforma Prometheus je výchozí platforma metrik. Vyhnete se vyšším nákladům na metriky Container Insights bez jakéhokoli úsilí o migraci.
Ochrana nasazení Zásady Azure Policy v režimu vynucování prosazují požadavky na prostředky a jejich limity pro všechny pody, čímž na úrovni clusteru brání nekontrolované spotřebě prostředků a jejich nadměrnému přidělování.

Pro úlohy, které vyžadují AKS Standard, popisuje zbytek tohoto článku jednotlivé postupy a postup jejich ruční konfigurace. Pokud služba AKS Automatic ve výchozím nastavení poskytuje praxi, poznámka indikuje, že nejsou potřeba žádné další kroky.

Využijte FinOps k vytvoření kultury úspory nákladů.

Finanční operace (FinOps) je disciplína, která kombinuje finanční odpovědnost s cloudovou správou a optimalizací. Zaměřuje se na řízení souladu mezi finančními, provozními a technickými týmy za účelem pochopení a řízení nákladů na cloud. FinOps Foundation má několik významných projektů, jako je FinOps Rámec a FOCUS Specifikace.

Další informace najdete v tématu Co je FinOps?

Výběr nákladově efektivní infrastruktury a konfigurace clusteru

Vyhodnocení řady skladových položek

Poznámka:

Pokud používáte AKS Automatic, automatické zřizování uzlů (NAP) automaticky vybere pro každou úlohu cenově nejvýhodnější SKU virtuálního počítače na základě jejích požadavků na prostředky. Fondy uzlů nemusíte vyhodnocovat, vytvářet ani spravovat ručně.

Před nasazením je důležité vyhodnotit požadavky na prostředky vaší aplikace. Malé vývojové úlohy mají různé potřeby infrastruktury než velké úlohy připravené pro produkční prostředí. Přestože kombinace konfigurace procesoru, paměti a síťové kapacity výrazně ovlivňuje nákladovou efektivitu skladové položky, zvažte následující typy virtuálních počítačů:

Skupina SKU Popis Nejvhodnější pro
Spotové virtuální počítače Azure Azure spotových Virtual Machine Scale Sets back spotových uzlů a nasazují se do jedné domény selhání bez záruky vysoké dostupnosti nebo smlouvy o úrovni služeb (SLA). Spotové virtuální počítače umožňují využít nevyužitou kapacitu Azure s významnými slevami (až 90% oproti cenám průběžných plateb). Pokud Azure potřebuje kapacitu zpět, infrastruktura Azure vyřadí spotové uzly. Vývojová/testovací prostředí, úlohy, které můžou zpracovávat přerušení, jako jsou úlohy dávkového zpracování a úlohy s flexibilní dobou provádění
Procesory založené na armech (Arm64) Virtuální počítače Arm64 jsou efektivní a nákladově efektivní bez ohrožení výkonu. S podporou fondu uzlů Arm64 v AKS můžete vytvářet uzly agenta Arm64 Ubuntu a kombinovat uzly architektury Intel a Arm v rámci clusteru. Tyto virtuální počítače jsou navrženy tak, aby efektivně spouštěly dynamické a škálovatelné úlohy a mohly poskytovat až 50% lepších cenových výkonů než srovnatelné virtuální počítače založené na platformě x86 pro úlohy se škálováním na více instancí. Webové nebo aplikační servery, opensourcové databáze, aplikace nativní pro cloud, herní servery a další.
Skladové položky optimalizované pro GPU V závislosti na povaze vaší pracovní zátěže zvažte použití SKU virtuálních počítačů optimalizovaných pro výpočetní výkon, paměť, úložiště nebo GPU. Velikosti virtuálních počítačů s GPU jsou specializované virtuální počítače, které jsou k dispozici s jedním, několika nebo zlomkovými GPU. Fondy uzlů Linuxu s podporou GPU v AKS jsou nejvhodnější pro úlohy náročné na výpočetní výkon, jako je vykreslování grafiky, trénování velkých modelů a odvozování.

Poznámka:

Náklady na výpočetní prostředky se v různých oblastech liší. Při výběru levnější oblasti pro spouštění úloh mějte na paměti potenciální dopad latence a nákladů na přenos dat. Další informace o VM SKU a jejich vlastnostech viz Velikosti virtuálních počítačů v Azure.

Kontrola možností úložiště

Další informace o možnostech úložiště a souvisejících aspektech nákladů najdete v následujících článcích:

Použití přednastavených konfigurací clusteru

Může být obtížné vybrat správnou skladovou položku virtuálního počítače, oblasti, počet uzlů a další možnosti konfigurace. Přednastavené konfigurace clusteru na portálu Azure usnadňují řešení tohoto počátečního problému tím, že poskytují doporučené konfigurace pro různá aplikační prostředí, která jsou nákladově efektivní a výkonná. Předvolba vývoje/testování je nejvhodnější pro vývoj nových úloh nebo testování stávajících úloh. Předvolba Produkční ekonomika je nejvhodnější pro obsluhu produkčního provozu způsobem, který je vědom nákladů, pokud vaše úlohy můžou tolerovat přerušení. Nekritické funkce jsou ve výchozím nastavení vypnuté a přednastavené hodnoty můžete kdykoli změnit.

Pokud chcete komplexnější přístup, který přesahuje statické přednastavení, zvažte automatické použití AKS. AKS Automatic plně spravuje fondy uzlů pomocí automatického zřizování uzlů (NAP), které průběžně přizpůsobuje infrastrukturu skutečným nárokům vašich úloh. Také umožňuje ve výchozím nastavení všechny automatické škálování úloh a vynucuje zásady správného řízení prostředků prostřednictvím bezpečnostních opatření nasazení, což jsou další výhody, které přednastavení clusteru neposkytují.

Zvažte víceklientské prostředí

AKS nabízí flexibilitu při spouštění víceklientských clusterů a izolace prostředků. Pro přívětivé víceklientské prostředí můžete sdílet clustery a infrastrukturu napříč týmy a obchodními jednotkami prostřednictvím logické izolace. Prostory jmen Kubernetes tvoří logickou hranici izolace pro úlohy a prostředky. Sdílení infrastruktury snižuje režijní náklady na správu clusterů a zároveň zlepšuje využití prostředků a hustotu podů v rámci clusteru. Další informace o víceúrovňové architektuře v AKS a určení, zda je to správné pro potřeby vaší organizace, najdete v dokumentu Aspekty AKS pro víceúrovňovou architekturu a Navrhování clusterů pro víceklientskou architekturu.

Výstraha

Prostředí Kubernetes nejsou zcela bezpečná pro nepřátelskou víceklientskou architekturu. Pokud některý tenant ve sdílené infrastruktuře nemůže být důvěryhodný, je potřeba další plánování, aby zabránilo tenantům v ovlivnění zabezpečení jiných služeb.

Zvažte hranice fyzické izolace . V tomto modelu jsou týmy nebo úlohy přiřazené k vlastnímu clusteru. Přidaná správa a finanční režie je kompromisem.

Snížení plýtvání prostředky prostřednictvím konfigurace aplikací a clusterů

Ujistěte se, že váš kontejner je co nejštíhlejší.

Štíhlý kontejner odkazuje na optimalizaci velikosti a využití prostředků kontejnerizované aplikace. Zkontrolujte, jestli je základní image minimální a obsahuje jenom potřebné závislosti. Odeberte všechny nepotřebné knihovny a balíčky. Menší image kontejneru zrychluje dobu nasazení a zvyšuje efektivitu operací škálování. Streamování artefaktů v AKS umožňuje streamovat bitové kopie kontejnerů z Azure Container Registry (ACR). Načte pouze potřebnou vrstvu pro počáteční spuštění podu, čímž se zkracuje doba stažení větších obrazů z několika minut na sekundy.

Vymáhání kvót na zdroje

Poznámka:

Automatické clustery AKS vynucují požadavky na prostředky a limity u všech podů automaticky prostřednictvím bezpečnostních opatření nasazení, která jsou ve výchozím nastavení povolená v režimu vynucení. To zabraňuje nekontrolovanému využívání prostředků a jejich nadměrnému přidělování bez nutnosti ruční konfigurace zásad. U clusterů AKS Standard nakonfigurujte kvóty prostředků na úrovni jmenného prostoru, jak je popsáno v této části.

Kvóty zdrojů poskytují způsob, jak rezervovat a omezit zdroje v rámci vývojového týmu nebo projektu. Kvóty jsou definovány v oboru názvů a lze je nastavit pro výpočetní prostředky, prostředky úložiště a počty objektů. Při definování kvót prostředků se jednotlivým oborům názvů zabrání v využívání více prostředků, než je přiděleno. Kvóty prostředků jsou užitečné pro clustery s více tenanty, kde týmy sdílejí infrastrukturu.

Použití příkazu spuštění/zastavení clusteru

Pokud zůstanou malé vývojové a testovací clustery bez dozoru, mohou generovat zbytečné náklady. Pomocí funkce spuštění a zastavení clusteru můžete vypnout clustery, které nemusí běžet neustále. Tato funkce vypne všechny fondy systémových a uživatelských uzlů, takže neplatíte za další výpočetní prostředky. Stav clusteru a objektů se udržuje při opětovném spuštění clusteru.

Používejte rezervace kapacity

Rezervace kapacity umožňují rezervovat výpočetní kapacitu v oblasti Azure nebo v zóně dostupnosti na libovolně dlouhou dobu. Rezervovaná kapacita je k dispozici pro okamžité použití, dokud se rezervace neodstraní. Přiřazením existující skupiny rezervací kapacity k fondu uzlů zajistíte přidělenou kapacitu pro váš fond uzlů a pomůžete se vyhnout možnému zvýšení cen při vysoké poptávce po výpočetním výkonu.

Sledujte své prostředí a utrácení

Zvýšení viditelnosti pomocí služby Microsoft Cost Management

Microsoft Cost Management nabízí širokou škálu možností, které vám pomůžou s rozpočtováním, prognózou a viditelností nákladů v rámci clusteru i mimo cluster. Správná viditelnost je nezbytná pro dešifrování trendů útraty, identifikaci příležitostí optimalizace a zvyšování odpovědnosti mezi vývojáři aplikací a týmy platforem. Povolte doplněk AKS Cost Analysis pro podrobné rozpisy nákladů na cluster podle konstruktorů Kubernetes spolu s kategoriemi Azure Compute, Network a Storage.

Azure Monitor

Poznámka:

Clustery AKS Automatic používají jako výchozí platformu pro metriky spravovaný Prometheus. Metriky Container Insights nejsou ve výchozím nastavení povolené. Pokud používáte AKS Automaticky, je tato optimalizace nákladů již zavedená a nejsou potřeba žádné kroky migrace.

Pokud přijímáte data metrik prostřednictvím Container Insights, doporučujeme migrovat na spravovanou službu Prometheus, která nabízí výrazné snížení nákladů. Metriky Container Insights můžete zakázat pomocí pravidla shromažďování dat (DCR) a nasadit spravovaný doplněk Prometheus, který podporuje konfiguraci prostřednictvím Azure Resource Manageru, Azure CLI, webu Azure Portal a Terraformu.

Další informace najdete v osvědčených postupech služby Azure Monitor a správě nákladů na přehledy kontejnerů.

Analýza protokolů

V případě protokolů řídicí roviny zvažte zakázání kategorií, které nepotřebujete, nebo použití rozhraní API základních protokolů, pokud je to možné, aby se snížily náklady na Log Analytics. Další informace najdete v řídicí rovině/protokolech prostředků služby Azure Kubernetes Service (AKS). U protokolů roviny dat nebo aplikačních protokolů zvažte úpravu nastavení optimalizace nákladů.

Transformace ve službě Azure Monitor můžete také použít k filtrování nebo úpravě protokolů řídicí roviny a roviny dat před jejich odesláním do pracovního prostoru služby Log Analytics. Další informace o tom, jak vytvořit transformaci, najdete v tématu Vytvoření transformace ve službě Azure Monitor.

Doporučení k nákladům od služby Azure Advisor

Doporučení k nákladům AKS v Azure Advisoru poskytují doporučení, která vám pomůžou dosáhnout nákladově efektivity bez snížení spolehlivosti. Advisor analyzuje konfigurace prostředků a doporučí řešení optimalizace. Další informace najdete v tématu Získání doporučení k nákladům služby Azure Kubernetes Service (AKS) v Azure Advisoru.

Optimalizace úloh prostřednictvím automatického škálování

Vytvoření směrného plánu

Před konfigurací nastavení automatického škálování můžete použít Azure Load Testing k vytvoření směrného plánu pro vaši aplikaci. Zátěžové testování vám pomůže pochopit, jak se vaše aplikace chová za různých provozních podmínek, a identifikovat kritické body výkonu. Jakmile máte směrný plán, můžete nakonfigurovat nastavení automatického škálování, aby vaše aplikace zvládla očekávané zatížení.

Povolení automatického škálování aplikace

Vertikální automatické škálování podů

Poznámka:

Automatické clustery AKS mají ve výchozím nastavení povolenou funkci VPA. Pokud používáte AKS Standard, informace o povolení a konfiguraci VPA najdete v článku Use the Vertical Pod Autoscaler in Azure Kubernetes Service (AKS).

Požadavky a limity, které jsou vyšší než skutečné využití, můžou vést k nadměrnému zřízení úloh a plýtvání prostředky. Naproti tomu požadavky a limity, které jsou příliš nízké, můžou vést k omezování a problémům s úlohami kvůli nedostatku paměti. Vertikální automatické škálování podů (VPA) umožňuje optimalizovat prostředky procesoru a paměti vyžadované vašimi pody. VPA poskytuje doporučené hodnoty pro požadavky na procesor a paměť a omezení na základě historického využití kontejneru, které můžete nastavit ručně nebo automaticky aktualizovat. Nejvhodnější pro aplikace s proměnlivými požadavky na prostředky. Režim vypnutých doporučení VPA umožňuje týmům přezkoumávat návrhy zdrojů, aniž by je automaticky uplatňoval. Tento režim lze povolit během testování a doporučení pro vertikální automatické škálování lze použít k nastavení požadavků na procesor a paměť a k určení omezení pro produkční prostředí.

Horizontální automatické škálování podů

Poznámka:

Automatické clustery AKS mají ve výchozím nastavení povolenou platformu HPA. Pokud používáte AKS Standard, nakonfigurujte HPA na úlohách, jak je popsáno v horizontálním automatickém škálování podů.

Horizontální automatické škálování podů (HPA) dynamicky škáluje počet replik podů na základě pozorovaných metrik, jako je využití procesoru nebo paměti. Během období vysoké poptávky se HPA rozšiřuje, přidává další repliky podů, aby rozložilo úlohu. Během období nízké poptávky se HPA škáluje, snižuje počet replik, aby se ušetřily výpočetní prostředky. Nejvhodnější pro aplikace s předvídatelnými požadavky na prostředky.

Výstraha

Pro stejné metriky procesoru a paměti byste neměli používat VPA s metodou HPA. Tato kombinace může vést ke konfliktům, protože se oba automatické škálovače pokusí reagovat na změny v poptávce pomocí stejných metrik. Pokud ale chcete zabránit překrývání a zajistit, aby se každé automatické škálování zaměřovalo na různé aspekty škálování zátěže, můžete použít VPA pro CPU nebo paměť spolu s HPA pro vlastní metriky.

Automatické škálování řízené událostmi Kubernetes

Poznámka:

Automatické clustery AKS mají ve výchozím nastavení povolenou funkci KEDA. Pokud používáte AKS Standard, povolení KEDA najdete v tématu Instalace doplňku KEDA pomocí Azure CLI.

Doplněk KeDA (Autoscaler) řízený událostmi Kubernetes poskytuje větší flexibilitu škálování na základě různých metrik řízených událostmi, které odpovídají chování vaší aplikace. Například u webové aplikace může KEDA monitorovat příchozí provoz požadavků HTTP a upravit počet replik podů, aby aplikace zůstala responzivní. U úloh zpracování může KEDA škálovat aplikaci na základě délky fronty zpráv. Spravovaná podpora je poskytována pro všechny služby Azure Scalers. KEDA také umožňuje vertikálně snížit kapacitu na 0 replik, zejména pro občasné úlohy řízené událostmi, pravidelné úlohy strojového učení (ML) nebo GPU a prostředí pro vývoj/testování nebo nízký provoz.

Povolení automatického škálování infrastruktury

Automatické škálování clusteru

Poznámka:

V AKS Automatické škálování uzlů se zpracovává automatickým zřizováním uzlů (NAP), které je ve výchozím nastavení předem nakonfigurované. Pro AKS Standard bez architektury NAP nakonfigurujte automatické škálování clusteru, jak je popsáno v této části.

Aby bylo možné splnit požadavky aplikace, Cluster Autoscaler sleduje pody, které není možné umístit kvůli omezením prostředků, a odpovídajícím způsobem škáluje počet uzlů ve skupině uzlů. Pokud uzly nemají spuštěné pody, automatické škálování clusteru snižuje počet uzlů. Nastavení profilu automatického škálování clusteru platí pro všechny fondy uzlů s podporou automatického škálování v clusteru. Další informace najdete v tématu Osvědčené postupy a aspekty automatického škálování clusteru.

Automatické zřizování uzlů

Poznámka:

V AKS Automatic je automatické zřizování uzlů (NAP) ve výchozím nastavení předem nakonfigurováno. AKS vybere optimální skladovou položku virtuálního počítače pro každou úlohu automaticky bez nutnosti ručního vytvoření fondu uzlů nebo výběru skladové položky. V případě clusterů AKS Standard postupujte podle kroků v části Povolení nebo zakázání architektury NAP v AKS a povolte architekturu NAP.

Složité úlohy můžou vyžadovat několik fondů uzlů s různými konfiguracemi velikosti virtuálních počítačů, aby vyhovovaly požadavkům na procesor a paměť. Přesný výběr a správa několika konfigurací fondu uzlů zvyšuje složitost a provozní režii. Automatické zřizování uzlů (NAP) zjednodušuje proces výběru SKU a určuje optimální konfiguraci VM na základě požadavků na prostředky čekajících podů, aby bylo možné provozovat úlohy co nejefektivněji a s co nejnižšími náklady.

Úspora se slevami za Azure

Azure Reservations

Pokud je vaše pracovní zatížení předvídatelné a trvá delší dobu, zvažte nákup rezervace Azure, abyste dále snížili náklady na vaše prostředky. Rezervace Azure fungují na ročním nebo tříletém období a nabízí slevu až 72 % oproti průběžným platbám za výpočetní kapacity. Rezervace se automaticky vztahují na odpovídající prostředky. Nejvhodnější pro úlohy, které budou po delší dobu provozovány ve stejných SKU a regionech.

Úsporný plán Azure pro výpočetní prostředky

Pokud máte konzistentní útratu, ale využití různorodých prostředků napříč skladovými jednotkami a oblastmi je Azure rezervace neproveditelné, zvažte nákup plánu Azure úspor pro výpočetní prostředky. Stejně jako Azure Rezervace fungují plány úspor na jeden nebo tři roky a automaticky se vztahují na všechny zdroje v rozsahu výhod. Zavazujete se utratit paušální hodinovou sazbu na výpočetní zdroje bez ohledu na SKU nebo oblast. Nejvhodnější pro úlohy, které využívají různé prostředky nebo různé oblasti datového centra.

Zvýhodněné hybridní využití Azure

Zvýhodněné hybridní využití Azure pro Azure Kubernetes Service (AKS) umožňuje maximalizovat místní licence bez dalších poplatků. Pokud chcete získat virtuální počítače s Windows v Azure s nižšími náklady, použijte všechny opravňující místní licence, které mají také aktivní software Assurance (SA) nebo opravňující předplatné.

Další kroky

Optimalizace nákladů je průběžné a iterativní úsilí. Další informace najdete v následujících doporučeních a pokynech k architektuře: