Kubernetes: yakavhurika sosi vs. mutengesi-zvakananga

Mhoro, zita rangu ndiDmitry Krasnov. Kweanopfuura makore mashanu ndanga ndichitungamira Kubernetes masumbu uye kuvaka yakaoma microservice architecture. Mukutanga kwegore rino, takatanga sevhisi yekutonga Kubernetes masumbu akavakirwa paContainerum. Kutora mukana uyu, ini ndichakuudza kuti Kubernetes chii uye kuti kubatanidzwa nemutengesi kwakasiyana sei kubva kune yakavhurika sosi.

Kutanga, chii Kubernetes. Iyi ihurongwa hwekutarisira midziyo pane yakakura nhamba yevaenzi. Kubva muchiGiriki, nenzira, rinoshandurwa se "pilot" kana "helmsman." Yakagadzirwa neGoogle pekutanga ndokuzopihwa semupiro wetekinoroji kuCloud Native Computing Foundation, sangano repasi rese risingaite purofiti rinounza pamwe chete vanotungamira pasi rose vanogadzira, vashandisi vekupedzisira uye vanopa tekinoroji.

Kubernetes: yakavhurika sosi vs. mutengesi-zvakananga

Tonga nhamba huru yemidziyo

Zvino ngationei kuti idzi ndedzipi midziyo. Ichi chishandiso chine nharaunda yayo yese - kunyanya maraibhurari ayo anotsamira chirongwa. Zvese izvi zvakaiswa mudura uye zvinounzwa muchimiro chemufananidzo unogona kumhanya zvisinei neiyo inoshanda sisitimu, yakaedzwa uye nezvimwe. Asi pane dambudziko - kubata midziyo pahuwandu hwevaenzi kwakaoma kwazvo. Ndosaka Kubernetes yakagadzirwa.

Mufananidzo wemudziyo unomiririra application pamwe nekutsamira kwayo. Iko kushandiswa, kutsamira kwayo, uye iyo OS faira system mufananidzo uri munzvimbo dzakasiyana dzemufananidzo, anonzi ma layer. Matanho anogona kushandiswazve pamidziyo yakasiyana. Semuenzaniso, zvese zvinoshandiswa mukambani zvinogona kushandisa iyo Ubuntu base layer. Paunenge uchimhanyisa midziyo, hapana chikonzero chekuchengeta akawanda makopi eimwe base base layer pane iyo host. Izvi zvinokutendera kuti ugone kukwidziridza kuchengetedza kwemifananidzo uye kutumira.

Kana isu tichida kumhanyisa application kubva mumudziyo, iwo anodiwa akaturikidzana akaiswa pamusoro peumwe neumwe uye yakavharika faira system inoumbwa. Chinyorwa chekurekodha chinoiswa pamusoro, chinobviswa kana mudziyo wamira. Izvi zvinovimbisa kuti kana mudziyo uchimhanya, application inogara iine nharaunda yakafanana, isingagone kuchinjwa. Izvi zvinovimbisa kuberekana kwezvakatipoteredza pane akasiyana maOS. Kunyangwe iri Ubuntu kana CentOS, nharaunda inogara yakafanana. Pamusoro pezvo, mudziyo wacho wakaparadzaniswa nemugadziri uchishandisa masisitimu akavakirwa muLinux kernel. Zvishandiso mumudziyo hazvione mafaera, maitiro emugadziri uye midziyo yakavakidzana. Uku kuparadzaniswa kwezvikumbiro kubva kune iyo host OS inopa imwe nhanho yekuchengetedza.

Kune akawanda maturusi aripo ekugadzirisa midziyo pane muenzi. Inonyanya kufarirwa kwavari ndeye Docker. Iyo inokutendera iwe kuti upe iyo yakazara hupenyu kutenderera kwemidziyo. Nekudaro, inoshanda chete pane imwe saiti. Kana iwe uchida kubata midziyo mukati meakawanda mauto, Docker inogona kuita hupenyu gehena kune mainjiniya. Ndosaka Kubernetes yakagadzirwa.

Iko kudiwa kweKubernetes kwakanyatso kukonzerwa nekugona kubata mapoka emidziyo pane akawanda anotambira seimwe mhando yechinhu chimwe chete. Kuzivikanwa kwehurongwa kunopa mukana wekuvaka DevOps kana Development Operations, umo Kubernetes inoshandiswa kumhanyisa maitiro eiyi DevOps.

Kubernetes: yakavhurika sosi vs. mutengesi-zvakananga

Mufananidzo 1. Schematic inomiririra kuti Kubernetes inoshanda sei

Full automation

DevOps inonyanya kuita otomatiki yekuvandudza maitiro. Zvichireva kutaura, vagadziri vanonyora kodhi iyo inoiswa kune repository. Ipapo iyi kodhi inogona kuunganidzwa otomatiki mumudziyo une maraibhurari ese, akaedzwa uye "akatenderedzwa" kune inotevera nhanho - Staging, uye ipapo ipapo kuKugadzirwa.

