Kuidas luua Kubernetesis Round Robini koormuse tasakaalustaja

Kuidas Luua Kubernetesis Round Robini Koormuse Tasakaalustaja



Koormuse tasakaalustamine on oluline tegur võrgu efektiivsuse tõstmisel. Koormuse tasakaalustamine tähendab meetodit ülesannete eelmääratlemiseks kindlas järjekorras, et hallata võrguvoogu taustaserverites. Tõhus koormuse tasakaalustaja tagab kõigi serverite korraliku töö ja vähendab reageerimisaega. Kubernetesis töötleb ja reguleerib sisendserverites olevaid andmeid koormuse tasakaalustaja. Serverikogumi võrguvoogu saab juhtida mitmel viisil. Selles artiklis räägime populaarsest koormuse tasakaalustamisele pühendatud algoritmist, ring-robin algoritmist.

Mis on koormuse tasakaalustaja?

Kubernetese konteinerihaldus on rakenduse sujuvaks tööks ülioluline. Koormuse tasakaalustaja on Kubernetesis hea konteinerihalduse ja suure mastaapsuse saavutamiseks esmane nõue. Nagu varem mainitud, asub koormuse tasakaalustaja klient-serveri ja lähteteenuse vahel. Koormuse tasakaalustaja ainus eesmärk on tagada võrguvoo reguleerimine erinevate serverite vahel. Kubernetesis suunatakse võrguliiklus ressursiserverist mitmele Kubernetese teenusele. Seega on erinevate serverite ja Kubernetese teenuste vahelise andmevoo haldamiseks vaja reguleerivat asutust. Koormuse tasakaalustaja hoiab ära serveri ülekoormamise ja parandab Kubernetes serveri reageerimisaega. See võimaldab kasutajatel konteinereid tõhusamalt kasutada.







Kuni oma mahutavuse saavutamiseni saadab Kubernetese koormuse tasakaalustaja ühendused basseini esimese serveriga. Järgmine server saab pärast seda uued ühendused vastu. See strateegia on kasulik olukordades, kus virtuaalmasinad (nt hostitud seaded) on kallid.



Kuberneteses näeb teenuse konfiguratsioonifail välja umbes selline:







Varem esitatud ekraanipildil näete, et tüüp on loadBalancer. Sisestades teenuse konfiguratsioonifaili tüübialasse LoadBalancer, lülitatakse koormuse tasakaalustaja sisse. Kuvatakse ka täiendavad üksikasjad, nagu apiversioon, tüüp, nimi ja spetsifikatsiooniteave. Sel juhul haldab ja suunab koormuse tasakaalustajat, mis suunab liikluse tausta-POD-idesse, pilveteenuse pakkuja.

Koormuse tasakaalustaja tööpõhimõte

Kõigepealt selgitame välja levinud eksiarvamuse. Kui kuulete Kubernetesis sõna koormuse tasakaalustaja, võib see teid segadusse ajada, kuna Kubernetese terminit koormuse tasakaalustaja kasutatakse mitmel otstarbel vaheldumisi. Selles artiklis keskendume aga kahele asjale – Kubernetese teenuste seostamisele väliskeskkondadega ja võrgukoormuse haldamisele nende teenustega.



Kubernetese kaustad viitavad väikseimatele juurutatavatele üksustele, mis sisaldavad ajastatud ülesandeid. Kaunade rühm teeb konteineri. Kubernetese komponendid on üles ehitatud funktsiooni alusel. Kõik konteinerid, mis peavad täitma sarnast funktsiooni, on jaotatud kaunadeks. Samamoodi ühendatakse kõik seotud kaustad teenuse loomiseks. Pidagem meeles, et Kubernetese kaunad ei ole püsivad. Need hävivad ja tekivad iga kord, kui pod taaskäivitatakse.

Järelikult muutuvad ka kaunade IP-aadressid ikka ja jälle. Podi taaskäivitamisel määrab Kubernetes vastloodud kaustadele automaatselt uued IP-aadressid. Teisest küljest, kui räägime kaunade rühmast, mida ühiselt nimetatakse teenusteks, on neil püsiv IP-aadress. Erinevalt üksikisikust ei muutu see pärast taaskäivitamist. Seda nimetatakse klastri IP-ks. Selle konkreetse klastri konteinerid pääsevad juurde ainult klastri IP-le. Siiski ei pääse te klastri IP-le juurde väliskeskkonnast. Siin on koormuse tasakaalustaja oluline. Kuna te ei pääse klastri IP-le otse väljastpoolt klastrit, vajate sekkumist. See sekkumine käsitleb kõiki taotlusi väljastpoolt klastrit ja haldab võrguliiklust.

Round Robin Load Balanceri loomine

Koormuse tasakaalustajaid on mitut tüüpi. Selles artiklis sihime eelkõige ühte liiki. Räägime koormuse tasakaalustaja tüübist, mis on pühendatud võrgu voogude tasakaalustamisele. Kubernetesis tegeleb see koormuse tasakaalustaja võrguliikluse sobiva jaotusega Kubernetese teenustele. See jaotus toimub vastavalt eelprogrammeeritud juhiste või algoritmide komplektile.

Ringipõhine koormuse tasakaalustaja on üks lihtsamaid viise sisendpäringute haldamiseks serverikogumite vahel. See on üks strateegiatest kasutada Kubernetese funktsioone, nagu haldamine ja skaleeritavus, maksimaalselt ära. Kubernetese teenuste parema ja tõhusama kasutamise võti on liikluse tasakaalustamine kaunadesse.

Ringhäälestusalgoritm on loodud liikluse suunamiseks kindlas järjekorras kaustade komplekti. Siin tuleb märkida kavandatud tellimus. See tähendab, et konfiguratsioon on teie kätes.

Samm 1: Oletame, et olete konfigureerinud viis kausta ringipõhises algoritmis. Koormuse tasakaalustaja saadab päringud igale taskule kindlas järjestuses. Esialgne tasku saab esimese päringu. Teine kassa võtab vastu teise taotluse.

2. samm: Samamoodi saadetakse kolmas päring kolmandasse taskusse ja nii edasi. Kuid järjestus ei muutu. Üks oluline asi on see, et ümbertöötamisalgoritm ei tegele kunagi selliste muutujatega nagu serveri praegune koormus. See tähendab, et see on staatiline. Seetõttu ei eelistata seda tootmisliikluses.

Peamine põhjus, miks peaksite kalduma ümbertöötamisalgoritmi poole, on see, et selle rakendamine on käkitegu. See võib aga kahjustada liikluse täpsust. Selle põhjuseks on asjaolu, et koormuse tasakaalustajad ei suuda erinevaid servereid tuvastada. Täpsuse parandamiseks on olemas erinevad koormuse tasakaalustajate variandid, näiteks kaalutud ringsõit, dünaamiline ringsõit jne.

Järeldus

See artikkel pakub lugejatele põhiteavet koormuse tasakaalustajate ja nende töötamise kohta. Kubernetese administraatorite üks olulisemaid ülesandeid on koormuse tasakaalustamine. Lisaks rääkisime Kubernetese struktuurist ja sellest, kui oluline on koormuse tasakaalustaja Kubernetese klastrite töö parandamiseks. Selles artiklis õppisime tundma koormuse tasakaalustaja tüüpi, mis on koormuse tasakaalustaja.