Sdílet prostřednictvím


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á oprávnění a automatické škálování
  • 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 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čů:

Řada skladových položek Popis Případ použití
Spotové virtuální počítače Azure Škálovací sady spotových virtuálních počítačů Azure vrátí fondy spotových uzlů a nasadí 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žívat 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. 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í.
Procesory založené na Arm ampere Altra (Arm64) Virtuální počítače Arm64 jsou efektivní a nákladově efektivní, ale neohrožují výkon. S podporou fondu uzlů Arm64 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 vaší úlohy 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 jednotky grafického zpracování (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.

Kontrola paměťových možností

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 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ětivé víceklientské prostředí můžete sdílet clustery a infrastrukturu 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 zrychluje dobu nasazení a zvyšuje efektivitu operací š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ů zabrání jednotlivým oborům názvů využívat 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í spuštění nebo zastavení clusteru

Když ponecháte bezobslužné, malé clustery pro vývoj/testování můžou nabíhání zbytečných nákladů. 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žití rezervací kapacity

Rezervace kapacity umožňují rezervovat výpočetní kapacitu v oblasti Azure nebo v zóně dostupnosti po libovolnou dobu. Rezervovaná kapacita je 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 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

Pokud ingestujete data metrik prostřednictvím Přehledů kontejnerů, 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ů.

Log Analytics

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ě nebo 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ů.

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ů

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 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ých metrik, 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í

Na stejných metrikách procesoru nebo paměti byste neměli používat analyzátor VPA se službou HPA. 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 každý automatický škálování zaměřoval na různé aspekty škálování úloh, můžete použít VPA pro procesor nebo paměť s využitím 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 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ů

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řízení uzlu (NAP) zjednodušuje proces výběru skladové položky a rozhoduje o optimální konfiguraci virtuálního počítače na základě požadavků na nevyřízené prostředky podů, aby bylo možné spouštět úlohy 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í útratu, 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 úspor 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 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é.

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. Základ FinOps má několik hlesitelných projektů, například:

  • 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: