Sealladh farsaing agus coimeas de luchd-riaghlaidh Ingress airson Kubernetes

Sealladh farsaing agus coimeas de luchd-riaghlaidh Ingress airson Kubernetes

Nuair a chuireas tu cruinneachadh Kubernetes air bhog airson tagradh sònraichte, feumaidh tu tuigsinn dè a tha an tagradh fhèin, an gnìomhachas agus an luchd-leasachaidh a’ seasamh don ghoireas seo. Leis an fhiosrachadh seo, faodaidh tu tòiseachadh air co-dhùnadh ailtireil a dhèanamh agus, gu sònraichte, taghadh rianadair Ingress sònraichte, agus tha àireamh mhòr dhiubh sin an-diugh. Gus beachd bunaiteach fhaighinn air na roghainnean a tha rim faighinn gun a bhith a’ dol tro tòrr artaigilean / sgrìobhainnean, msaa, tha sinn air an ath-shealladh seo ullachadh, a ’toirt a-steach na prìomh riaghladairean Ingress (deiseil airson cinneasachadh).

Tha sinn an dòchas gun cuidich e co-obraichean ann a bhith a 'taghadh fuasgladh ailtireachd - co-dhiù bidh e na thoiseach tòiseachaidh airson fiosrachadh nas mionaidiche agus deuchainnean practaigeach fhaighinn. Roimhe sin, rinn sinn sgrùdadh air stuthan eile den aon seòrsa air an lìon agus, gu h-annasach gu leòr, cha do lorg sinn aon rud nas coileanta no nas lugha, agus as cudromaiche - structarail - lèirmheas. Mar sin lìonamaid a’ bheàrn sin!

slatan-tomhais

Ann am prionnsabal, gus coimeas a dhèanamh agus toradh feumail sam bith fhaighinn, feumaidh tu a bhith a 'tuigsinn chan e a-mhàin an raon cuspair, ach cuideachd liosta shònraichte de shlatan-tomhais a shuidhicheas an vectar rannsachaidh. Gun a bhith a’ leigeil oirnn mion-sgrùdadh a dhèanamh air a h-uile cùis a dh’ fhaodadh a bhith ann mu bhith a’ cleachdadh Ingress / Kubernetes, dh’ fheuch sinn ris na riatanasan as fharsainge airson luchd-riaghlaidh a shoilleireachadh - bi ullaichte gum feum thu co-dhiù na mion-fhiosrachadh agus na mion-fhiosrachadh agad a sgrùdadh air leth.

Ach tòisichidh mi leis na feartan a tha air fàs cho eòlach gu bheil iad air an cur an gnìomh anns a h-uile fuasgladh agus nach eilear a’ beachdachadh orra:

  • lorg fiùghantach de sheirbheisean (lorg seirbheis);
  • Crìochnachadh SSL;
  • ag obair le websockets.

A-nis airson na puingean coimeas:

Pròtacalan le taic

Aon de na slatan-tomhais taghaidh bunaiteach. Is dòcha nach obraich am bathar-bog agad air HTTP àbhaisteach, no dh’ fhaodadh gum feum e obair air grunn phròtacalan aig an aon àm. Ma tha a’ chùis agad neo-àbhaisteach, bi cinnteach gun toir thu aire don bhàillidh seo gus nach fheum thu am brabhsair ath-dhealbhadh nas fhaide air adhart. Airson a h-uile rianadair, tha an liosta de phròtacalan le taic ag atharrachadh.

bathar-bog aig cridhe

Tha grunn atharrachaidhean ann de thagraidhean air a bheil an rianadair stèidhichte. Is e an fheadhainn as mòr-chòrdte nginx, traefik, haproxy, tosgaire. Anns a 'chùis choitcheann, is dòcha nach bi mòran buaidh aige air mar a gheibhear agus a thèid trafaig a ghluasad, ach tha e an-còmhnaidh feumail fios a bhith agad air na h-nòsan agus na feartan a dh'fhaodadh a bhith aig na tha "fon chochall".

Slighe trafaic

Air bunait dè a tha e comasach co-dhùnadh a dhèanamh mu stiùir trafaic gu seirbheis shònraichte? Mar as trice is iad sin aoigheachd agus slighe, ach tha cothroman a bharrachd ann.

Àite ainm taobh a-staigh buidheann

