Programmēšana

Kā izmantot Kubernetes Ingress API

Kubernetes visā pasaulē pieņem ieviešanu un ir ceļā, lai kļūtu par de facto orķestrēšanas platformu modernai mākoņpakalpojumu piegādei. Kubernetes nodrošina ne tikai primitīvus mikropakalpojumu izvietošanai mākonī, bet arī soli tālāk, palīdzot izstrādātājiem definēt mijiedarbību un pārvaldīt savu API dzīves ciklu.

Ingress API Kubernetes ļauj jums pakļaut savu mikropakalpojumu ārpasaulei un noteikt maršrutēšanas politikas ziemeļu-dienvidu datplūsmai, t.i., trafikai, kas nonāk jūsu virtuālajā datu centrā.

API dzīves cikla pārvaldības priekšrocības, izmantojot nepārtrauktas integrācijas un nepārtrauktas piegādes (CI / CD) cauruļvadus ar Ingress, ir daudz, taču, pirms mēs to aplūkosim, sāksim ar dažām pamatzināšanām.

Ingress resursa dizains un mērķis

Vienkāršākais Kubernetes klastera apraksts būtu pārvaldīto mezglu kopa, kas palaiž lietojumprogrammas konteineros. Vairumā gadījumu Kubernetes kopas mezgli netiek tieši pakļauti publiskajam internetam. Tam ir jēga, jo visu pakalpojumu pakļaušana mezglā radītu neticami lielu risku. Lai nodrošinātu publisku piekļuvi izvēlētiem pakalpojumiem, Kubernetes nodrošina resursu Ingress.

Resurss Ingress pakļauj HTTP un HTTPS maršrutus no klastera ārpuses uz atlasītajiem pakalpojumiem. Resurss Ingress arī nodrošina noteikumus trafika kontrolei. Tas padara Ingress resursu par lielisku risinājumu dažādu API apstrādei, ko nodrošina liels daudzums atsevišķu pakalpojumu. Tas tiek darīts, nodrošinot visiem klientiem vienu ieejas punktu un pēc tam apstrādājot pieprasījumus aizmugurējiem pakalpojumiem. To parasti sauc par fanout konfigurāciju.

Kong

Resursu Ingress var iestatīt arī uz vārdu balstītai virtuālai mitināšanai, kur tas maršrutēs pieprasījumus, pamatojoties uz resursdatora galveni:

Kong

Lai resurss Ingress darbotos, Kubernetes kopā ir jāinstalē Ingress kontrolieris. Kontrolieris izveido tiltu starp Kubernetes kopu un dažādajām pastāvošajām saskarnēm. Piemēram, lielākā daļa mākoņpakalpojumu sniedzēju, kas mitina Kubernetes, nodrošina unikālu Ingress kontrolieri, kas nodrošina saskarni ar viņu noteiktajām publiski sastopamajām metodēm. Visi dažādie kontrolieri darbojas atšķirīgi viens no otra un var nodrošināt atšķirīgu daudzumu papildu funkcionalitātes.

Priekšrocības, izmantojot Ingress, lai pārvaldītu API dzīves ciklu, izmantojot CI / CD cauruļvadus

Resurss Ingress tiek definēts, izmantojot deklaratīvo konfigurācijas failu, kas parasti tiek aprakstīts YAML. Tas atbilst visiem Kubernetes resursiem un ļauj vienkārši integrēt mūsdienīgos izvietošanas modeļos, piemēram, kombinētajā CI / CD praksē. Tas nozīmē spēju ātri, bieži un droši izvietot Ingress. Tādā veidā resursu Ingress var iekļaut tāda paša veida programmatūras izstrādes dzīves cikla modeļos kā pašas lietojumprogrammas.

Kā izstrādātāji var paveikt Ingress, izmantojot Kong for Kubernetes

Populārs atvērtā koda un mākoņa-agnostikas kontrolieris Ingress ir Kong for Kubernetes. Kong for Kubernetes iekļūšanas kontrolieris ir izveidots kā pielāgotas resursu definīcijas (CRD) Kubernetes. Tas rada Kubernetes vietējo pieredzi tiem, kas jau ir pieraduši definēt resursus šajā platformā.

Tāpat kā jūsu lietotnes un pakalpojumus, arī Kong for Kubernetes var instalēt, izmantojot Manifest, Helm vai Kustomize.

Kong for Kubernetes Ingress Controller paplašina Ingress resursa iespējas, nodrošinot plašu spraudņu komplektu, kas aptver plašu iespēju klāstu, tostarp autentifikāciju, analīzi, uzraudzību, kā arī pieprasījumu un atbilžu pārveidošanu. Nodrošinot šīs kopējās (un dažreiz ne tik bieži) prasības Ingress kontrolierim, Kong for Kubernetes ļauj izstrādātājiem vairāk koncentrēties uz pakalpojumu pamatprasībām. Tā vērtība kļūst īpaši acīmredzama, kad organizācija pāriet no nedaudzām monolītām lietojumprogrammām uz simtiem, ja ne pat tūkstošiem, mikropakalpojumu.

Parasto spraudņu sarakstu skatiet vietnē //docs.konghq.com/hub/.

