Ohjelmointi

Kuinka käyttää Kubernetes Ingress -sovellusliittymää

Kubernetes näkee käyttöönoton koko teknologiateollisuudessa ja on tulossa tosiasialliseksi orkestrointialustaksi modernille pilvipalvelujen toimitukselle. Kubernetes tarjoaa paitsi primitiivejä mikropalvelujen käyttöönottamiseksi pilvessä myös yhden askeleen pidemmälle, auttaen kehittäjiä määrittelemään vuorovaikutukset ja hallitsemaan sovellusliittymiensä elinkaarta.

Kubernetesin Ingress-sovellusliittymän avulla voit paljastaa mikropalvelusi ulkomaailmaan ja määrittää reitityskäytännöt pohjois-etelä-liikenteellesi, ts. Virtuaaliseen datakeskukseesi tulevalle liikenteelle.

API-elinkaarien hallinnan edut jatkuvalla integraatiolla ja jatkuvan toimituksen (CI / CD) putkilinjoilla Ingressin kanssa ovat runsaat, mutta ennen kuin käsittelemme tätä, aloitetaan ensin perustiedot.

Ingress-resurssin suunnittelu ja tarkoitus

Yksinkertaisin kuvaus Kubernetes-klusterista olisi joukko hallittuja solmuja, jotka suorittavat sovelluksia säilöissä. Useimmissa tapauksissa Kubernetes-klusterin solmut eivät ole suoraan alttiina julkiselle Internetille. Tämä on järkevää, koska kaikkien palvelujen paljastaminen solmusta aiheuttaisi uskomattoman paljon riskiä. Saadakseen julkisen pääsyn tiettyihin palveluihin Kubernetes tarjoaa Ingress-resurssin.

Ingress-resurssi paljastaa HTTP- ja HTTPS-reitit klusterin ulkopuolelta valittuihin palveluihin sisällä. Ingress-resurssi tarjoaa myös säännöt liikenteen hallitsemiseksi. Tämä tekee Ingress-resurssista erinomaisen ratkaisun erilaisten sovellusliittymien käsittelyyn, joita tarjoaa suuri määrä yksittäisiä palveluita. Se tekee tämän tarjoamalla yhden pääsypisteen kaikille asiakkaille ja käsittelemällä sitten pyynnöt taustapalveluille. Tämä tunnetaan yleisesti fanout-kokoonpanona.

Kong

Ingress-resurssi voidaan asettaa myös nimipohjaiselle virtuaalipalvelimelle, jossa se reitittää pyynnöt isännän otsikon perusteella:

Kong

Jotta Ingress-resurssi toimisi, Kubernetes-klusteriin on asennettava Ingress-ohjain. Ohjain luo sillan Kubernetes-klusterin ja olemassa olevien julkisten rajapintojen välillä. Esimerkiksi suurin osa pilvipalvelujen tarjoajista, jotka isännöivät Kubernetesia, tarjoavat ainutlaatuisen Ingress-ohjaimen, joka on käyttöliittymä määrättyjen julkisten menetelmien kanssa. Eri ohjaimet toimivat kaikki eri tavalla toisistaan ​​ja voivat tarjota vaihtelevaa määrää lisätoimintoja.

Ingressin hyödyt API: n elinkaaren hallintaan CI / CD-putkistojen avulla

Ingress-resurssi määritetään deklaratiivisella kokoonpanotiedostolla, joka kuvataan yleensä YAML: ssä. Tämä on yhdenmukaista kaikkien Kubernetes-resurssien kanssa ja mahdollistaa suoran integroinnin moderneihin käyttöönottomalleihin, kuten CI / CD: n yhdistettyyn käytäntöön. Tämä tarkoittaa kykyä ottaa Ingress-muutokset käyttöön nopeasti, usein ja turvallisesti. Tällä tavalla Ingress-resurssi voidaan sisällyttää samantyyppisiin ohjelmistokehityksen elinkaarimalleihin kuin itse sovellukset.

Kuinka kehittäjät voivat saavuttaa Ingressin käyttämällä Kong for Kubernetes -sovellusta

Suosittu avoimen lähdekoodin ja pilvi-agnostinen Ingress-ohjain on Kong for Kubernetes. Kong for Kubernetes Ingress Controller on rakennettu mukautetuiksi resurssimääritelmiksi (CRD) Kubernetesiin. Tämä luo Kubernetes-natiivikokemuksen niille, jotka ovat jo tottuneet määrittelemään resursseja tällä alustalla.

Kuten sovelluksesi ja palvelusi, Kong for Kubernetes voidaan asentaa Manifestin, Helmin tai Kustomizen kautta.

Kong for Kubernetes Ingress -ohjain laajentaa Ingress-resurssin ominaisuuksia tarjoamalla laajan joukon laajennuksia, jotka kattavat laajan valikoiman ominaisuuksia, kuten todennuksen, analytiikan, seurannan sekä pyyntö- ja vastemuutokset, vain muutamia mainitakseni. Tarjoamalla nämä yleiset (ja joskus ei niin yleiset) vaatimukset Ingress-ohjaimelle, Kong for Kubernetes antaa kehittäjille mahdollisuuden keskittyä enemmän palvelujen perusvaatimuksiin. Tämän arvo tulee erityisen ilmeiseksi, kun organisaatio siirtyy kourallisesta monoliittisesta sovelluksesta satoihin, ellei tuhansiin, mikropalveluihin.

Luettelo yleisimmistä laajennuksista on osoitteessa //docs.konghq.com/hub/.

