Optimalizace nákladů ve službě Azure Kubernetes Service (AKS)

Optimalizacenákladůch Tento proces zahrnuje identifikaci nákladově efektivních možností konfigurace a implementaci osvědčených postupů za účelem 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.

V tomto článku se dozvíte o těchto článcích:

  • Výběr strategické infrastruktury
  • Dynamická rightsizing and autoscaling
  • Využití slev Za Azure za významné úspory
  • Holistické monitorování a postupy FinOps

Příprava aplikačního prostředí

Vyhodnocení řady skladových položek

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 konfigurací 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čů:

  • Fondy spotových uzlů virtuálních počítačů - Azure se zálohují škálovacími sadami spotových virtuálních počítačů Azure a nasazují se do jedné domény selhání bez záruk vysoké dostupnosti nebo smlouvy SLA. Spotové virtuální počítače umožňují využívat nevyužitou kapacitu Azure s významnými slevami (až 90 % oproti průběžným platbám). Pokud Azure potřebuje kapacitu zpět, infrastruktura Azure vyřadí spotové uzly. Nejvhodnější pro vývoj/testování prostředí, úlohy, které dokážou zvládnout přerušení, jako jsou úlohy dávkového zpracování a úlohy s flexibilní dobou provádění.
  • Ampere Altra armové procesory (ARM64) – virtuální počítače ARM64 jsou výkonně efektivní a nákladově efektivní, ale neohrožují výkon. S podporou fondu uzlů AMR64 v AKS můžete vytvářet uzly agenta ARM64 Ubuntu a dokonce kombinovat uzly architektury Intel a ARM v rámci clusteru. Tyto virtuální počítače ARM jsou navrženy tak, aby efektivně spouštěly dynamické a škálovatelné úlohy a mohly poskytovat až 50% lepší výkon oproti srovnatelným virtuálním počítačům založeným na platformě x86 pro úlohy se škálováním na více instancí. Nejvhodnější pro 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 úloh zvažte použití skladových položek virtuálních počítačů optimalizovaných pro výpočty, optimalizováno pro paměť, optimalizováno pro úložiště nebo dokonce grafické procesorové jednotky (GPU). Velikosti virtuálních počítačů GPU jsou specializované virtuální počítače, které jsou k dispozici s jedním, několika a desetinnými grafickými procesory. 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 skladových posílacích virtuálních počítačů a jejich vlastnostech najdete v tématu Velikosti virtuálních počítačů v Azure.

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

Výběr správné skladové položky virtuálního počítače, oblastí, počtu uzlů a dalších možností konfigurace může být obtížné předem. Přednastavené konfigurace clusteru na webu Azure Portal tuto počáteční výzvu přesměrují tím, že poskytují doporučené konfigurace pro různá aplikační prostředí, která jsou nákladově náročná 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 je možné kdykoli změnit.

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ětivou víceklientské prostředí je možné clustery a infrastrukturu sdílet napříč týmy a obchodními jednotkami prostřednictvím logické izolace. Obory názvů Kubernetes tvoří hranici logické 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íceklientské úrovni v AKS a určení, jestli je to vhodné pro potřeby vaší organizace, najdete v tématu Aspekty AKS pro víceklientské a návrhové clustery pro víceklientskou architekturu.

Upozorňující

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 bude kompromisem.

Sestavování aplikací nativních pro cloud

Co nejvíce štíhlý kontejner

Š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 urychlí dobu nasazení a zvýší efektivitu operace škálování. Streamování artefaktů v AKS umožňuje streamovat image kontejnerů ze služby Azure Container Registry (ACR). Načte pouze potřebnou vrstvu pro počáteční spuštění podu, což zkracuje dobu vyžádání větších obrázků z minut na sekundy.

Vynucení kvót prostředků

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 mohou se nastavovat 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. To je zvlášť důležité pro clustery s více tenanty, kde týmy sdílejí infrastrukturu.

Použití zastavení spuštění clusteru

Malé vývojové a testovací clustery, když zůstaly bezobslužné, můžou realizovat velké objemy zbytečných výdajů. Pomocí spuštění a zastavení clusteru vypněte clustery, které nemusí běžet neustále. Tím vypnete všechny fondy systémových a uživatelských uzlů, takže neplatíte za dodatečné výpočetní prostředky. Při opětovném spuštění clusteru se zachovají všechny objekty a stav clusteru.

Použití rezervací kapacity

Rezervace kapacity umožňují rezervovat výpočetní kapacitu v oblasti Azure nebo zóně dostupnosti po libovolnou dobu. Rezervovaná kapacita bude k dispozici pro okamžité použití, dokud se rezervace neodstraní. Přidružení existující skupiny rezervací kapacity k fondu uzlů zaručuje přidělenou kapacitu fondu uzlů a pomáhá vyhnout se potenciálním cenovým špičkám na vyžádání během období vysoké poptávky po výpočetních prostředcích.

Monitorování prostředí a útraty

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 zvýšení 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

Pokud ingestujete data metrik prostřednictvím přehledů kontejnerů, doporučujeme migrovat na spravované metriky Prometheus, což 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.

Pokud se spoléháte na příjem dat protokolů, doporučujeme také použít rozhraní API základních protokolů ke snížení nákladů na Log Analytics. Další informace najdete v osvědčených postupech služby Azure Monitor a správě nákladů na přehledy kontejnerů.

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

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

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

Požadavky a limity, které jsou výrazně 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 doladit 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.

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

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

Upozorňující

Ve spojení s HPA byste neměli používat stejnou metriku procesoru nebo paměti. Tato kombinace může vést ke konfliktům, protože se oba automatické škálování 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 jednotlivé automatické škálování zaměřovaly na různé aspekty škálování úloh, můžete použít VPA pro procesor nebo paměť ve spojení s hpA pro vlastní metriky.

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

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.

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

Automatické škálování clusteru

Aby bylo možné držet krok s poptávkou po aplikacích, automatické škálování clusteru sleduje pody, které není možné naplánovat kvůli omezením prostředků a odpovídajícím způsobem škáluje počet uzlů ve fondu uzlů. Pokud uzly nemají spuštěné pody, automatické škálování clusteru vertikálně navyšuje kapacitu počtu uzlů. Všimněte si, že 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ů

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 procesoru a paměti. 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í uzlu (NAP) zjednodušuje proces výběru skladové položky a rozhoduje se na základě požadavků na nevyřízené prostředky podu, optimální konfigurace virtuálního počítače pro spouštění úloh nejefektivnějším a nákladově efektivním způsobem.

Úspora se slevami za Azure

Rezervace Azure

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

Úsporný plán pro Azure

Pokud máte konzistentní výdaje, ale využití různorodých prostředků napříč skladovými jednotkami a oblastmi způsobí, že rezervace Azure jsou neproveditelné, zvažte nákup plánu Úspory v Azure. Podobně jako rezervace Azure fungují plány Úspory v Azure na ročním nebo tříletém období a automaticky se vztahují na všechny prostředky v rozsahu výhod. Potvrdíte, že u výpočetních prostředků strávíte pevnou hodinovou částku bez ohledu na skladovou položku nebo oblast. Nejvhodnější pro úlohy, které využívají různé prostředky nebo různé oblasti datacentra.

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é.

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. Nadace FinOps vydala několik kladných projektů:

  • FinOps Framework – provozní model pro postupy a implementaci FinOps
  • Specifikace FOCUS – technická specifikace a otevřený standard pro využití cloudu, náklady a fakturační data napříč všemi hlavními službami poskytovatele cloudu.

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: