K8S Multicluster Rwendo

Hei Habr!

Isu tinomiririra Exness platform timu. Kare, vatinoshanda navo vakatonyora nyaya nezve Kugadzira-yakagadzirira mifananidzo yek8s. Nhasi tinoda kugovera ruzivo rwedu rwekufambisa masevhisi kuenda kuKubernetes.

K8S Multicluster Rwendo

Kutanga, tinokupa dzimwe nhamba kuti unzwisise zviri nani izvo zvichakurukurwa:

  • Dhipatimendi redu rekusimudzira rine vanhu vanopfuura zana, kusanganisira zvinopfuura zvikwata gumi zvakasiyana zvine QA, DevOps uye Scrum maitiro. Development stack - Python, PHP, C++, Java uye Golang. 
  • Hukuru hweyedzo uye nharaunda dzekugadzira dzinenge 2000 midziyo imwe neimwe. Vari kumhanya Rancher v1.6 pane yavo yekuona uye pasi peVMware. 

Chikonzero

Sezvavanotaura, hapana chinogara nekusingaperi, uye Rancher akazivisa kupera kwekutsigirwa kwevhezheni 1.6 kare kare. Hungu, mumakore anopfuura matatu takadzidza nzira yokuigadzirira nokupedza nayo zvinetso zvinomuka, asi kazhinji kazhinji tinonangana nezvinetso zvisingazombogadziriswi. Rancher 1.6 zvakare ine ossified system yekuburitsa kodzero, kwaunogona kuita zvinenge zvese kana hapana.

Kunyangwe proprietary virtualization yakapa hukuru hwekutonga pamusoro pekuchengetedza data uye kuchengetedzeka kwayo, yakaisa mari yekushandisa iyo yainetsa kugamuchira yakapihwa kukura kwekambani, huwandu hwemapurojekiti uye zvinodiwa kwavari.

Isu taida kutevera zviyero zveIaC uye, kana zvichidikanwa, kuwana huwandu nekukurumidza, mune chero nzvimbo uye pasina kukiyiwa kwevatengesi, uye zvakare kukwanisa kuisiya nekukurumidza.

kutanga matanho

Chekutanga, taida kuvimba nematekinoroji echizvino-zvino nemhinduro izvo zvaizobvumira zvikwata kuti zvive nekukurumidza kutenderera kutenderera uye kuderedza mutengo wekushanda wekudyidzana nepuratifomu inopa simba. 
 
Zvechokwadi, chinhu chekutanga chakauya mupfungwa dzedu chaiva Kubernetes, asi isu hatina kufara uye takaita tsvakurudzo shoma kuti tione kana yaiva sarudzo yakarurama. Isu takaongorora chete opensource mhinduro, uye muhondo isina kunaka, Kubernetes akakunda zvisina magumo.  

Tevere kwakauya mubvunzo wekusarudza chishandiso chekugadzira masumbu. Isu takaenzanisa mhinduro dzakakurumbira: kops, kubespray, kubeadm.

Kutanga, kubeadm yairatidzika kwatiri seyakanyanya kuoma, senge rudzi rwemugadziri we "bhasikoro," uye kops yakanga isina kuchinjika zvakakwana.

Uye akahwina aive:

K8S Multicluster Rwendo

Takatanga kuyedza neyedu virtualization uye AWS, tichiedza kudzoreredza chimwe chinhu chakada kufanana neyakapfuura resource management pateni, apo munhu wese akagovanisa "sumbu". Uye ikozvino isu tine yedu yekutanga cluster yegumi madiki emuchina, akati wandei ari muAWS. Takatanga kuedza kutamira zvikwata ikoko, zvinhu zvose zvaiita se "zvakanaka", uye nyaya yacho inogona kupedzwa, asi ...

Matambudziko Ekutanga

Ansible ndiyo iyo kubespray yakavakirwa pairi, haisi chishandiso chinokutendera kuti uteedzere IaC: paunenge uchitumira / kubvisa node, chimwe chinhu chaigara chisina kumira zvakanaka uye imwe mhando yekupindira yaidiwa, uye kana uchishandisa maOS akasiyana, bhuku rekutamba rakazvibata zvakasiyana. . Sezvo nhamba yezvikwata nemanodhi muboka ichikura, takatanga kuona kuti bhuku rekutamba rakanga richitora nguva yakareba uye yakareba kuti ripere, uye somugumisiro, rekodhi yedu yakanga iri maawa 3,5, ko nezvenyu? πŸ™‚

Uye zvinoita sekunge kubespray ingori Ansible, uye zvese zvinojeka pakutanga kuona, asi:

K8S Multicluster Rwendo

Pakutanga kwerwendo, basa raive rekuvhura hunyanzvi chete muAWS uye pane virtualization, asi zvino, sezvinowanzoitika, zvinodiwa zvakachinja.
 
K8S Multicluster RwendoK8S Multicluster Rwendo

Mukuona kweizvi, zvakava pachena kuti maitiro edu ekare ekubatanidza zviwanikwa mune imwe orchestration system yakanga isina kukodzera - munyaya iyo masumbu ari kure zvikuru uye anotungamirirwa nevanopa vakasiyana. 

