Overview sy fampitahana ny Ingress controllers ho an'ny Kubernetes

Overview sy fampitahana ny Ingress controllers ho an'ny Kubernetes

Rehefa manangana kluster Kubernetes ho an'ny rindranasa iray manokana ianao, dia mila mahafantatra izay apetraky ny fampiharana, ny orinasa ary ny mpamorona amin'ity loharano ity. Miaraka amin'ity fampahalalana ity dia afaka manomboka manapa-kevitra momba ny maritrano ianao ary, indrindra ny fisafidianana ny mpanara-maso Ingress manokana, izay efa betsaka ankehitriny. Mba hahazoana hevitra fototra momba ireo safidy azo alaina nefa tsy mila mamaky lahatsoratra / antontan-taratasy marobe, sns., dia nanomana ity topimaso ity izahay, anisan'izany ny mpanara-maso Ingress lehibe (vonona ny famokarana).

Manantena izahay fa hanampy ny mpiara-miasa amin'ny fisafidianana vahaolana ara-javakanto - farafaharatsiny dia ho lasa fiandohan'ny fahazoana fampahalalana amin'ny antsipiriany sy andrana azo ampiharina. Teo aloha, dia nianatra fitaovana hafa mitovy amin'izany ao amin'ny harato ary, Hafahafa ihany, dia tsy nahita na iray aza feno na latsaka, ary ny tena zava-dehibe - rafitra - famerenana. Ka aleo hameno io banga io!

fepetra

Amin'ny ankapobeny, mba hanaovana fampitahana sy hahazoana vokatra mahasoa, dia tsy maintsy mahatakatra ny faritra foto-kevitra, fa koa manana lisitra manokana ny fepetra izay hametraka ny fikarohana vector. Raha tsy mody mamakafaka ny tranga rehetra mety hitranga amin'ny fampiasana Ingress / Kubernetes, dia niezaka nanasongadina ny fepetra ankapobeny indrindra ho an'ny mpanara-maso izahay - miomàna fa na ahoana na ahoana dia tsy maintsy handalina ny mombamomba anao manokana ianao.

Saingy hatomboko amin'ny toetra efa mahazatra azy ireo ka ampiharina amin'ny vahaolana rehetra ary tsy raisina:

  • dynamic discovery of services (service discovery);
  • Famaranana SSL;
  • miasa amin'ny websockets.

Toy izao ny hevitra fampitahana:

Tohanana protocols

Iray amin'ireo fepetra fifantenana fototra. Mety tsy mandeha amin'ny HTTP mahazatra ny rindrambaikonao, na mety mila miasa amin'ny protocole maromaro indray mandeha. Raha toa ka tsy manara-penitra ny raharahanao dia tandremo tsara ny fandraisanao an'io lafin-javatra io mba tsy hamerenanao ny cluster any aoriana. Ho an'ny mpanara-maso rehetra dia miovaova ny lisitry ny protocols tohanana.

logiciel amin'ny fotony

Misy karazany maro ny fampiharana izay mifototra amin'ny controller. Ny malaza dia nginx, traefik, haproxy, envoy. Amin'ny tranga ankapobeny, mety tsy hisy fiantraikany firy amin'ny fomba fandraisana sy fampitana ny fifamoivoizana izany, saingy ilaina foana ny mahafantatra ny mety hisian'ny nuances sy ny endri-javatra misy ny "eo ambanin'ny satroka".

Fifamoivoizana lalana

Miorina amin'ny inona no azo atao ny manapa-kevitra momba ny fitarihana ny fifamoivoizana amin'ny serivisy manokana? Matetika izy ireo dia mpampiantrano sy lalana, saingy misy ny fahafahana fanampiny.

Namespace ao anaty cluster

Namespace (namespace) - ny fahafahana mizara lojika loharano ao amin'ny Kubernetes (ohatra, eo amin'ny sehatra, famokarana, sns.). Misy ny fanaraha-maso Ingress izay tsy maintsy apetraka misaraka amin'ny sehatra anarana tsirairay (ary avy eo dia afaka mitarika fifamoivoizana ihany mankany amin'ny toeran'ity toerana ity). Ary misy ireo (sy ny maro an'isa mazava) izay miasa eran-tany ho an'ny cluster iray manontolo - ao anatin'izany ny fifamoivoizana dia mitodika any amin'ny pod amin'ny cluster, na inona na inona toerana misy ny anarana.

