Co je Azure Kubernetes Service?
Začněme několika definicemi a rychlou prohlídkou služby Azure Kubernetes Service (AKS). Tento přehled obsahuje informace, které vám pomůžou rozhodnout, jestli je AKS dobrou platformou pro strategii správy kontejnerizace.
Co je kontejner?
Kontejner je atomická jednotka softwaru, která zabalí kód, závislosti a konfiguraci pro konkrétní aplikaci. Kontejnery umožňují rozdělit monolitické aplikace do jednotlivých služeb, které tvoří řešení. Tato změna architektury naší aplikace nám umožňuje nasadit tyto samostatné služby prostřednictvím kontejnerů.
Proč použít kontejner?
Předpokládejme, že vaše řešení pro sledování prostředků zahrnovalo tři hlavní aplikace:
Sledovací web, který obsahuje mapy a informace o sledovaných prostředcích.
Služba pro zpracování dat, která shromažďuje a zpracovává informace odeslané ze sledovaných prostředků.
Databáze MSSQL pro ukládání informací o zákazních zachycených z webu.
Uvědomujete si, že pokud chcete splnit poptávku zákazníků, musíte škálovat své řešení na více instancí.
Virtual Machines (VM)
Jednou z možností je nasadit nový virtuální počítač pro každou aplikaci hostované v několika oblastech. Potom aplikace zkopírujte do nových virtuálních počítačů. Přitom ale zodpovídáte za správu jednotlivých virtuálních počítačů, které používáte.
Režijní náklady na údržbu se při škálování zvyšují. Verze a závislosti operačního systému virtuálního počítače pro každou aplikaci je potřeba zřídit a nakonfigurovat tak, aby odpovídaly. Když pro aplikace použijete upgrady, které mají vliv na operační systém a hlavní změny, existují bezpečnostní opatření. Pokud se během upgradu zobrazí nějaké chyby, je vyžadováno vrácení instalace zpět a způsobí přerušení, například výpadky nebo zpoždění.
Nasazení v předchozím diagramu je těžkopádné, někdy náchylné k chybám a není snadné škálovat jednotlivé služby. Například nemůžete snadno škálovat pouze službu ukládání do mezipaměti používanou ve webové aplikaci. Tyto typy problémů lze řešit pomocí kontejnerů.
Koncept kontejneru poskytuje tři hlavní výhody:
Neměnnost – neměnná povaha kontejneru umožňuje spolehlivé nasazení a spouštění se stejným chováním z jednoho výpočetního prostředí do jiného. Image kontejneru, která se testuje v prostředí kontroly kvality, je stejná image kontejneru, která se nasazuje v produkčním prostředí.
Menší velikost – kontejner je podobný virtuálnímu počítači, ale bez jádra pro každý počítač. Místo toho sdílejí jádro hostitele. Virtuální počítače používají k uložení operačního systému i aplikace, kterou chcete spustit, velký soubor image. Oproti tomu kontejner nepotřebuje operační systém, stačí mu aplikace.
Lightweight – Kontejner vždy spoléhá na hostitele nainstalovaného operačního systému pro služby specifické pro jádro. Zjednodušená vlastnost činí kontejnery méně náročné na prostředky, takže instalace více kontejnerů je možná v rámci stejného výpočetního prostředí.
Spouštění je rychlé – Kontejnery se spouštějí během několika sekund, na rozdíl od virtuálních počítačů, což může trvat několik minut.
Díky těmto výhodám jsou kontejnery oblíbenou volbou pro vývojáře a it operace a proč se řada z nich přechází z virtuálních počítačů.
Co je správa kontejnerů?
I když jsou kontejnery funkčně podobné virtuálním počítačům, jejich účely se liší. Kontejner má odlišný životní cyklus, který existuje jako dočasný počítač. Jeho stav prochází fázemi čekání, spuštění a ukončení. Díky tomuto životnímu cyklu jsou kontejnery více uvolnitelné a ovlivňují způsob, jakým vývojáři a IT operace uvažují o správě velkých vzájemně propojených aplikací. Správa kontejnerů zahrnuje nasazení, upgrade, monitorování a odebrání kontejnerů.
Předpokládejme například, že zjistíte, že v poledne je více provozu webu, takže ke správě výkonu potřebujete více instancí služby ukládání do mezipaměti webu. Tento problém plánujete vyřešit přidáním dalších kontejnerů služby ukládání do mezipaměti.
Teď je čas zavést novou verzi služby ukládání do mezipaměti. Jak aktualizujete všechny kontejnery? Jak odeberete všechny starší verze?
Tyto typy otázek vyrovnávání zatížení vyžadují systém pro správu nasazení kontejneru.
Co je Kubernetes?
Kubernetes je přenosná a rozšiřitelná opensourcová platforma pro automatizaci nasazení, škálování a správy kontejnerizovaných úloh. Kubernetes abstrahuje složitou správu kontejnerů a poskytuje nám deklarativní konfiguraci pro orchestraci kontejnerů v různých výpočetních prostředích. Tato platforma pro orchestraci poskytuje stejně snadné používání a flexibilitu jako nabídky PaaS (platforma jako služba) a IaaS (infrastruktura jako služba).
Kubernetes umožňuje zobrazit datacentrum jako jeden velký počítač. Nemusíme si dělat starosti s tím, jak a kde nasadíme kontejnery, ale jenom s nasazením a škálováním aplikací podle potřeby.
Tady je několik dalších aspektů, které byste měli mít na paměti o Kubernetes:
Kubernetes není úplnou nabídkou PaaS. Funguje na úrovni kontejneru a nabízí jenom společnou sadu funkcí PaaS.
Kubernetes není monolitickou aplikací. Nejedná se o jednu aplikaci, která je nainstalována. Aspekty jako nasazení, škálování, vyrovnávání zatížení, protokolování a monitorování jsou všechny volitelné.
Kubernetes neomezuje typy aplikací, které se mají spustit. Pokud vaše aplikace může běžet v kontejneru, spustí se v Kubernetes.
Vaši vývojáři potřebují porozumět konceptům, jako je architektura mikroslužeb, aby bylo možné optimálně využívat řešení kontejnerů.
Kubernetes neposkytuje middleware, architektury zpracování dat, databáze, mezipaměti nebo clusterové úložné systémy. Všechny tyto položky se spouští jako kontejnery nebo jako součást jiné nabídky služeb.
Nasazení Kubernetes se konfiguruje jako cluster. Cluster se skládá z alespoň jednoho primárního počítače nebo řídicí roviny a jednoho nebo více pracovních počítačů. U produkčních nasazení je upřednostňovanou konfigurací nasazení s vysokou dostupností se třemi až pěti replikovanými počítači řídicí roviny, které se označují jako uzly nebo uzly agenta.
Se všemi výhodami, které s Kubernetes získáte, zodpovídáte za nalezení nejlepšího řešení, které odpovídá vašim potřebám pro řešení těchto aspektů. Mějte na paměti, že zodpovídáte za údržbu clusteru Kubernetes. Musíte například spravovat upgrady operačního systému a instalaci a upgrady Kubernetes. Musíte také spravovat hardwarovou konfiguraci hostitelských počítačů, jako jsou sítě, paměti a úložiště.
Poznámka:
Název Kubernetes se někdy zkracuje na K8s. Číslo 8 představuje 8 znaků mezi písmeny K a s ve slově K[ubernete]s.
Co je Azure Kubernetes Service (AKS)?
AKS spravuje hostované prostředí Kubernetes a usnadňuje nasazování a správu kontejnerizovaných aplikací v Azure. Prostředí AKS využívá funkce, jako jsou automatické aktualizace, automatické opravy a snadné škálování. Azure spravuje řídicí rovinu clusteru Kubernetes zdarma. Vy spravujete agentské uzly v clusteru a platíte jenom za virtuální počítače, na kterých tyto uzly běží.
Cluster můžete vytvořit a spravovat na webu Azure Portal nebo pomocí Azure CLI. Při vytváření clusteru existují šablony Resource Manageru pro automatizaci vytváření clusteru. Pomocí těchto šablon máte přístup k funkcím, jako jsou pokročilé možnosti sítě, Microsoft Entra Identity a monitorování prostředků. Pak můžete nastavit triggery a události pro automatizaci nasazení clusteru pro více scénářů.
S AKS získáte výhody opensourcového Kubernetes bez větší složitosti nebo provozní režie, které můžou zahrnovat jenom Kubernetes.