Co je Kubernetes?
Oddělený návrh mikroslužeb v kombinaci s atomicitou kontejnerů umožňuje škálovat aplikace, které reagují na poptávku. V komplexních řešeních, jako je aplikace pro sledování dronů, představuje proces nasazování, aktualizace, monitorování a odebírání kontejnerů výzvy.
Než se podíváte na to, co je v Kubernetes, měli byste nejprve porozumět dvěma konceptům: správě kontejnerů a orchestrátory.
Co je správa kontejnerů?
Správa kontejnerů je proces organizace, přidávání, odebírání a aktualizace většího počtu kontejnerů.
Aplikace pro sledování dronů se skládá z několika mikroslužeb zodpovědných za úlohy, jako je ukládání do mezipaměti, řazení do fronty nebo zpracování dat. Každá z těchto služeb je hostovaná v kontejneru, který je nasazený, aktualizovaný a škálovaný nezávisle na sobě.
Například na webu aplikace pro sledování dronů zjistíte, že potřebujete více instancí služby ukládání do mezipaměti webu, abyste během určitých denních časů zachovali výkon, takže přidáte další instance kontejneru služby ukládání do mezipaměti.
Dále předpokládejme, že jste zvýšili počet instancí ukládání do mezipaměti a potřebujete zavést novou verzi mikroslužby. Abyste mohli používat novou verzi, musíte aktualizovat všechny aktivní kontejnery.
Správa kontejnerů vám pomůže s těmito ručními opakovanými úlohami.
Co je orchestrátor kontejnerů?
Orchestrátor kontejnerů je systém, který automaticky nasazuje a spravuje kontejnerizované aplikace. V rámci správy orchestrátor zpracovává škálování dynamických změn v prostředí, aby zvýšil nebo snížil počet nasazených instancí aplikace. Zajišťuje také, že se při vydání nové verze služby aktualizují všechny nasazené instance kontejneru.
Definice Kubernetes
Kubernetes je přenosná a rozšiřitelná opensourcová platforma pro správu a orchestraci kontejnerizovaných úloh. Kubernetes zjednodušuje složité úlohy správy kontejnerů a poskytuje deklarativní konfiguraci pro orchestraci kontejnerů v různých výpočetních prostředích. Tato platforma orchestrace poskytuje stejné snadné použití a flexibilitu, kterou už možná znáte z nabídek PaaS (platforma jako služba) nebo infrastruktury jako služby (IaaS).
Výhody Kubernetes
Výhody při používání Kubernetes plynou z abstrakce úloh.
Mezi tyto úlohy patří:
Samoopravení kontejnerů; Například restartování kontejnerů, které selžou nebo nahrazují kontejnery
Dynamické navýšení nebo snížení počtu nasazených kontejnerů na základě poptávky
Automatizace kumulativních aktualizací a vrácení zpět kontejnerů
Správa úložiště
Správa síťového provozu
Ukládání a správa citlivých informací, jako jsou uživatelská jména a hesla
Důležité
Nezapomeňte, že všechny zmíněné aspekty Kubernetes vyžadují konfiguraci a dobrou znalost použitých základních technologií. Například pro konfiguraci sítě Kubernetes je zapotřebí rozumět konceptům, jako jsou virtuální sítě, nástroje pro vyrovnávání zatížení a reverzní proxy.
Aspekty Kubernetes
Kubernetes umožňuje zobrazit datacentrum jako jeden velký výpočetní prostředek. Nemusíte se starat o to, jak a kam nasazujete kontejnery, jenom o nasazení a škálování aplikací podle potřeby.
Je ale důležité si uvědomit, že Kubernetes není jediná nainstalovaná aplikace, která by se dodávala se všemi možnými komponentami potřebnými ke správě a orchestraci kontejnerového řešení.
Aspekty jako nasazení, škálování, vyrovnávání zatížení, protokolování a monitorování jsou všechny volitelné. Je na vás, abyste pro tyto aspekty našli nejlepší řešení, které bude vyhovovat vašim potřebám.
Kubernetes neomezuje typy aplikací, které se na platformě dají spouštět. Pokud se aplikace dá spustit v kontejneru, dá se spustit i v Kubernetes. Aby se zajistilo optimální využití kontejnerizovaných řešení, musí vývojáři rozumět konceptům, jako je architektura mikroslužeb.
Kubernetes neposkytuje middleware, architektury pro zpracování dat, databáze, mezipaměti ani systémy úložiště clusteru. Všechny tyto položky se spouští jako kontejnery nebo jako součást jiné nabídky služeb.
Aby Kubernetes spouštěl kontejnery, potřebuje modul runtime kontejneru, jako je Docker nebo kontejner. Modul runtime kontejneru je objekt, který odpovídá za správu kontejnerů. Mezi jeho činnosti patří například spouštění a zastavování kontejnerů a hlášení jejich stavu.
Vaší odpovědností je správa prostředí 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ě.
Cloudové služby, jako je Azure Kubernetes Service (AKS), tyto problémy snižují tím, že poskytují hostované prostředí Kubernetes. Tyto služby také zjednodušují nasazování a správu kontejnerizovaných aplikací v Azure. Díky AKS získáte výhody opensourcové služby Kubernetes, aniž byste se museli potýkat se složitou správou a provozní režií, které jsou spjaty s vedením vlastního clusteru Kubernetes.
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.