Pamwe chete naKubernetes, DevOps inokutendera kuti uite otomatiki iyi maitiro kuitira kuti zviitike pasina kana kutora chikamu kubva kune vanogadzira ivo pachavo. Nekuda kweizvi, kuvaka kunokurumidza kukurumidza, sezvo mugadziri haafanire kuita izvi pakombuta yake - anongonyora chidimbu chekodhi, anosundira iyo kodhi kune repository, mushure mezvo pombi inotangwa, iyo inogona kusanganisira iyo nzira. yekuvaka, kuyedza, uye kufambisa kunze. Uye izvi zvinoitika nekuzvipira kwese, saka kuyedzwa kunoitika nguva dzose.

Panguva imwecheteyo, kushandisa mudziyo unobvumidza iwe kuve nechokwadi chekuti nharaunda yese yechirongwa ichi ichaburitswa mukugadzirwa nenzira chaiyo iyo yakaedzwa. Ndokunge, hakuzove nematambudziko senge "kwaive nedzimwe shanduro muyedzo, dzimwe mukugadzira, asi patakadziisa, zvese zvakadonha." Uye sezvo nhasi isu tine maitiro ekuvakwa kwe microservice, apo pachinzvimbo cheimwe yakakura application paine mazana ezvidiki, kuti uzvipe nemaoko, vashandi vakakura vevashandi vanozodiwa. Ndosaka tichishandisa Kubernetes.

Pros, pros, pros


Kana tikataura nezvezvakanakira Kubernetes sepuratifomu, saka ine zvakakosha zvakanakira kubva pakuona kwekutonga microservice architecture.

  • Kugadzirisa akawanda replicas. Chinhu chakanyanya kukosha kutonga midziyo kune akawanda mahosti. Zvinotonyanya kukosha, tonga akawanda application replicas mumidziyo sechinhu chimwe chete. Nekuda kweizvi, mainjiniya haafanire kunetseka nezve mudziyo wega wega. Kana imwe yemidziyo ikaparara, Kubernetes achaona izvi ozvitangisa zvakare.
  • Cluster network. Kubernetes zvakare ine inonzi cluster network ine yayo kero nzvimbo. Nekuda kweizvi, pod yega yega ine kero yayo. A subpod inonzwisiswa sedikidiki dhizaini unit ye ​​cluster umo macontainer anovhurwa zvakananga. Uye zvakare, Kubernetes ine mashandiro ayo anosanganisa chiyero chemutoro uye Service Discovery. Izvi zvinokutendera kuti ubvise manyorero IP kero manejimendi uye kupa basa iri kuKubernetes. Uye otomatiki macheki ehutano achabatsira kuona matambudziko uye kutungamira traffic kune anoshanda pods.
  • Configuration management. Paunenge uchitonga huwandu hukuru hwemaapplication, zvinova zvakaoma kubata application kumisikidza. Nechinangwa ichi, Kubernetes ine yakakosha ConfigMap zviwanikwa. Ivo vanokutendera iwe kuti uchengete nechepakati zvigadziriso uye uzviratidze kune pods paunenge uchimhanyisa maapplication. Iyi meshini inotibvumira kuvimbisa kuenderana kweiyo gadziriso mune inokwana gumi kana zana replicas yekushandisa.
  • Mavhoriyamu Anoramba Aripo. Midziyo haichinjike uye kana mudziyo ukamiswa, data rese rakanyorerwa kufaira system richaparadzwa. Asi mamwe maapplication anochengeta data zvakananga padhisiki. Kugadzirisa dambudziko iri, Kubernetes ine dhisiki yekuchengetedza manejimendi mashandiro - Persistent Volumes. Iyi meshini inoshandisa kuchengetedza kwekunze kwedata uye inogona kuendesa inoenderera kuchengetedza, block kana faira, mumidziyo. Iyi mhinduro inokubvumira kuchengetedza data zvakasiyana kubva kuvashandi, izvo zvinovaponesa kana vashandi vakafanana vakaputsika.
  • Load Balancer. Kunyangwe muKubernetes isu tinobata zvisingaite senge Deployment, StatefulSet, zvichingodaro, pakupedzisira midziyo inomhanya pamichina yenguva dzose kana maseva ehardware. Havana kukwana uye vanogona kudonha chero nguva. Kubernetes achaona izvi uye anotungamira traffic yemukati kune mamwe makopi. Asi chii chekuita netraffic inouya kubva kunze? Kana iwe ukangotungamira traffic kune mumwe wevashandi, kana ikaparara, iyo sevhisi inenge isipo. Kugadzirisa dambudziko iri, Kubernetes ine masevhisi akaita seMutoro Balancer. Iwo akagadzirwa kuti agadzirise otomatiki yekunze gore balancer kune vese vashandi vari musumbu. Iyi yekunze balancer inotungamira traffic yekunze kune vashandi uye inotarisisa chimiro chavo pachayo. Kana mumwe kana vakawanda vashandi vasingawanikwe, traffic inoendeswa kune vamwe. Izvi zvinokutendera kuti ugadzire masevhisi anowanikwa zvakanyanya uchishandisa Kubernetes.

Kubernetes inoshanda zvakanyanya kana ichimhanyisa microservice architecture. Izvo zvinogoneka kuita iyo sisitimu mune classical architecture, asi hazvina maturo. Kana application isingakwanise kumhanya pane akawanda replicas, saka mutsauko wei wazvinoita - muKubernetes kana kwete?

Open source Kubernetes


Vhura sosi Kubernetes chinhu chikuru: Ndakachiisa uye chinoshanda. Iwe unogona kuiisa pane yako wega maseva ehardware, pane yako wega zvivakwa, isa masters nevashandi pane izvo zvese zvinoshandiswa zvinomhanya. Uye zvinonyanya kukosha, zvese izvi ndezvemahara. Zvisinei, pane nuances.

  • Chekutanga ndiko kudiwa kweruzivo uye ruzivo rwevatungamiriri uye mainjiniya anozoendesa nekutsigira zvese izvi. Sezvo mutengi achiwana rusununguko rwakakwana rwekuita muchikwata, ndiye ane mhosva yekushanda kwechikwata pachake. Uye zviri nyore kwazvo kuputsa zvese pano.
  • Chechipiri ndiko kushaikwa kwekubatanidza. Kana iwe uchimhanyisa Kubernetes isina yakakurumbira virtualization chikuva, iwe haugone kuwana ese mabhenefiti echirongwa. Zvakadai sekushandisa Persistent Volumes uye Load balancer masevhisi.

Kubernetes: yakavhurika sosi vs. mutengesi-zvakananga

Mufananidzo 2. k8s architecture

Kubernetes kubva kumutengesi


Kubatanidzwa nemupi wegore kunopa sarudzo mbiri:

  • Chekutanga, munhu anogona kungodzvanya pane "gadzira cluster" bhatani uye wowana sumbu rakatogadzirwa uye rakagadzirira kushandiswa.
  • Kechipiri, mutengesi pachake anoisa sumbu uye anomisa kubatanidzwa negore.

Zvinoitika sei pano. Injiniya anotanga sumbu anotsanangura kuti vangani vashandi vaanoda uye neapi ma paramita (semuenzaniso, vashandi vashanu, imwe neimwe ine gumi CPUs, 5 GB ye RAM uye, toti, 10 GB yediski). Mushure mezvo inowana mukana kune iyo yakatoumbwa cluster. Muchiitiko ichi, vashandi vanotangwa mutoro vanoendeswa zvachose kune mutengi, asi ndege yose yehutungamiri inoramba iri pasi pemutoro wemutengesi (kana sevhisi inopiwa maererano nemuenzaniso webasa rinotarisirwa).

Zvisinei, chirongwa ichi chine zvipingamupinyi zvayo. Nekuda kwekuti ndege yekutarisira inoramba iine mutengesi, mutengesi haapi mukana wakazara kune mutengi, uye izvi zvinoderedza kuchinjika mukushanda neKubernetes. Dzimwe nguva zvinoitika kuti mutengi anoda kuwedzera mamwe maitiro chaiwo kuKubernetes, semuenzaniso, kuvimbiswa kuburikidza neLDAP, asi manejimendi gadziriso yendege haibvumiri izvi.

Kubernetes: yakavhurika sosi vs. mutengesi-zvakananga

Mufananidzo 3. Muenzaniso weKubernetes cluster kubva kune cloud provider

Chii chekusarudza: yakavhurika sosi kana mutengesi


Saka, Kubernetes yakavhurika sosi kana mutengesi chaiwo? Kana tikatora yakavhurika sosi Kubernetes, ipapo mushandisi anoita zvaanoda nayo. Asi pane mukana mukuru wekupfura iwe pachako mutsoka. Nemutengesi zvakanyanya kuoma, nekuti zvese zvinofungidzirwa uye zvakagadzirirwa kambani. Iyo yakanyanya kusarudzika yeakavhurika sosi Kubernetes ndiyo inodiwa kune nyanzvi. Nechisarudzo chemutengesi, kambani inosunungurwa kubva mumusoro uyu, asi ichafanirwa kusarudza kubhadhara nyanzvi dzayo kana mutengesi.

Kubernetes: yakavhurika sosi vs. mutengesi-zvakananga

Kubernetes: yakavhurika sosi vs. mutengesi-zvakananga

Zvakanaka, zvakanakira zviri pachena, zvakaipa zvinozivikanwa zvakare. Chinhu chimwe chinogara chiripo: Kubernetes inogadzirisa matambudziko mazhinji nekuita otomatiki manejimendi emidziyo yakawanda. Uye ndeipi yekusarudza, yakavhurika sosi kana mutengesi - munhu wese anoita sarudzo yake.

Chinyorwa chakagadzirwa naDmitry Krasnov, anotungamira mugadziri weContainerum sevhisi ye #CloudMTS mupi.

Source: www.habr.com

Voeg