Kong spraudņi tiek definēti kā Kubernetes resurss, kur konfigurācijas sadaļā ir norādīti atsevišķu spraudņu iestatījumi.

Zemāk ir ātrumu ierobežojoša spraudņa piemērs, kas ierobežos datplūsmu līdz pieciem pieprasījumiem minūtē:

Kong

Kong spraudņa pievienošana Kubernetes resursam tiek veikta, izmantojot vienkāršu anotāciju resursa metadatu sadaļā. Tas ļauj spraudņus lietot dažādiem līmeņiem. Piemēram, jūs varat izmantot spraudni visam Ingress resursam vai piemērot to sīkāk, individuālam pakalpojumu resursam.

Šeit ir piemērs iepriekšminētajam spraudnim, kas tiek izmantots Ingress resursam:

Kong

Kong for Kubernetes var integrēt arī pilnā Kong Enterprise produktu komplektā, tostarp Kong Studio, Kong Dev Portal, Kong Manager, Kong Brain un Kong Immunity. Tas ļauj izmantot vēl modernākus Kong spraudņus, kā arī pilnu API dzīves cikla risinājumu. Šis produktu komplekts aptver API specifikāciju autorēšanu un publicēšanu, kā arī Kong resursu pārvaldību un pat trafika analīzi.

Varat izmantot “spec-first” pieeju savu API izstrādei, izmantojot Kong Studio, kur standarta OpenAPI specifikācijā atradīsit rīkus dokumentācijas rakstīšanai, kā arī testēšanas rīkus tūlītējai atgriezeniskajai saitei. Kong Studio piedāvā arī rīkus darbam ar GraphQL. Kong Studio tiek sinhronizēts tieši Git, kas ļauj jūsu spec failus integrēt CI / CD darbplūsmā, kas var automatizēt Kong Dev portāla atjauninājumus.

Kong Dev portālā atrodas jūsu API dokumentācija (kas var būt privāta vai publiska). Tas ir ārkārtīgi pielāgojams, ļaujot to pielāgot jūsu organizācijas stilam un zīmolam. Pareizi dokumentēta API pieejamība ir svarīga produktivitātes ziņā, un labi pārvaldīta plūsma starp Kong Studio un Dev portālu var palīdzēt nodrošināt, ka dokumentācija ir pēc iespējas jaunāka.

Kong Manager nodrošina grafisko saskarni, lai novērotu un pārvaldītu Kong produktu kopumu. Šeit varat novērot attiecības starp maršrutiem, pakalpojumiem un spraudņiem. Jūs varat reāllaikā pievērst uzmanību satiksmei un izsekot saviem klientiem.

Kong Brain analizē plūsmu, kas nāk caur Ingress, un izveido vizuālo pakalpojumu karti starp dienestu atkarībām. Tam ir arī iespēja automātiski ģenerēt OpenAPI spec dokumentus, pamatojoties uz tā ģenerētajām kartēm. Šī ir vērtīga funkcija, jo pat ar vislabākajiem nodomiem izvietotie pakalpojumi var nebūt pareizi dokumentēti.

Kong Immunity analizē visu trafiku, kas nāk caur Ingress, un uzzina modeļus, lai identificētu anomālijas. Tie bieži ir smalki pieprasījumi, kas neizceļas, bet varētu interesēt, piemēram, nezināms parametrs, kas turpina mēģināt tikt cauri. Šī ir arī ļoti vērtīga funkcija, jo šo adatu pamanīšana siena kaudzē simtiem tūkstošu žurnālu ierakstu nav vienkārša.

Kong

Maksimāli izmantot Ingress

Resurss Kubernetes Ingress nodrošina vienu ieejas punktu ārpus Kubernetes uz aizmugures pakalpojumiem. Izmantojot deklaratīvās definīcijas failus, Ingress resursu var apstrādāt tāpat kā visus citus koda veidus un integrēt kopējos programmatūras izstrādes dzīves ciklos.

Lai pārvarētu sakarus ārpus Kubernetes, ir nepieciešams Ingress kontrolieris. Kong for Kubernetes ir Ingress kontrolieris, kas izmanto pielāgotas resursu definīcijas, lai ievērojami paplašinātu Ingress resursa iespējas, nodrošinot lielu skaitu spraudņu, ļaujot izstrādātājiem koncentrēties uz pamata biznesa vērtību. Kong ir pieejams uzņēmuma rīku komplekts, kas var ievērojami uzlabot produktivitāti un drošību visā jūsu API dzīves ciklā.

Marco Palladino, izgudrotājs, programmatūras izstrādātājs un interneta uzņēmējs, kas atrodas Sanfrancisko, ir CTO un līdzdibinātājs Kong Inc.

Jauno tehnoloģiju forums nodrošina vietu, kur bezprecedenta dziļumā un plašumā izpētīt un pārrunāt topošās uzņēmuma tehnoloģijas. Izvēle ir subjektīva, balstoties uz mūsu izvēlētajām tehnoloģijām, kuras, mūsuprāt, ir svarīgas un interesē lasītājus. nepieņem mārketinga nodrošinājumu publicēšanai un patur tiesības rediģēt visu ieguldīto saturu. Nosūtiet visus jautājumus uz [email protected]