Kako se koristi Kubernetes Ingress API

Kubernetes bilježi usvajanje u tehnološkoj industriji i na putu je da postane de facto platforma za orkestraciju modernih usluga u oblaku. Kubernetes ne nudi samo primitive za postavljanje mikro usluga u oblaku, već ide i korak dalje, pomažući programerima da definiraju interakcije i upravljaju životnim ciklusom svojih API-ja. 

API Ingress u Kubernetesu omogućuje vam izlaganje mikroservisa vanjskom svijetu i definiranje pravila usmjeravanja za promet sjever-jug, odnosno promet koji dolazi u vaš virtualni podatkovni centar. 

Prednosti upravljanja API životnim ciklusima pomoću kontinuirane integracije i kontinuirane isporuke (CI / CD) cjevovoda s Ingressom ima u izobilju, no prije nego što ovo pokrijemo, krenimo s nekim temeljnim znanjem.

Dizajn i svrha resursa Ingress

Najjednostavniji opis Kubernetes klastera bio bi skup upravljanih čvorova koji pokreću aplikacije u spremnicima. U većini slučajeva čvorovi u Kubernetesovom klasteru nisu izravno izloženi javnom internetu. To ima smisla, jer bi izlaganje svih usluga na čvoru stvorilo nevjerojatnu količinu rizika. Kako bi pružio pristup odabranim uslugama usmjeren ka javnosti, Kubernetes pruža resurs Ingress.

Resurs Ingress izlaže HTTP i HTTPS rute izvan klastera odabranim uslugama unutar. Resurs Ingress također nudi pravila za kontrolu prometa. To čini resurs Ingress izvrsnim rješenjem za rukovanje raznim API-ima koje pruža velika količina pojedinačnih usluga. To čini pružajući jedinstvenu ulaznu točku za sve klijente, a zatim obrađuje zahtjeve za pozadinske usluge. To je obično poznato kao konfiguracija obožavanja.

Kong

Resurs Ingress također se može postaviti za virtualni hosting zasnovan na imenu, gdje će usmjeravati zahtjeve na temelju zaglavlja hosta:

Kong

Da bi resurs Ingress mogao funkcionirati, na klasteru Kubernetes treba instalirati kontroler Ingress. Kontrolor stvara most između klastera Kubernetes i različitih postojećih javnih sučelja. Na primjer, većina pružatelja usluga u oblaku koji hostiraju Kubernetes nude jedinstveni kontroler Ingress za sučelje s propisanim javnim metodama. Svi različiti kontroleri međusobno se razlikuju i mogu pružiti različitu količinu dodatnih funkcija.

Prednosti upotrebe Ingressa za upravljanje životnim ciklusom API-ja pomoću CI / CD cjevovoda

Resurs Ingress definiran je kroz deklarativnu konfiguracijsku datoteku, koja je obično opisana u YAML-u. To je u skladu sa svim Kubernetesovim resursima i omogućuje izravnu integraciju u suvremene obrasce implementacije, poput kombinirane prakse CI / CD-a. Sve ovo znači sposobnost brze, česte i sigurne primjene Ingressovih promjena. Na taj se način izvor Ingress može uključiti u isti tip obrazaca životnog ciklusa razvoja softvera kao i same aplikacije.

Kako programeri mogu ostvariti Ingress koristeći Kong za Kubernetes

Popularni kontroler Ingress s otvorenim kodom i agnostičkim oblakom je Kong za Kubernetes . Kong za Kubernetesov kontroler unosa izgrađen je kao prilagođene definicije resursa (CRD) unutar Kubernetesa. Ovo stvara Kubernetesovo iskustvo za one koji su već navikli definirati resurse na ovoj platformi.

Kao i vaše aplikacije i usluge, Kong za Kubernetes može se instalirati putem programa Manifest, Helm ili Kustomize.

Kong za Kubernetes Ingress Controller proširuje mogućnosti resursa Ingress pružajući opsežni skup dodataka koji pokriva širok spektar mogućnosti, uključujući provjeru autentičnosti, analitiku, nadzor i transformacije zahtjeva i odgovora, da nabrojimo samo neke. Pružajući ove uobičajene (a ponekad i ne tako uobičajene) zahtjeve na kontroloru Ingress, Kong za Kubernetes omogućuje programerima da se više usredotoče na temeljne zahtjeve usluga. Vrijednost ovoga postaje posebno očigledna kada se organizacija prebaci s pregršt monolitnih aplikacija na stotine, ako ne i tisuće mikro usluga.

Popis uobičajenih dodataka potražite na //docs.konghq.com/hub/.