Kong-laajennukset määritellään Kubernetes-resurssiksi, jossa määritysosassa annetaan yksittäisten laajennusten asetukset.

Alla on esimerkki nopeutta rajoittavasta laajennuksesta, joka rajoittaa liikenteen viiteen pyyntöön minuutissa:

Kong

Kong-laajennuksen lisääminen Kubernetes-resurssiin tapahtuu yksinkertaisen huomautuksen avulla resurssin metatieto-osiossa. Tämä mahdollistaa laajennusten soveltamisen eri tasoille. Voit esimerkiksi käyttää laajennusta koko Ingress-resurssiin tai soveltaa sitä hienommalla ruudulla yksittäiseen palveluresurssiin.

Tässä on esimerkki yllä olevasta laajennuksesta, jota käytetään Ingress-resurssiin:

Kong

Kong for Kubernetes voidaan myös integroida Kong Enterprise -tuotteiden koko sarjaan, mukaan lukien Kong Studio, Kong Dev Portal, Kong Manager, Kong Brain ja Kong Immunity. Tämä mahdollistaa entistä kehittyneemmät Kong-laajennukset ja täyden sovellusliittymän elinkaariratkaisun. Tämä tuotepaketti kattaa API-määritysten kirjoittamisen ja julkaisemisen sekä Kong-resurssien hallinnan ja jopa liikenteen analysoinnin.

Voit käyttää ”spec-first” -lähestymistapaa kehittääksesi sovellusliittymiäsi käyttämällä Kong Studiota, josta löydät työkalut asiakirjojen kirjoittamiseen OpenAPI-vakiomäärityksessä sekä testaustyökalut välitöntä palautetta varten. Kong Studio tarjoaa myös työkaluja GraphQL: n kanssa työskentelyyn. Kong Studio synkronoituu suoraan Gitiin, mikä sallii määritystiedostojen integroinnin CI / CD-työnkulkuun, joka voi automatisoida päivitykset Kong Dev Portaliin.

Kong Dev Portal isännöi API-dokumentaatiota (joka voi olla yksityistä tai julkista). Se on erittäin muokattavissa, joten voit mukauttaa sen organisaatiosi tyyliin ja tuotemerkkiin. Hyvin dokumentoidun sovellusliittymän saaminen on tärkeää tuottavuuden kannalta, ja hyvin hallitun kulun Kong Studion ja Dev Portalin välillä voi auttaa varmistamaan, että dokumentaatio on mahdollisimman ajan tasalla.

Kong Manager tarjoaa graafisen käyttöliittymän tarkkailemaan ja hallitsemaan Kong-tuotteiden kokonaisuutta. Täältä voit tarkkailla reittien, palveluiden ja laajennusten välisiä suhteita. Voit tarkkailla liikennettä reaaliajassa ja seurata kuluttajiasi.

Kong Brain analysoi sisääntulon kautta tulevaa liikennettä ja luo visuaalisen palvelukartan palvelujen välisistä riippuvuuksista. Sillä on myös kyky luoda automaattisesti OpenAPI-spesifikaatit luomiensa karttojen perusteella. Tämä on arvokas ominaisuus, koska edes parhaansa mukaan käyttöönotettuja palveluita ei välttämättä dokumentoida oikein.

Kong Immunity analysoi kaiken sisääntulon kautta kulkevan liikenteen ja oppii malleja poikkeavuuksien tunnistamiseksi. Nämä ovat usein hienovaraisia ​​pyyntöjä, jotka eivät erotu toisistaan, mutta saattavat kiinnostaa, kuten tuntematon parametri, joka yrittää jatkuvasti päästä läpi. Tämä on myös erittäin arvokas ominaisuus, koska näiden neulojen havaitseminen satojen tuhansien lokimerkintöjen heinäsuovassa ei ole helppoa.

Kong

Hyödynnä Ingress parhaalla mahdollisella tavalla

Kubernetes Ingress -resurssi tarjoaa yhden lähtökohdan Kubernetesin ulkopuolelta taustapalveluihin sisällä. Hyödyntämällä deklaratiivisia määritystiedostoja Ingress-resurssia voidaan käsitellä kuten kaikkia muita koodimuotoja ja integroida yhteisiin ohjelmistokehityksen elinkaareihin.

Viestinnän yhdistämiseksi Kubernetesin ulkopuolelle tarvitaan Ingress-ohjain. Kong for Kubernetes on Ingress-ohjain, joka käyttää mukautettuja resurssimääritelmiä laajentaakseen huomattavasti Ingress-resurssin ominaisuuksia tarjoamalla suuren määrän laajennuksia, jolloin kehittäjät voivat keskittyä ydinliiketoiminnan arvoon. Kongilla on joukko yritystyökaluja, jotka voivat parantaa huomattavasti tuottavuutta ja turvallisuutta koko sovellusliittymän elinkaaren ajan.

San Franciscossa toimiva keksijä, ohjelmistokehittäjä ja Internet-yrittäjä Marco Palladino on teknologiajohtaja ja perustaja. Kong Inc.

New Tech Forum tarjoaa mahdollisuuden tutkia ja keskustella kehittyvistä yritysteknologioista ennennäkemättömällä syvyydellä ja laajuudella. Valinta on subjektiivinen, perustuu valitsemiemme tekniikoihin, joiden uskomme olevan tärkeitä ja kiinnostavia lukijoille. ei hyväksy markkinointivakuuksia julkaisua varten ja pidättää oikeuden muokata kaikkea lähetettyä sisältöä. Lähetä kaikki tiedustelut osoitteeseen [email protected]