Kubernetes

Mis on Kubernetes?

Mis on Kubernetes?

Mis on Kubernetes? Ja mis on selle arhitektuur?

Konteinerites on tarkvaraarendajate ja tootmiskeskkonna vahel nöör katkenud. Mitte selles mõttes, et teil pole üldse vaja tootmissüsteemi, kuid te ei pea muretsema tootmiskeskkonna eripära pärast.

Rakendused on nüüd koos vajalike sõltuvustega komplekteeritud VM-i asemel kergekaalulises konteineris. See on suurepärane! Kuid see ei taga puutumatust süsteemi tõrgete, võrgutõrgete või kettarikete eest. Näiteks kui hooldatakse andmekeskust, kus teie serverid töötavad, läheb teie rakendus võrguühenduseta.

Kubernetes tuleb nende probleemide lahendamiseks pildile. See võtab konteinerite idee ja laiendab seda mitme arvutisõlme vahel (mis võivad olla pilves hostitud virtuaalmasinad või paljasmetalliserverid). Idee on, et konteinerirakenduste jaoks töötaks hajutatud süsteem.

Miks just Kubernetes?

Miks peaksite kõigepealt olema hajutatud keskkond??

Mitmel põhjusel on ennekõike kõrge kättesaadavus. Tahate, et teie e-kaubanduse veebisait püsiks 24/7 võrgus või kaotaksite äri, kasutage selleks Kubernetes. Teine on mastaapsus, kus soovite laiendada. Siin laiendamine hõlmab rohkemate arvutussõlmede lisamist, et anda teie kasvavale rakendusele rohkem jalaruumi.

Disain ja arhitektuur

Nagu igal hajutatud süsteemil, on ka Kubernetese klastris põhisõlm ja seejärel terve hulk töölisesõlme, kus teie rakendused tegelikult töötaksid. Ülem vastutab ülesannete ajastamise, töökoormuste haldamise ja klastrisse uute sõlmede turvalise lisamise eest.

Nüüd muidugi võib põhisõlm ise ebaõnnestuda ja kogu klastri kaasa võtta, nii et Kubernetes võimaldab teil koondamise huvides tegelikult olla mitu peasõlme.

Linnulennult tüüpilise Kubernetese kasutuselevõtu kohta

Kubernetes Master

Kubernetes master on see, millega DevOpsi meeskond suhtleb ja mida kasutatakse uute sõlmede loomiseks, uute rakenduste juurutamiseks ning ressursside jälgimiseks ja haldamiseks. Peasõlme kõige põhilisem ülesanne on ajakava töökoormus kõigi töötajate sõlmede vahel tõhusalt, et maksimeerida ressursikasutust, parandada jõudlust ja järgida DevOpsi meeskonna valitud konkreetse töökoormuse poliitikaid.

Teine oluline komponent on jne mis on deemon, mis jälgib töötajate sõlmi ja hoiab kogu klastri olekut salvestavat andmebaasi. See on võtmeväärtusega andmehoidla, mida saab kasutada ka hajutatud keskkonnas mitme põhisõlme vahel. Etcd sisu annab kõik asjakohased andmed kogu klastri kohta. Töötaja sõlm vaataks aeg-ajalt etcd sisu, et teha kindlaks, kuidas see peaks käituma.

Kontroller on üksus, kes võtab API serverilt juhised (mida käsitleme hiljem) ja sooritab vajalikke toiminguid, näiteks rakenduste ja pakettide loomine, kustutamine ja värskendamine.

The API server paljastab Kubernetes API, mis kasutab JSON-i koormusi HTTPS-i kaudu, et suhelda kasutajaliidesega, millega arendaja meeskonnad või DevOpsi töötajad lõpuks suhtlevad. Nii veebi kasutajaliides kui ka CLI tarbivad seda API-d Kubernetes klastriga suhtlemiseks.

API server vastutab ka suhtluse eest töölisesõlmede ja erinevate põhisõlmede komponentide, näiteks etcd vahel.

Põhisõlm ei ole kunagi lõppkasutajale avatud, kuna see ohustaks kogu klastri turvalisust.

Kubernetese sõlmed

Masin (füüsiline või virtuaalne) vajaks mõnda olulist komponenti, mis pärast korralikku installimist ja seadistamist võivad selle serveri muuta teie Kubernetes klastri liikmeks.

Esimene asi, mida vajate, on sellele installitud ja töötav konteinerite käitamisaeg, nagu Docker. Ilmselt vastutab ta konteinerite ketramise ja haldamise eest.

Koos Dockeri tööajaga vajame ka Kubelet deemon. See suhtleb põhisõlmedega API-serveri kaudu ja esitab päringu etcd-le ning annab tagasi tervise- ja kasutusteavet selles sõlmes töötavate kaunade kohta.

Kuid konteinerid on iseenesest üsna piiratud, nii et Kubernetes on suurem konteiner, mis on ehitatud konteinerite kogumi peale, mida nimetatakse Kaunad.

Miks tulla välja kaunadega?

Dockeri poliitika on ühe rakenduse käitamine konteineri kohta. Sageli kirjeldatakse kui „Üks protsess konteineri kohta” poliitika. See tähendab, et kui vajate WordPressi saiti, soovitatakse teil olla kaks konteinerit, üks andmebaasi töötamiseks ja teine ​​veebiserveri töötamiseks. Selliste rakenduse seotud komponentide ühendamine kaussi tagab, et alati, kui laiendate suurust, eksisteerivad kaks üksteisest sõltuvat konteinerit alati ühes ja samas sõlmes ning räägivad üksteisega seega kiiresti ja lihtsalt.

Kaunad on Kubernetes peamine kasutuselevõtuüksus. Laiendades lisate klastrisse rohkem kaunasid. Igale podile antakse klastri sisevõrgus oma kordumatu IP-aadress.

Tagasi Kubernetese sõlme juurde

Nüüd saab üks sõlm käivitada mitu kaarti ja selliseid sõlme võib olla palju. See on kõik hästi, kuni mõtlete proovida suhelda välismaailmaga. Kui teil on lihtne veebipõhine teenus, siis kuidas suunaksite oma domeeninime sellele paljude IP-aadressidega kaunade kogumile?

Sa ei saa ega peagi! Kube-puhverserver on mõistatuse viimane osa, mis võimaldab operaatoritel teatud kauna Internetis paljastada. Näiteks saab teie kasutajaliidese muuta avalikult ligipääsetavaks ja kube-puhverserver jaotaks liikluse kõigi erinevate kaustade vahel, mis vastutavad kasutajaliidese majutamise eest. Teie andmebaasi ei pea avalikuks tegema ja kube-proxy lubaks selliste taustaga seotud töökoormuste korral ainult sisekommunikatsiooni.

Kas vajate seda kõike?

Kui alustate alles harrastaja või üliõpilasena, oleks Kubernetese kasutamine lihtsa rakenduse jaoks tegelikult ebaefektiivne. Kogu rigmarool kulutaks rohkem ressursse kui teie tegelik rakendus ja lisaks segadust ühe inimese jaoks.

Kuid kui kavatsete töötada suure meeskonnaga ja juurutada oma rakendusi tõsiseks äriliseks kasutamiseks, on Kubernetes väärt lisakulusid. Saate peatada asjade kaootiliseks muutumise. Tehke hooldusteks ruumi ilma seisakuteta. Seadistage vahvad A / B testimistingimused ja suurendage järk-järgult, ilma et kulutaksite infrastruktuurile liiga palju.

Parimad mängud, mida saab mängida käte jälgimisega
Oculus Quest tutvustas hiljuti suurepärast ideed käsitsi jälgimisest ilma kontrolleriteta. Üha suurema hulga mängude ja tegevustega, mis toetavad kas ...
Kuidas kuvada OSD ülekatet täisekraanil Linuxi rakendustes ja mängudes
Täisekraaniga mängude mängimine või rakenduste kasutamine häireteta täisekraanirežiimis võib teid paneelil või tegumiribal kuvatavast asjakohasest süs...
Viis parimat mängu püüdmise kaarti
Me kõik oleme YouTube'is voogesituse mänge näinud ja armastanud. PewDiePie, Jakesepticye ja Markiplier on vaid mõned tipptasemel mängijatest, kes on t...