Namespace (namespace) - an comas goireasan a roinn gu loidsigeach ann an Kubernetes (mar eisimpleir, air àrd-ùrlar, cinneasachadh, msaa). Tha riaghladairean Ingress ann a dh’ fheumar a chuir a-steach air leth anns gach àite-ainm (agus an uairsin faodaidh e trafaic a stiùireadh a-mhàin gu pods an àite seo). Agus tha an fheadhainn (agus a’ mhòr-chuid shoilleir aca) a bhios ag obair air feadh na cruinne airson a’ bhuidheann gu lèir - annta tha trafaic air a stiùireadh gu pod sam bith den bhuidheann, ge bith dè an t-ainm a th’ air.

Samhlaidhean airson upstreams

Ciamar a tha trafaic air a stiùireadh gu suidheachaidhean fallain den tagradh, seirbheisean? Tha roghainnean ann le sgrùdaidhean gnìomhach is fulangach, ath-chuiridhean, luchd-brisidh cuairteachaidh (Airson tuilleadh fiosrachaidh, faic, mar eisimpleir, artaigil mu Istio), buileachadh sgrùdaidhean slàinte fhèin (sgrùdaidhean slàinte àbhaisteach), msaa. Paramadair fìor chudromach ma tha riatanasan àrda agad airson ruigsinneachd agus toirt air falbh seirbheisean air fàilligeadh bho chothromachadh ann an deagh àm.

Algorithms cothromachaidh

Tha mòran roghainnean ann: bho thraidiseanta cruinn-robin gu coimheach rdp-briosgaid, a bharrachd air feartan fa leth mar seiseanan steigeach.

Dearbhadh

Dè na sgeamaichean ceadachaidh a tha an rianadair a’ toirt taic? Basic, digest, oauth, external-auth - tha mi a 'smaoineachadh gum bu chòir na roghainnean sin a bhith eòlach. Tha seo na shlat-tomhais cudromach ma tha mòran lùban leasaiche (agus / no dìreach prìobhaideach) a gheibhear thuca tro Ingress.

Sgaoileadh trafaig

A bheil an rianadair a’ toirt taic do leithid de dh’ uidheamachdan cuairteachaidh trafaic a thathas a’ cleachdadh gu cumanta leithid sgaoileadh canary (canary), deuchainn A / B, sgàthan trafaic (sgàthan / dubhar)? Tha seo na chuspair fìor ghoirt airson tagraidhean a dh’ fheumas riaghladh trafaic ceart agus mionaideach airson deuchainn cinneasach, dì-bhugachadh bhiteagan toraidh far-loidhne (no le glè bheag de chall), mion-sgrùdadh trafaic, agus mar sin air adhart.

Fo-sgrìobhadh pàighte

A bheil roghainn pàighte ann airson an rianadair, le comas-gnìomh adhartach agus / no taic theicnigeach?

Eadar-aghaidh cleachdaiche grafaigeach (UI lìn)

A bheil GUI ann airson rèiteachadh rianadair a riaghladh? Sa mhòr-chuid airson “handiness” agus / no dhaibhsan a dh’ fheumas beagan atharrachaidhean a dhèanamh air rèiteachadh Ingress’a, ach tha e mì-ghoireasach obrachadh le teamplaidean “amh”. Faodaidh e a bhith feumail ma tha luchd-leasachaidh airson cuid de dheuchainnean a dhèanamh le trafaic air an itealan.

Dearbhadh JWT

An làthair dearbhadh stèidhichte air comharran lìn JSON airson cead agus dearbhadh an neach-cleachdaidh chun tagradh deireannach.

Comasan airson gnàthachadh config

Leudachadh teamplaid anns an fhaireachdainn gu bheil uidheamachdan agad a leigeas leat na stiùiridhean, brataichean, msaa agad fhèin a chur ri teamplaidean rèiteachaidh àbhaisteach.

Innealan dìon bunaiteach DDOS

Algorithms crìoch reata sìmplidh no roghainnean sìolaidh trafaic nas iom-fhillte stèidhichte air seòlaidhean, liostaichean geala, dùthchannan, msaa.

Iarr lorg

An comas sùil a chumail air, lorg agus iarrtasan deasbaid bho Ingresses gu seirbheisean / pods sònraichte, agus gu h-iomchaidh eadar seirbheisean / pods cuideachd.

WAF

taic balla-teine ​​​​tagradh.

