Programování

Jak používat rozhraní Kubernetes Ingress API

Kubernetes zaznamenává přijetí napříč technologickým průmyslem a je na cestě stát se de-facto orchestrační platformou pro poskytování moderních cloudových služeb. Kubernetes poskytuje nejen primitiva pro nasazování mikroslužeb v cloudu, ale jde ještě o krok dále, pomáhá vývojářům definovat interakce a spravovat životní cyklus jejich API.

Rozhraní Ingress API v Kubernetes umožňuje vystavit vaši mikroslužbu vnějšímu světu a definovat zásady směrování pro severojižní provoz, tj. Provoz přicházející do vašeho virtuálního datového centra.

Výhody správy životních cyklů API využívajících kanály nepřetržité integrace a nepřetržitého doručování (CI / CD) s Ingressem jsou spousty, ale než to pokryjeme, začněme základními znalostmi.

Návrh a účel zdroje Ingress

Nejjednodušší popis klastru Kubernetes by byla sada spravovaných uzlů, které spouštějí aplikace v kontejnerech. Ve většině případů nejsou uzly v klastru Kubernetes přímo vystaveny veřejnému internetu. To dává smysl, protože vystavení všech služeb na uzlu by vytvořilo neuvěřitelné množství rizika. Aby bylo možné poskytnout veřejný přístup k vybraným službám, poskytuje Kubernetes prostředek Ingress.

Prostředek Ingress zpřístupňuje trasy HTTP a HTTPS z vně clusteru do vybraných služeb v rámci. Prostředek Ingress také poskytuje pravidla pro řízení provozu. Díky tomu je prostředek Ingress skvělým řešením pro zpracování různých API poskytovaných velkým množstvím jednotlivých služeb. Dělá to tak, že poskytuje jeden vstupní bod pro všechny klienty a poté zpracovává požadavky na služby typu back-end. Toto se běžně nazývá konfigurace fanout.

Kong

Prostředek Ingress lze také nastavit pro virtuální hostování založené na jménech, kde bude směrovat požadavky na základě záhlaví hostitele:

Kong

Aby fungoval prostředek Ingress, je třeba v clusteru Kubernetes nainstalovat řadič Ingress. Řadič vytvoří most mezi clusterem Kubernetes a různými veřejnými rozhraními, která existují. Například většina poskytovatelů cloudu hostujících Kubernetes poskytuje jedinečný řadič Ingress pro rozhraní s jejich předepsanými veřejnými metodami. Různé řadiče fungují navzájem odlišně a mohou poskytnout různé množství dalších funkcí.

Výhody používání Ingress ke správě životního cyklu API pomocí kanálů CI / CD

Prostředek Ingress je definován prostřednictvím deklarativního konfiguračního souboru, který je obvykle popsán v YAML. To je v souladu se všemi prostředky Kubernetes a umožňuje přímou integraci do moderních vzorů nasazení, jako je kombinovaná praxe CI / CD. Tohle je schopnost nasadit Ingress rychle, často a bezpečně. Tímto způsobem lze prostředek Ingress začlenit do stejného typu vzorů životního cyklu vývoje softwaru jako samotné aplikace.

Jak mohou vývojáři dosáhnout Ingress pomocí Kongu pro Kubernetes

Populární open source a cloud-agnostický řadič Ingress je Kong pro Kubernetes. Řadič Kong pro Kubernetes Ingress je postaven jako definice vlastních zdrojů (CRD) v rámci Kubernetes. Tím se vytvoří nativní prostředí Kubernetes pro ty, kteří jsou již zvyklí definovat prostředky v rámci této platformy.

Stejně jako vaše aplikace a služby lze Kong pro Kubernetes nainstalovat přes Manifest, Helm nebo Kustomize.

Ovladač Kong pro Kubernetes Ingress rozšiřuje možnosti prostředku Ingress poskytnutím rozsáhlé sady modulů plug-in, která pokrývá širokou škálu funkcí, včetně ověřování, analýzy, monitorování a transformací požadavků a odpovědí, abychom jmenovali alespoň některé. Poskytnutím těchto běžných (a někdy ne tak běžných) požadavků na řadič Ingress umožňuje Kong pro Kubernetes vývojářům více se soustředit na základní požadavky služeb. Hodnota tohoto se stává zvláště patrnou, když se organizace přesune z hrstky monolitických aplikací na stovky, ne-li tisíce, mikroslužeb.

Seznam běžných modulů plug-in najdete na stránce //docs.konghq.com/hub/.