Santionany ho an'ny ambony

Ahoana no itarihan'ny fifamoivoizana mankany amin'ny ohatra salama amin'ny fampiharana, serivisy? Misy safidy miaraka amin'ny fanaraha-maso mavitrika sy passive, retry, breaker circuit (Raha mila fanazavana fanampiny dia jereo, ohatra, lahatsoratra momba an'i Istio), ny fampiharana ny fisavana ara-pahasalamana manokana (fanamarinana ara-pahasalamana), sns. Parameter tena manan-danja raha toa ka manana fepetra avo lenta momba ny fisiana sy ny fanesorana ara-potoana ny serivisy tsy mahomby amin'ny fifandanjana.

Algorithm mandanjalanja

Misy safidy maro: avy amin'ny nentim-paharazana robina boribory mankany amin'ny exotic rdp-cookie, ary koa ny endri-javatra manokana toy ny fivoriana miraikitra.

fanamarinana

Inona no rafitra fanomezan-dàlana tohanan'ny mpanara-maso? Basic, digest, oauth, external-auth - Heveriko fa tokony ho mahazatra ireo safidy ireo. Fepetra manan-danja ity raha misy tadivavarana developer (sy/na manokana fotsiny) azo idirana amin'ny Ingress.

Fizarana fifamoivoizana

Moa ve ny mpanara-maso dia manohana ireo rafitra fitsinjarana fifamoivoizana mahazatra toy ny fanodikodinana canary (canary), fitiliana A / B, fitaratra amin'ny fifamoivoizana (mirroring / shadowing)? Lohahevitra tena mangirifiry ho an'ny rindranasa izay mitaky fitantanana ny fifamoivoizana marina sy marim-pototra ho an'ny fitiliana mamokatra, ny fametahana ny bibikely vokatra tsy misy tariby (na misy fatiantoka kely indrindra), ny famakafakana ny fifamoivoizana, sy ny sisa.

Famandrihana voaloa

Misy safidy karama ve ho an'ny mpanara-maso, miaraka amin'ny fiasa mandroso sy / na fanohanana ara-teknika?

Fifandraisana mpampiasa sary (Web UI)

Misy GUI hitantana ny configuration controller ve? Indrindra indrindra ho an'ny "handiness" sy / na ho an'ireo izay mila fanovana sasany amin'ny fanamafisana Ingress'a, fa ny miasa amin'ny maodely "manta" dia tsy mety. Mety hahasoa izany raha te hanao andrana sasany amin'ny fifamoivoizana amin'ny lalitra ny mpamorona.

Fanamarinana ny JWT

Ny fisian'ny fanamarinana naorina ao amin'ny tranokala JSON ho an'ny fanomezan-dàlana sy ny fanamarinana ny mpampiasa hatramin'ny fampiharana farany.

Ny mety amin'ny fanamboarana config

Ny fanitarana ny maodely amin'ny dikan'ny hoe manana mekanika ahafahanao manampy ny torolalanao manokana, saina, sns. amin'ny maodely fanamafisam-peo mahazatra.

Mekanisma fiarovana fototra DDOS

Algorithm famerana ny tahan'ny sarany tsotra na safidy fanivanana fifamoivoizana sarotra kokoa mifototra amin'ny adiresy, lisitra fotsy, firenena, sns.

Mangataka trace

Ny fahafahana manara-maso, manara-maso ary manala ny fangatahana avy amin'ny Ingresses mankany amin'ny serivisy / pods manokana, ary tsara indrindra eo anelanelan'ny serivisy / pods koa.

waff

fanohanana firewall fampiharana.

mpitandrina

Ny lisitry ny mpanara-maso dia noforonina mifototra amin'ny antontan-taratasy ofisialy Kubernetes и ity latabatra ity. Ny sasany amin'izy ireo dia nesorinay tamin'ny famerenana noho ny fahasamihafan'ny toetra manokana na ny fihanaky ny aretina (dingana voalohan'ny fampandrosoana). Ny ambiny dia resahina eto ambany. Andeha isika hanomboka amin'ny famaritana ankapobeny ny vahaolana ary hanohy amin'ny tabilao famintinana.

Ingress avy amin'ny Kubernetes

Website: github.com/kubernetes/ingress-nginx
Fahazoan-dàlana: Apache 2.0

Ity no mpanara-maso ofisialy ny Kubernetes ary novolavolain'ny vondrom-piarahamonina. Mazava ho azy fa avy amin'ny anarana, dia mifototra amin'ny nginx izy io ary ampian'ny karazana plugins Lua hafa ampiasaina amin'ny fampiharana endri-javatra fanampiny. Noho ny lazan'ny nginx tenany sy ny fanovana kely indrindra amin'izany rehefa ampiasaina ho mpanara-maso, ity safidy ity dia mety ho mora indrindra sy mora indrindra ho an'ny injeniera antonony (miaraka amin'ny traikefa amin'ny Internet).

Ingress by NGINX Inc.

Website: github.com/nginxinc/kubernetes-ingress
Fahazoan-dàlana: Apache 2.0

Ny vokatra ofisialin'ny developer nginx. Manana dikan-karama mifototra amin'ny NGINX Plus. Ny hevi-dehibe dia ny fahamarinan-toerana avo lenta, ny fifanarahana mihemotra tsy tapaka, ny tsy fisian'ny modules hafa ary ny hafainganam-pandeha nambara (raha ampitahaina amin'ny mpanara-maso ofisialy), tratra noho ny fandavana an'i Lua.

Ny dikan-teny maimaim-poana dia mihena be, ao anatin'izany na dia ampitahaina amin'ny mpanara-maso ofisialy aza (noho ny tsy fisian'ny Modules Lua mitovy). Mandritra izany fotoana izany, ny karama dia manana fiasa fanampiny midadasika: metrika tena misy, fanamarinana JWT, fisavana ara-pahasalamana mavitrika, sy ny maro hafa. Ny tombony lehibe amin'ny NGINX Ingress dia ny fanohanana feno amin'ny fifamoivoizana TCP / UDP (ary amin'ny dikan-tenin'ny vondrom-piarahamonina koa!). Minus - tsy misy endri-javatra fitsinjarana ny fifamoivoizana, izay, na izany aza, dia "manana laharam-pahamehana ambony indrindra ho an'ny mpamorona", saingy mitaky fotoana ny fampiharana azy.

Kong Ingress

Website: github.com/Kong/kubernetes-ingress-controller
Fahazoan-dàlana: Apache 2.0

Ny vokatra novokarin'ny Kong Inc. amin'ny dikan-teny roa: ara-barotra sy maimaim-poana. Miorina amin'ny nginx, izay nitarina miaraka amin'ny modules Lua marobe.

Tany am-boalohany dia nifantoka tamin'ny fanodinana sy fandefasana ny fangatahana API izy io, i.e. ho API Gateway, fa amin'izao fotoana izao dia lasa mpanara-maso Ingress feno. Ny tombony lehibe: môdely fanampiny maro (anisan'izany ireo avy amin'ny mpamorona antoko fahatelo) izay mora apetraka sy amboarina ary miaraka amin'ny fanampian'ny endri-javatra fanampiny maro be. Na izany aza, ny naorina-in asa efa manome fahafahana maro. Ny fanamafisana ny asa dia atao amin'ny alàlan'ny loharano CRD.

Ny endri-javatra manan-danja amin'ny vokatra - ny miasa ao anatin'ny contour mitovy (fa tsy ny cross-namespaced) dia lohahevitra mampiady hevitra: ho an'ny sasany dia toa tsy fahampiana izany (tsy maintsy mamokatra sampana isaky ny contour ianao), ary ho an'ny olona iray dia endri-javatra izany ( amin 'оAmbaratonga lehibe kokoa ny fitokana-monina, toy ny raha tapaka ny controller iray, dia voafetra amin'ny circuit irery ny olana).

Traefik

Website: github.com/containous/traefik
License: MIT

Proxy izay noforonina tany am-boalohany mba hiasa amin'ny fandalovana fangatahana ho an'ny microservices sy ny tontolo iainany. Noho izany, endri-javatra mahasoa maro: fanavaozana ny fanitsiana tsy misy rebooting mihitsy, fanohanana fomba fampifandanjana marobe, interface tsara amin'ny Internet, fandefasana metrika, fanohanana ireo protocols isan-karazany, REST API, famoahana canary, sy ny maro hafa. Ny endri-javatra mahafinaritra iray hafa dia ny fanohanana ny mari-pankasitrahana Let's Encrypt ivelan'ny boaty. Ny fatiantoka dia ny hoe mba handaminana avo lenta (HA), ny mpanara-maso dia mila mametraka sy mampifandray ny fitahirizana KV azy manokana.

HAProxy

Website: github.com/jcmoraisjr/haproxy-ingress
Fahazoan-dàlana: Apache 2.0

HAProxy dia efa ela no fantatra amin'ny maha-proxy sy mpandrindra ny fifamoivoizana. Amin'ny maha-vondrona Kubernetes azy, dia manolotra fanavaozam-baovao “malefaka” izy (tsy misy fahaverezan'ny fifamoivoizana), fitadiavana serivisy mifototra amin'ny DNS, fikirakirana mavitrika mampiasa API. Mety hahasarika ny mampifanaraka tanteraka ny môdely config amin'ny fanoloana ny CM, ary koa ny fahafahana mampiasa ny fiasan'ny tranomboky Sprig ao anatiny. Amin'ny ankapobeny, ny zava-dehibe indrindra amin'ny vahaolana dia amin'ny hafainganam-pandeha avo, ny fanatsarana azy ary ny fahombiazany amin'ny loharanon-karena ampiasaina. Ny tombony amin'ny fanaraha-maso dia ny fanohanan'ny isa maromaro amin'ny fomba fifandanjana samihafa.

Voyager

Website: github.com/appscode/voyager
Fahazoan-dàlana: Apache 2.0

Miorina amin'ny HAproxy controller, izay napetraka ho vahaolana manerantany izay manohana ireo endri-javatra marobe amin'ny mpamatsy marobe. Atolotra ny fahafahana mampifandanja ny fifamoivoizana amin'ny L7 sy L4, ary ny fampifandanjana ny fifamoivoizana TCP L4 amin'ny ankapobeny dia azo antsoina hoe iray amin'ireo singa fototra amin'ny vahaolana.

Contour

Website: github.com/heptio/contour
Fahazoan-dàlana: Apache 2.0

Ity vahaolana ity dia tsy mifototra amin'ny Envoy fotsiny: novolavolain'ny miaraka miaraka amin'ireo mpanoratra ity proxy malaza ity. Ny endri-javatra manan-danja dia ny fahafahana manasaraka ny fanaraha-maso ny loharanon-karena Ingress amin'ny alàlan'ny loharano CRD IngressRoute. Ho an'ny fikambanana manana ekipa fampandrosoana maro mampiasa cluster mitovy, dia manampy amin'ny fampitomboana ny fiarovana amin'ny fiasana amin'ny fifamoivoizana amin'ny tadivavarana mifanila izany ary miaro azy ireo amin'ny fahadisoana rehefa manova ny loharanon'ny Ingress.

Izy io koa dia manolotra fomba fampifandanjana miitatra (misy ny fitaratry ny fangatahana, famerenana mandeha ho azy, famerana ny tahan'ny fangatahana, sy ny maro hafa), fanaraha-maso amin'ny antsipiriany ny fikorianan'ny fifamoivoizana sy ny tsy fahombiazana. Angamba ho an'ny olona iray dia ho lesoka lehibe ny tsy fahampian'ny fanohanana ireo fivoriana miraikitra (na dia ny asa efa mandeha).

Istio Ingress

Website: istio.io/docs/tasks/traffic-management/ingress
Fahazoan-dàlana: Apache 2.0

Vahaolana mesh serivisy feno izay tsy fanaraha-maso Ingress ihany no mitantana ny fifamoivoizana miditra avy any ivelany, fa koa mifehy ny fifamoivoizana rehetra ao anatin'ny cluster. Eo ambanin'ny saron-tava, ny Envoy dia ampiasaina ho mpisolo toerana ho an'ny serivisy tsirairay. Amin'ny ankapobeny, ity dia fitambarana lehibe izay "afaka manao na inona na inona", ary ny hevi-dehibe dia ny fitantanana ambony indrindra, ny fanitarana, ny fiarovana ary ny mangarahara. Miaraka amin'izany, azonao atao ny manatsara ny lalan'ny fifamoivoizana, ny fanomezan-dàlana hidirana eo amin'ny serivisy, ny fifandanjana, ny fanaraha-maso, ny famoahana canary, ary ny maro hafa. Vakio bebe kokoa momba an'i Istio ao amin'ny andian-dahatsoratra "Miverina amin'ny microservices miaraka amin'i Istio".

masoivoho

Website: github.com/datawire/ambassador
Fahazoan-dàlana: Apache 2.0

Vahaolana hafa mifototra amin'ny Envoy. Manana dikan-teny maimaim-poana sy ara-barotra izy io. Izy io dia napetraka ho "tena teratany ao amin'ny Kubernetes", izay mitondra tombony mifanaraka amin'izany (fampidirana mafy amin'ny fomba sy sampana ao amin'ny cluster K8s).

Latabatra fampitahana

Noho izany, ny faran'ny lahatsoratra dia ity latabatra lehibe ity:

Overview sy fampitahana ny Ingress controllers ho an'ny Kubernetes

Azo kitihina izy io raha jerena akaiky kokoa, ary azo alaina amin'ny endrika ihany koa Google Sheets.

Andao hojerentsika

Ny tanjon'ity lahatsoratra ity dia ny hanome fahatakarana feno kokoa (na izany aza, tsy fehezina mihitsy!) momba ny safidy tokony hatao amin'ny tranga manokana misy anao. Toy ny mahazatra, samy manana ny tombony sy ny fatiantoka ny mpifehy tsirairay…

Ny Ingress mahazatra avy amin'ny Kubernetes dia tsara noho ny fisiany sy ny fanaporofoana, ny endri-javatra manankarena - amin'ny tranga ankapobeny, dia tokony ho "ampy ho an'ny maso". Na izany aza, raha mitombo ny fepetra takiana amin'ny fitoniana, ny haavon'ny endri-javatra sy ny fampandrosoana, dia tokony handinika ny Ingress miaraka amin'ny NGINX Plus ianao ary famandrihana karama. I Kong dia manana ny plug-ins manankarena indrindra (ary, araka izany, ny fahafahana omeny), ary ao amin'ny dikan-karama dia misy maro kokoa amin'izy ireo. Manana fahafahana be dia be hiasa ho vavahadin'ny API, fikirakirana mavitrika mifototra amin'ny loharano CRD, ary serivisy Kubernetes fototra.

Miaraka amin'ny fitakiana mitombo amin'ny fomba fampifandanjana sy fanomezan-dàlana, jereo ny Traefik sy HAProxy. Tetik'asa Open Source ireo, voaporofo nandritra ny taona maro, tena marin-toerana ary mivoatra mavitrika. Efa nivoaka nandritra ny roa taona izao ny contour, saingy mbola tanora loatra izy io ary tsy misy afa-tsy endri-javatra fototra ampiana eo an-tampon'ny Envoy. Raha misy fepetra takiana amin'ny fisian'ny WAF eo anoloan'ny rindranasa, dia tokony handinika ny Ingress mitovy amin'ny Kubernetes na HAProxy ianao.

Ary ny manankarena indrindra amin'ny lafiny endri-javatra dia ny vokatra naorina teo an-tampon'ny Envoy, indrindra Istio. Toa vahaolana feno izay "afaka manao na inona na inona", izay midika ihany koa fa ferana fidirana ambony kokoa ho an'ny fanamafisana / fandefasana / fitantanana noho ny vahaolana hafa.

Nisafidy sy mbola mampiasa Ingress avy amin'ny Kubernetes izahay ho toy ny fanaraha-maso mahazatra, izay mandrakotra ny 80-90% ny filana. Tena azo ianteherana, mora amboarina sy manitatra. Amin'ny ankapobeny, raha tsy misy fepetra manokana, dia tokony hifanaraka amin'ny ankamaroan'ny cluster / fampiharana. Amin'ireo vokatra manerantany sy tsotra ihany, Traefik sy HAProxy dia azo atolotra.

Sal

Vakio ihany koa ao amin'ny bilaoginay:

Source: www.habr.com

Add a comment