Luchd-riaghlaidh

Chaidh an liosta de luchd-riaghlaidh a chruthachadh stèidhichte air Sgrìobhainnean oifigeil Kubernetes и an clàr seo. Chuir sinn a-mach cuid dhiubh bhon sgrùdadh air sgàth sònraichteachd no tricead ìosal (ìre leasachaidh tràth). Thèid an còrr a dheasbad gu h-ìosal. Feuch an tòisich sinn le tuairisgeul coitcheann air na fuasglaidhean agus lean air adhart le clàr geàrr-chunntas.

Teachd a-steach bho Kubernetes

Làrach-lìn: github.com/kubernetes/ingress-nginx
Cead: Apache 2.0

Is e seo an rianadair oifigeil airson Kubernetes agus tha e ga leasachadh leis a’ choimhearsnachd. Gu follaiseach bhon ainm, tha e stèidhichte air nginx agus tha seata eadar-dhealaichte de plugins Lua air a chleachdadh gus feartan a bharrachd a chuir an gnìomh. Air sgàth cho mòr ‘s a tha nginx fhèin agus glè bheag de dh’ atharrachaidhean air nuair a thèid a chleachdadh mar rianadair, is dòcha gur e an roghainn seo an dòigh as fhasa agus as fhasa a rèiteachadh airson an innleadair cuibheasach (le eòlas lìn).

Ingress le NGINX Inc.

Làrach-lìn: github.com/nginxinc/kubernetes-ingress
Cead: Apache 2.0

Toradh oifigeil luchd-leasachaidh nginx. Tha dreach pàighte stèidhichte air NGINX Plus. Is e am prìomh bheachd ìre àrd de sheasmhachd, co-fhreagarrachd seasmhach air ais, dìth mhodalan a-muigh agus an astar àrdachaidh ainmichte (an taca ris an rianadair oifigeil), air a choileanadh mar thoradh air diùltadh Lua.

Tha an dreach an-asgaidh air a lughdachadh gu mòr, a’ toirt a-steach eadhon an taca ris an rianadair oifigeil (air sgàth dìth nan aon mhodalan Lua). Aig an aon àm, tha comas-gnìomh a bharrachd gu math farsaing aig an fhear pàighte: metrics fìor-ùine, dearbhadh JWT, sgrùdaidhean slàinte gnìomhach, agus barrachd. Is e buannachd chudromach thairis air NGINX Ingress làn thaic airson trafaic TCP / UDP (agus anns an dreach coimhearsnachd cuideachd!). Minus - dìth feart cuairteachaidh trafaic, a tha, ge-tà, “aig a bheil am prìomhachas as àirde do luchd-leasachaidh,” ach a bheir ùine airson a bhuileachadh.

Kong a-steach

Làrach-lìn: github.com/Kong/kubernetes-ingress-controller
Cead: Apache 2.0

Bathar air a leasachadh le Kong Inc. ann an dà dhreach: malairteach agus an-asgaidh. Stèidhichte air nginx, a chaidh a leudachadh le àireamh mhòr de mhodalan Lua.