Kong dodaci definirani su kao Kubernetesov resurs, gdje odjeljak za konfiguraciju pruža postavke pojedinih dodataka.

Ispod je primjer dodatka za ograničavanje brzine koji će ograničiti promet na pet zahtjeva u minuti:

Kong

Dodavanje Kong dodatka u Kubernetesov resurs vrši se jednostavnom bilješkom u odjeljku metapodataka resursa. To omogućuje primjenu dodataka na različite razine. Na primjer, dodatak možete primijeniti na cijeli resurs Ingress ili ga primijeniti na precizniji način na pojedini resurs usluge.

Evo primjera gornjeg dodatka koji se primjenjuje na resurs Ingress:

Kong

Kong za Kubernetes također se može integrirati u puni paket proizvoda Kong Enterprise, uključujući Kong Studio, Kong Dev portal, Kong Manager, Kong Brain i Kong Immunity. To omogućuje još naprednije dodatke Kong, kao i cjelovito rješenje API-ja za životni ciklus. Ovaj paket proizvoda obuhvaća autorizaciju i objavljivanje API specifikacija, kao i upravljanje vašim Kong resursima, pa čak i analizu prometa.

Možete pristupiti "spec-first" pristupu razvoju API-ja koristeći Kong Studio, gdje ćete pronaći alate za pisanje dokumentacije u standardnoj specifikaciji OpenAPI, zajedno s alatima za testiranje za trenutne povratne informacije. Kong Studio također nudi alate za rad s GraphQL-om. Kong Studio sinkronizira se izravno u Git, što omogućuje integriranje vaših datoteka sa specifikacijama u CI / CD tijek rada koji može automatizirati ažuriranja Kong Dev portala.

Kong Dev Portal domaćin je vašoj API dokumentaciji (koja može biti privatna ili javna). Izuzetno je prilagodljiv, što vam omogućuje da ga prilagodite stilu i robnoj marki vaše organizacije. Imati dobro dokumentirani API važan je za produktivnost, a dobro upravljani protok između Kong Studija i Dev portala može vam osigurati da dokumentacija bude što ažurnija.

Kong Manager nudi grafičko sučelje za promatranje i upravljanje paketom proizvoda Kong u cjelini. Odavde možete promatrati odnos između svojih ruta, usluga i dodataka. Možete u stvarnom vremenu pratiti promet i pratiti svoje potrošače.

Kong Brain analizira promet koji dolazi kroz Ingress i stvara vizualnu uslužnu mapu međuovisnih ovisnosti. Također ima mogućnost automatskog generiranja OpenAPI spec dokumenata na temelju karata koje generira. Ovo je vrijedna značajka, jer čak i uz najbolju namjeru, raspoređene usluge možda neće biti ispravno dokumentirane. 

Kong Immunity analizira sav promet koji dolazi kroz Ingress i uči obrasce za prepoznavanje anomalija. To su često suptilni zahtjevi koji se ne ističu, ali bi mogli biti zanimljivi, poput nepoznatog parametra koji se neprestano pokušava probiti. To je također vrlo vrijedna značajka jer uočavanje ovih igala u plastu sijena stotinama tisuća zapisa u dnevniku nije lako.

Kong

Iskoristite Ingress na najbolji mogući način

Resurs Kubernetes Ingress pruža jedinstvenu ulaznu točku izvan Kubernetesa do back-end usluga unutar. Korištenjem deklarativnih datoteka definicije, resurs Ingress može se tretirati kao i svi drugi oblici koda i integrirati u uobičajene životne cikluse razvoja softvera.

Da bi se premostila komunikacija izvan Kubernetesa, potreban je kontroler Ingressa. Kong for Kubernetes je Ingress kontroler koji koristi prilagođene definicije resursa da bi uvelike proširio mogućnosti resursa Ingress pružajući velik broj dodataka, omogućavajući programerima da se usredotoče na vrijednost poslovne djelatnosti. Kong ima paket poslovnih alata koji mogu uvelike poboljšati produktivnost i sigurnost tijekom čitavog vašeg API životnog ciklusa.

Marco Palladino, izumitelj, programer softvera i internetski poduzetnik sa sjedištem u San Franciscu, tehnički je direktor i suosnivač Kong Inc.

-

New Tech Forum pruža mjesto za istraživanje i raspravu o novonastaloj tehnologiji poduzeća u neviđenoj dubini i širini. Izbor je subjektivan, zasnovan na našem odabiru tehnologija za koje vjerujemo da su važne i da najviše zanimaju čitatelje. ne prihvaća marketinške kolaterale za objavljivanje i zadržava pravo uređivanja cjelokupnog sadržaja. Pošaljite sve upite na [email protected]