Kong plug-iny jsou definovány jako prostředek Kubernetes, kde konfigurační část poskytuje nastavení jednotlivých doplňků.

Níže je uveden příklad zásuvného modulu omezujícího rychlost, který omezí provoz na pět požadavků za minutu:

Kong

Přidání modulu plug-in Kong do prostředku Kubernetes se provádí pomocí jednoduché anotace v části metadat prostředku. To umožňuje použití modulů plug-in na různých úrovních. Můžete například použít modul plug-in na celý prostředek Ingress nebo použít jeden v jemnějším způsobem na jednotlivý prostředek služby.

Zde je příklad výše uvedeného modulu plug-in použitého na prostředek Ingress:

Kong

Kong pro Kubernetes lze také integrovat do celé sady produktů Kong Enterprise, včetně Kong Studio, Kong Dev Portal, Kong Manager, Kong Brain a Kong Immunity. To umožňuje ještě pokročilejší zásuvné moduly Kong a úplné řešení životního cyklu API. Tato sada produktů zahrnuje vytváření a publikování specifikací API, správu vašich zdrojů Kong a dokonce i analýzu provozu.

Můžete použít přístup „spec-first“ k vývoji vašich API pomocí aplikace Kong Studio, kde najdete nástroje pro psaní dokumentace ve standardní specifikaci OpenAPI spolu s testovacími nástroji pro okamžitou zpětnou vazbu. Kong Studio také poskytuje nástroje pro práci s GraphQL. Kong Studio se synchronizuje přímo do Gitu, což umožňuje integrovat vaše soubory spec do pracovního postupu CI / CD, který může automatizovat aktualizace portálu Kong Dev.

Portál Kong Dev hostí vaši dokumentaci API (která může být soukromá nebo veřejná). Je extrémně přizpůsobitelný a umožňuje vám přizpůsobit ho stylu a značce vaší organizace. Mít dobře zdokumentované API je důležité pro produktivitu a mít dobře spravovaný tok mezi Kong Studio a Dev Portal může pomoci zajistit, aby byla dokumentace co nejaktuálnější.

Kong Manager poskytuje grafické rozhraní pro sledování a správu sady produktů Kong jako celku. Odtud můžete sledovat vztahy mezi vašimi trasami, službami a zásuvnými moduly. Můžete sledovat provoz v reálném čase a sledovat své spotřebitele.

Kong Brain analyzuje provoz přicházející přes Ingress a vytváří mapu vizuální služby závislostí mezi službami. Má také schopnost automaticky generovat specifikační dokumenty OpenAPI na základě map, které generuje. Toto je cenná funkce, protože i při nejlepších úmyslech nemusí být nasazené služby správně zdokumentovány.

Kong Immunity analyzuje veškerý provoz procházející vstupem a učí se vzory k identifikaci anomálií. Často se jedná o jemné požadavky, které nevynikají, ale mohly by být zajímavé, například neznámý parametr, který se stále snaží projít. To je také velmi cenná vlastnost, protože pozorování těchto jehel v kupce sena stovek tisíc položek protokolu není snadné.

Kong

Využití Ingressu na maximum

Prostředek Kubernetes Ingress poskytuje jediný vstupní bod z vnější strany Kubernetes do back-endových služeb v rámci. Využitím deklarativních definičních souborů lze se zdrojem Ingress zacházet jako se všemi ostatními formami kódu a integrovat ho do běžných životních cyklů vývoje softwaru.

Aby bylo možné překlenout komunikaci mimo Kubernetes, je vyžadován řadič Ingress. Kong for Kubernetes je řadič Ingress, který používá vlastní definice prostředků k výraznému rozšíření schopností prostředku Ingress poskytnutím velkého počtu modulů plug-in, což umožňuje vývojářům soustředit se na hlavní obchodní hodnotu. Společnost Kong má sadu podnikových nástrojů, které mohou výrazně zvýšit produktivitu a zabezpečení v celém vašem životním cyklu API.

Marco Palladino, vynálezce, vývojář softwaru a internetový podnikatel se sídlem v San Francisku, je technickým ředitelem a spoluzakladatelem společnosti Kong Inc.

Nové technologické fórum poskytuje místo, kde můžete prozkoumat a diskutovat o nově vznikajících podnikových technologiích v nebývalé hloubce a šíři. Výběr je subjektivní, založený na našem výběru technologií, které považujeme za důležité a pro čtenáře nejzajímavější. nepřijímá marketingové materiály ke zveřejnění a vyhrazuje si právo upravovat veškerý přispěný obsah. Všechny dotazy zasílejte na [email protected]