An toiseach, bha e ag amas air a bhith a’ giullachd agus a’ stiùireadh iarrtasan API, i.e. mar Gateway API, ach aig an àm seo tha e air a thighinn gu bhith na rianadair Ingress làn-chuimseach. Prìomh bhuannachdan: mòran mhodalan a bharrachd (a 'gabhail a-steach an fheadhainn bho luchd-leasachaidh treas-phàrtaidh) a tha furasta an stàladh agus an rèiteachadh agus le cuideachadh a tha raon farsaing de fheartan a bharrachd air an cur an gnìomh. Ach, tha gnìomhan togte mar-thà a’ tabhann mòran chothroman. Tha rèiteachadh obrach air a dhèanamh a’ cleachdadh goireasan CRD.

Feart cudromach den toradh - tha a bhith ag obair taobh a-staigh an aon loidhne (an àite crois-ainmean) na chuspair connspaideach: dha cuid bidh e coltach ri ana-cothrom (feumaidh tu aonadan a dhèanamh airson gach contour), agus airson cuideigin tha e na fheart ( bоÌre nas àirde de aonaranachd, mar ma tha aon rianadair briste, tha an duilgheadas cuingealaichte ris a’ chuairt a-mhàin).

Trafik

Làrach-lìn: github.com/containous/traefik
Cead: MIT

Neach-ionaid a chaidh a chruthachadh an toiseach gus obrachadh le slighe iarrtasan airson microservices agus an àrainneachd fiùghantach aca. Mar sin, mòran fheartan feumail: ag ùrachadh an rèiteachaidh gun ath-thòiseachadh idir, taic airson àireamh mhòr de dhòighean cothromachaidh, eadar-aghaidh lìn, metrics air adhart, taic airson diofar phròtacalan, REST API, fiosan canary, agus mòran a bharrachd. Is e feart snog eile taic airson teisteanasan Let's Encrypt a-mach às a’ bhogsa. Is e an ana-cothrom a th’ ann gum feum an rianadair a stòradh KV fhèin a chuir a-steach agus a cheangal gus ruigsinneachd àrd (HA) a chuir air dòigh.

HAProxy

Làrach-lìn: github.com/jcmoraisjr/haproxy-ingress
Cead: Apache 2.0

Tha HAProxy air a bhith aithnichte o chionn fhada mar neach-ionaid agus cothromachadh trafaic. Mar phàirt de bhuidheann Kubernetes, tha e a’ tabhann ùrachadh rèiteachaidh “bog” (gun a bhith a’ call trafaic), lorg seirbheis stèidhichte air DNS, rèiteachadh fiùghantach a’ cleachdadh API. Faodaidh e a bhith tarraingeach an teamplaid config a ghnàthachadh gu tur le bhith a’ cur an àite an CM, a bharrachd air a bhith comasach air gnìomhan leabharlann Sprig a chleachdadh ann. San fharsaingeachd, tha prìomh chuideam an fhuasglaidh air astar àrd, cho math sa tha e agus èifeachdas ann an goireasan caitheamh. Is e buannachd an rianadair taic bho àireamh as àirde de dhòighean cothromachaidh eadar-dhealaichte.

Voyager

Làrach-lìn: github.com/appscode/voyager
Cead: Apache 2.0

Stèidhichte air rianadair HAproxy, a tha air a shuidheachadh mar fhuasgladh uile-choitcheann a bheir taic do raon farsaing de fheartan air àireamh mhòr de sholaraichean. Tha cothrom air a thabhann airson trafaic a chothromachadh air L7 agus L4, agus faodar cothromachadh trafaic TCP L4 gu h-iomlan a ghairm mar aon de phrìomh fheartan an fhuasglaidh.

Contour

Làrach-lìn: github.com/heptio/contour
Cead: Apache 2.0

Chan eil am fuasgladh seo stèidhichte a-mhàin air Envoy: chaidh a leasachadh le còmhla le ùghdaran an neach-ionaid mòr-chòrdte seo. Is e feart cudromach an comas smachd a chumail air goireasan Ingress a’ cleachdadh goireasan IngressRoute CRD. Do bhuidhnean le mòran sgiobaidhean leasachaidh a’ cleachdadh an aon bhuidheann, tha seo a’ cuideachadh le bhith a’ meudachadh tèarainteachd a bhith ag obair le trafaic ann an lùban faisg air làimh agus gan dìon bho mhearachdan nuair a dh’ atharraicheas iad goireasan Ingress.

Tha e cuideachd a’ tabhann seata leudaichte de dhòighean cothromachaidh (tha sgàthan air iarrtasan, ath-aithris fèin-ghluasadach, cuingealachadh air ìre iarrtasan, agus mòran a bharrachd), sgrùdadh mionaideach air sruthadh trafaic agus fàilligidhean. Is dòcha gum bi e na dhuilgheadas mòr dha cuideigin an dìth taic airson seiseanan steigeach (ged a tha an obair air tòiseachadh mar-thà).

Istio Ingress

Làrach-lìn: istio.io/docs/tasks/traffic-management/ingress
Cead: Apache 2.0

Fuasgladh mogal seirbheis coileanta a tha chan e a-mhàin rianadair Ingress a bhios a’ riaghladh trafaic a tha a’ tighinn a-steach bhon taobh a-muigh, ach a bhios cuideachd a’ cumail smachd air a h-uile trafaic taobh a-staigh a’ bhuidheann. Fon chochall, thathas a’ cleachdadh Envoy mar neach-ionaid taobh càr airson gach seirbheis. Gu dearbh, is e cothlamadh mòr a tha seo a tha “as urrainn rud sam bith a dhèanamh”, agus is e a phrìomh bheachd an comas riaghlaidh, leudachaidh, tèarainteachd agus follaiseachd as motha. Leis, faodaidh tu slighe trafaic a ghleusadh, cead fhaighinn eadar seirbheisean, cothromachadh, sgrùdadh, fiosan canary, agus mòran a bharrachd. Leugh tuilleadh mu Istio anns an t-sreath artaigilean "Air ais gu microservices le Istio".

tosgaire

Làrach-lìn: github.com/datawire/ambassador
Cead: Apache 2.0

Fuasgladh eile stèidhichte air Envoy. Tha dreachan an-asgaidh agus malairteach ann. Tha e air a shuidheachadh mar “làn dhùthchasach do Kubernetes”, a bheir na buannachdan co-fhreagarrach (aonachadh teann le dòighean agus buidhnean buidheann K8s).

Clàr coimeas

Mar sin, is e deireadh an artaigil an clàr mòr seo:

Sealladh farsaing agus coimeas de luchd-riaghlaidh Ingress airson Kubernetes

Faodar cliogadh air airson sealladh nas dlùithe, agus tha e cuideachd ri fhaighinn sa chruth Google Sheets.

Smaoinich sinn suas

Is e adhbhar na h-artaigil seo tuigse nas coileanta a thoirt seachad (ge-tà, chan eil e gu tur iomlan!) Dè an roghainn a nì thu sa chùis shònraichte agad. Mar as àbhaist, tha na buannachdan agus na h-eas-bhuannachdan aige fhèin aig gach rianadair…

Tha an Ingress clasaigeach bho Kubernetes math airson a bhith ri fhaighinn agus dearbhadh, feartan beairteach gu leòr - sa chùis choitcheann, bu chòir dha a bhith “gu leòr airson na sùilean”. Ach, ma tha barrachd riatanasan ann airson seasmhachd, an ìre de fheartan agus leasachadh, bu chòir dhut aire a thoirt do Ingress le NGINX Plus agus ballrachd pàighte. Tha an seata plug-ins as beairtiche aig Kong (agus, a rèir sin, na cothroman a bheir iad seachad), agus anns an dreach pàighte tha eadhon barrachd dhiubh. Tha cothroman gu leòr ann a bhith ag obair mar Gateway API, rèiteachadh fiùghantach stèidhichte air goireasan CRD, a bharrachd air seirbheisean bunaiteach Kubernetes.

Le barrachd riatanasan airson dòighean cothromachaidh agus ceadachaidh, thoir sùil air Traefik agus HAProxy. Tha iad sin nam pròiseactan Open Source, air an dearbhadh thar nam bliadhnaichean, gu math seasmhach agus gu gnìomhach a’ leasachadh. Tha Contour air a bhith a-muigh airson bliadhna no dhà a-nis, ach tha e fhathast a’ coimhead ro òg agus chan eil ach feartan bunaiteach air a chur ris a bharrachd air an Tosgaire. Ma tha riatanasan ann airson làthaireachd / stèidheachadh WAF air beulaibh an tagraidh, bu chòir dhut aire a thoirt don aon Ingress bho Kubernetes no HAProxy.

Agus is e an fheadhainn as beairtiche a thaobh feartan toraidhean a chaidh a thogail a bharrachd air Envoy, gu sònraichte Istio. Tha e coltach gur e fuasgladh coileanta a th’ ann “as urrainn dad a dhèanamh”, a tha, ge-tà, a’ ciallachadh stairsneach inntrigidh gu math nas àirde airson rèiteachadh / cur air bhog / rianachd na fuasglaidhean eile.

Tha sinn air Ingress bho Kubernetes a thaghadh agus a chleachdadh fhathast mar rianadair àbhaisteach, a tha a’ còmhdach 80-90% de fheumalachdan. Tha e gu math earbsach, furasta a rèiteachadh agus a leudachadh. San fharsaingeachd, às aonais riatanasan sònraichte, bu chòir dha a bhith freagarrach don mhòr-chuid de chlàran / thagraidhean. De na h-aon thoraidhean uile-choitcheann agus an ìre mhath sìmplidh, faodar Traefik agus HAProxy a mholadh.

PS

Leugh cuideachd air ar blog:

Source: www.habr.com

Cuir beachd ann