Kuwedzera zvimwe. Kana zvikwata zvese zvichishanda mukati meboka rimwe chete, masevhisi akasiyana-siyana ane NodeSelectors akaiswa zvisizvo anogona kubhururuka achienda kune "mutorwa" werimwe timu uye kushandisa zviwanikwa ipapo, uye kana kusvibiswa kwakaiswa, pakanga paine zvikumbiro zvenguva dzose kuti imwe kana imwe sevhisi yanga isiri kushanda, isina kugovaniswa nemazvo nekuda kwehunhu hwevanhu. Chimwe chinetso chakanga chiri kuverengera mutengo, zvikurukuru tichifunga nezvezvinetso mukugovera masevhisi kumativi ose.

Imwe nyaya yakaparadzana yaive yekupihwa kwekodzero kuvashandi: timu yega yega yaida kuve "pamusoro" yeboka uye kuibata zvachose, izvo zvinogona kukonzera kuparara kwakazara, sezvo zvikwata zvakasununguka kune mumwe nemumwe.

Kuva sei?

Tichifunga nezvezviri pamusoro uye zvishuwo zvezvikwata kuti zvizvimirire zvakanyanya, takaita mhedziso iri nyore: timu imwe - sumbu rimwe. 

Saka takawana yechipiri:

K8S Multicluster Rwendo

Uye ipapo sumbu rechitatu: 

K8S Multicluster Rwendo

Takabva tatanga kufunga: tomboti mugore rimwe zvikwata zvedu zvinenge zvave nemasumbu akawanda? Munzvimbo dzakasiyana dzenzvimbo, semuenzaniso, kana pasi pekutonga kwevanopa vakasiyana? Uye vamwe vavo vanozoda kukwanisa kukurumidza kutumira boka renguva pfupi kune mamwe bvunzo. 

K8S Multicluster Rwendo

Kubernetes akazara aizouya! Iyi ndeimwe mhando yeMultiKubernetes, zvinobuda. 

Panguva imwecheteyo, isu tese tichada neimwe nzira kuchengetedza ese aya masumbu, kukwanisa kubata zviri nyore kuwana kwavari, pamwe nekugadzira matsva uye kubvisa ekare pasina kupindira kwemaoko.

Imwe nguva yapfuura kubva pakutanga kwerwendo rwedu munyika yeKubernetes, uye takasarudza kuongorora zvakare mhinduro dziripo. Zvakazoitika kuti yatovepo pamusika - Rancher 2.2.

K8S Multicluster Rwendo

Padanho rekutanga rekutsvagisa kwedu, Rancher Labs akange atoita kuburitswa kwekutanga kwevhezheni 2, asi kunyangwe yaigona kusimudzwa nekukasira nekutangisa chigaba chisina kutsamira chekunze chine maparamendi akati wandei kana kushandisa iyo yepamutemo HELM Chati, yaiita seyakapusa. kwatiri, uye hatina kuziva kana taigona kuvimba nesarudzo iyi kuti ichasimudzirwa here kana kuti ichakurumidza kusiiwa. Iyo cluster = inodzvanya paradigm muUI pachayo haina kuenderana nesu, uye isu takanga tisingadi kusungirirwa kuRKE, sezvo chiri chishandiso chakanyatso kutariswa. 

Shanduro Rancher 2.2 yakange yatove nechitarisiko chinoshanda uye, pamwe chete neyakapfuura, yaive neboka rezvinhu zvinonakidza kunze kwebhokisi, sekubatanidza nevazhinji vekunze vanopa, imwe nzvimbo yekugovera kodzero uye kubeconfig mafaera, kutanga kubectl. mufananidzo une kodzero dzako muUI, nested namespaces aka mapurojekiti. 

Paive zvakare nenharaunda yakatoumbwa yakatenderedza Rancher 2, uye mupi anonzi HashiCorp Terraform akagadzirwa kuti azvibate, izvo zvakatibatsira kuisa zvese pamwechete.

Chii chaitika

Nekuda kweizvozvo, takapedzisira tave neboka diki diki rinomhanya Rancher, rinowanikwa kune mamwe ese masumbu, pamwe nemasumbu mazhinji akabatana nawo, kuwana chero ipi zvayo inogona kupihwa sekungowedzera mushandisi kune iyo ldap dhairekitori, zvisinei. panowanikwa uye kuti ndeupi zviwanikwa zvemupi waanoshandisa.

Uchishandisa gitlab-ci uye Terraform, sisitimu yakagadzirwa iyo inokutendera iwe kuti ugadzire sumbu rechero zvigadziriso muvanopa makore kana yedu pachedu zvivakwa uye wozvibatanidza kuRancher. Zvese izvi zvinoitwa muIaC maitiro, uko sumbu rega rega rinotsanangurwa nerepository, uye mamiriro ayo anoshandurwa. Panguva imwecheteyo, mamodule akawanda akabatanidzwa kubva kune ekunze repositories kuitira kuti zvese zvinosara zvipfuure zvakasiyana kana kutsanangura tsika yako yekumisikidza yezviitiko, izvo zvinobatsira kudzikisa chikamu chekudzokorora kwekodhi.

K8S Multicluster Rwendo

Ehe, rwendo rwedu rwuri kure nekupfuura uye kuchine akawanda anonakidza mabasa pamberi, senge imwe poindi yebasa ine matanda uye metrics echero masumbu, sevhisi mesh, gitops yekutarisira mitoro mumulticluster uye zvimwe zvakawanda. Tinovimba unowana chiitiko chedu chinonakidza! 

Nyaya yacho yakanyorwa naA. Antipov, A. Ganush, Platform Engineers. 

Source: www.habr.com

Voeg