Nové aplikace totiž obvykle nejsou kontejnerizované end-to-end a servery s databázemi často nejsou přizpůsobeny nové architektuře. To může mít několik důvodů, například se jedná o větší podnik, jehož on premise databázové systémy běží na virtuálních strojích či fyzických serverech.
Zajímavý průzkum na téma největších výzev podniků v souvislosti s používáním nástroje Kubernetes provedla organizace Cloud Native Computing Foundation, mezi jejíž 280 členů patří i největší technologické firmy. Průzkumu se zúčastnilo téměř osm set IT specialistů, kteří s Kubernetem pracují. Téměř polovina (46 %) respondentů uvedla, že největší výzvu představuje bezpečnost, následována síťováním (42 %), ukládáním (41 %) a monitoringem (38 %). Tyto oblasti, Kubernetes sám o sobě nedokáže vyřešit, a proto na to musejí reagovat další řešení, respektive platformy pro jeho správu.
Výzva číslo jedna: Bezpečnost
Je nutné si hned na začátku uvědomit, že nikdy nebylo a není cílem kontejnerů zajistit bezpečnost. Kontejnerizace ale ovlivňuje podobu celého jejího konceptu v datových centrech a orchestrace jej mění znovu. Oblasti bezpečnosti, které se týkají fungování workloadů v rámci Kubernetu lze rozdělit do tří úrovní. Zaprvé jde o aplikační úroveň, kam patří šifrování dat či throttling. Dále se pak jedná o bezpečnost na úrovni platformy, kde řešíme věci jako správu klíčů, ochranu před DDoS útoky či bezpečné ukládání dat. A nakonec je třeba zajistit bezpečnost prostředí – například nastavení přístupu do Kubernetu či k jednotlivým nodům. Je proto důležité, aby platforma postavená nad Kubernetem měla integrovanou možnost propojit systém s cloudovými bezpečnostními řešeními, včetně globální threat intelligence. Ta dnes hraje klíčovou roli, neboť moderní hrozby se šíří rychle po celém světě a právě threat intelligence je promítá do bezpečnostního řešení.
Výzva číslo dvě: Infrastruktura
Jakmile se podnik rozhodne nasadit kontejnery, znamená to i změny v infrastruktuře. Z toho vychází i druhá a třetí největší výzva, kterou respondenti jmenovali. Je třeba totiž nastavit úložiště, síťování, definovat používaný operační systém a určit poskytovatele podpory. Kubernetes je orchestrátor, který spoléhá na abstrakce na úrovni clusteru, jmenného prostoru, nodů a podů (skupina jednoho nebo více kontejnerů, které sdílí úložiště, síť a specifikace pro provoz kontejnerů). Poté provádí automatické změny za chodu na základě nastavených politik, které ovlivňují komunikaci uvnitř a mezi clustery, jako je automatické škálování či self-healing aplikací. Podniky potřebují pro hladký chod takové síťové řešení pro kontejnery, které jim umožní vytvářet a spravovat fabriky pro fyzické servery, virtuální stroje a kontejnerové síťové konstrukty na úrovni clusteru. Do toho je nutné také zajistit síťové řešení (ideálně softwarově definované), které zajistí správu provozu mezi clustery. Navíc mnoho workloadů v kontejnerech bude vyžadovat trvalé uložení dat. Distribuovaná a softwarově-definovaná úložiště jsou skvělým řešením pro úložná řešení s automatickou replikací, kdy mohou poskytovat persistentní svazky, souborové systémy, rozhraní pro ukládání objektů nebo přímo distribuované databázové služby.
Výzva číslo tři: Monitoring
Ještě bych se zastavil u problematiky monitoringu. Pro mnoho podniků, které přešly na kontejnerizované aplikace, totiž představoval jednu z největších změn. Dříve byl optimalizovaný kolem provozu virtuální strojů. Kubernetes má jednu klíčovou funkci týkající se obnovy. Jakmile některý pod spadne, Kubernetes jej restartuje. Zajišťuje tak hladký provoz, i když má v reálu systém výpadky. Třeba i několikrát denně. Nicméně i přesto potřebujete vědět, co se stalo a kde je problém. Proto je API rozhraní, které dokáže monitorovat Kubernetes nody velmi přínosné.
Vhodná platforma pro správu životního cyklu nástroje Kubernetes odpovídá na všechny tyto nedostatky – zajistí bezpečnou komunikaci mezi jednotlivými nody, nastaví infrastrukturu pro hladký chod, zvládne load balancing a v přehledném rozhraní umožní jednoduchou správu. Graf ukazuje, jak k těmto oblastem přistupujeme v rámci naší platformy Cisco, která umožňuje správu celého životního cyklu Kubernetu.
Příště
V příštím díle tohoto miniseriálu se budu zabývat nasazování v on-premise prostředí a ve veřejném cloudu. Ukážu podobnosti i rozdíly obou prostředí a podíváme se na problematiku mikroslužeb. Na závěr vás krátce seznámím s projektem Istio.
Martin Diviš
Autor článku je systémový inženýr společnosti Cisco.