Pod IP, ClusterIP ar vidinis apkrovos balansuotojas VPN naudotojams
Pod IP yra maršrutizuojamas per VPN, kol Pod pakeičiamas. Palyginkite tiesioginę prieigą prie Pod, ClusterIP ir vidinį balansuotoją bei tai, kiek kiekvienas jų jums kainuoja.
Su VPC CNI Pod gali turėti adresą iš VPC, o VPN naudotojas su tinkamu maršrutu gali pasiekti jį tiesiogiai. Todėl tiesioginė prieiga prie Pod atrodo kaip paprasčiausias variantas, ir taip iš tiesų yra, kol Pod pakeičiamas. Adresas, kurį naudotojas prisimena, turėtų priklausyti programai, o ne kopijai. Trijų įėjimų palyginimas galiausiai susiveda į tai, kuris objektas valdo adresą ir kas turi toliau veikti, kai darbo krūvis persikelia.
Pirmiausia rinkitės pagal gyvavimo ciklą, paskui pagal tai, ką tinklas turi padaryti, kad įėjimas būtų pasiekiamas.
Trys įėjimai, trys gyvavimo ciklai
Pod IP priklauso Pod: jis skiriamas kartu su juo ir atlaisvinamas jam pasibaigus. ClusterIP priklauso Service ir yra virtualus, jis turi prasmę tik ten, kur egzistuoja klasterio paslaugų maršrutizavimas. Vidinį balansuotoją valdo debesijos išteklius, kurį klasterio valdiklis programuoja backendais. Šie nuosavybės modeliai numato gedimą, kurį gausite: pasenusį adresą, nepasiekiamą pavadinimą arba pasenusį backendų rinkinį.
Užsirašykite palyginimą prieš rinkdamiesi. Kai savininkas ir gedimas įvardyti, pasirinkimas dažniausiai padaromas pats.
| Entry | Owner | Failure when the workload moves |
|---|---|---|
| Pod IP | The Pod | Address changes and saved links break |
| ClusterIP | The Service | Virtual address with no meaning outside cluster routing |
| Internal balancer | Cloud resource plus controller | Backends update, but the DNS view is yours to maintain |
Tiesioginė prieiga prie Pod: naudinga, laikina
Tiesioginė prieiga tikrai naudinga kontroliuojamam patikrinimui: vienas administratorius, viena trumpa sesija, vienas konkretus prievadas. Tačiau naudotojams tai bloga sutartis, nes adresas yra įgyvendinimo detalė, kuri keičiasi su kiekvienu diegimu. O jo įrašymas į wiki yra būdas, kuriuo veikianti paslauga virsta gandu.
Tai taip pat kviečia plačias taisykles. Vieno administratoriaus leidimas pasiekti vieną Pod nėra leidimas kiekvienam mazgo potinklio adresui, ir paprastai įrašoma būtent antroji.
ClusterIP: pagal dizainą apribotas klasteriu
ClusterIP veikia todėl, kad klasterio duomenų plokštuma programuoja jam maršrutizavimą klasterio viduje. Iš nešiojamojo kompiuterio VPN tinkle adresas nieko nereiškia, nebent kažkas jį sąmoningai atskleidžia. Pavadinimas, besibaigiantis svc.cluster.local, priklauso klasterio DNS, todėl jo kopijavimas į klientą su kitu sprendikliu duoda ne maršrutizavimo klaidą, o neegzistuojantį pavadinimą.
ClusterIP išlieka tinkamas įėjimas klasterio vidaus kvietėjams, įskaitant kitus darbo krūvius. Tai tiesiog nėra publikavimo mechanizmas naudotojams už klasterio maršrutizavimo srities.
Vidinis balansuotojas: paskelbtas kelias
Vidinis balansuotojas suteikia stabilų privatų adresą ir pavadinimą, į kurį gali rodyti jūsų zona, o valdiklis palaiko backendų rinkinį aktualų, kaip aprašo EKS apkrovos balansavimo vadovas. Tai įėjimas, kuris atlaiko įprastą Pod pakeitimą be jokio dokumento redagavimo. Jis kainuoja debesijos išteklių, valdiklio konfigūraciją ir maršrutą iš VPN, ir būtent šias dalis žmonės nuvertina.
Naudokite tą valdiklio modelį, kurį klasteris iš tikrųjų vykdo. Anotacijos, parašytos vienai integracijai, netaikomos kitai.
Kas yra šaltinio adresas
Saugos grupės mato šaltinį, kuris pasiekia jų ribą, ir tai gali būti prisijungęs klientas arba išverstas adresas, priklausomai nuo VPN ir apkrovos balansavimo kelio. EC2 pagrindu veikiančiuose mazguose įprasti VPC CNI Pod paveldi mazgo ENI grupes pagal nutylėjimą, o palaikomos konfigūracijos gali prijungti Pod būdingas grupes. Rašykite taisykles dokumentuotam keliui, o ne numanomam nešiojamojo kompiuterio adresui.
Laikykite pačios programos klausytoją ir autentifikavimą atskirais valdikliais. Tinklo taisyklė, leidžianti srautą, nėra autorizacijos sprendimas ir neturėtų būti taip traktuojama.
Ką perduoti naudotojams
Duokite naudotojams paslaugos pavadinimą, o ne adresą. Paskelbkite pavadinimą privačioje zonoje, nukreipkite jį į vidinį įėjimą ir tada išbandykite pakeisdami backend Pod, kol klientas laiko tą patį pavadinimą atidarytą. Šis pratimas tikrina savybę, kuri svarbi: pasiekti tą pačią programą po įprasto diegimo.
Laikykite tiesioginę prieigą prie Pod kaip dokumentuotą operacinę išimtį su savo apimtimi, toli nuo naudotojams skirtų instrukcijų.