Turas Ioma-chnuasach K8S

Hi Habr!

Bidh sinn a’ riochdachadh sgioba àrd-ùrlar Exness. Roimhe sin, sgrìobh ar co-obraichean artaigil mu dheidhinn Dealbhan deiseil airson k8s. An-diugh tha sinn airson ar n-eòlas mu bhith a’ gluasad sheirbheisean gu Kubernetes a cho-roinn.

Turas Ioma-chnuasach K8S

An toiseach, bidh sinn a’ tabhann àireamhan dhut airson tuigse nas fheàrr fhaighinn air na thèid a dheasbad:

  • Tha an roinn leasachaidh againn air a dhèanamh suas de 100+ neach, a’ toirt a-steach barrachd air 10 sgiobaidhean eadar-dhealaichte le pròiseasan QA, DevOps agus Scrum fèin-sheasmhach. Stac leasachaidh - Python, PHP, C ++, Java agus Golang. 
  • Tha meud nan àrainneachdan deuchainn is cinneasachaidh timcheall air 2000 inneal gach fear. Tha iad a’ ruith Rancher v1.6 air an virtualization fhèin agus fo VMware. 

Мотивация

Mar a chanas iad, chan eil dad a 'mairsinn gu bràth, agus dh'ainmich Rancher deireadh taic airson dreach 1.6 o chionn ùine mhòr. Tha, ann an còrr is trì bliadhna tha sinn air ionnsachadh mar a nì sinn ullachadh agus fuasgladh fhaighinn air duilgheadasan a tha ag èirigh, ach nas trice bidh sinn a 'toirt aghaidh air duilgheadasan nach tèid a cheartachadh gu bràth. Tha siostam ossified aig Rancher 1.6 cuideachd airson còraichean a thoirt a-mach, far an urrainn dhut cha mhòr a h-uile càil no dad a dhèanamh.

Ged a thug virtualization seilbh barrachd smachd air stòradh dàta agus a thèarainteachd, chuir e cosgaisean obrachaidh an sàs a bha duilich gabhail riutha leis mar a bha a’ chompanaidh a’ fàs gu cunbhalach, an àireamh de phròiseactan agus riatanasan air an son.

Bha sinn airson inbhean IaC a leantainn agus, ma bha sin riatanach, comas fhaighinn gu sgiobalta, ann an àite cruinn-eòlasach sam bith agus às aonais glas reiceadair, agus cuideachd a bhith comasach air a thrèigsinn gu sgiobalta.

chiad cheuman

An toiseach, bha sinn airson a bhith an urra ri teicneòlasan agus fuasglaidhean an latha an-diugh a leigeadh le sgiobaidhean cearcall leasachaidh nas luaithe a bhith aca agus cosgaisean obrachaidh a lughdachadh airson eadar-obrachadh leis an àrd-ùrlar a bheir seachad cumhachd. 
 
Gu dearbh, b ’e Kubernetes a’ chiad rud a thàinig gu ar n-inntinn, ach cha robh sinn air bhioran agus rinn sinn beagan rannsachaidh gus faicinn an e an roghainn cheart a bh ’ann. Cha do rinn sinn measadh ach air fuasglaidhean opensource, agus ann am blàr mì-chothromach, bhuannaich Kubernetes gun chumhachan.  

An uairsin thàinig a’ cheist mu bhith a’ taghadh inneal airson cruinneachaidhean a chruthachadh. Rinn sinn coimeas eadar na fuasglaidhean as mòr-chòrdte: kops, kubespray, kubeadm.

An toiseach, bha coltas ann dhuinn gu robh kubeadm mar shlighe ro iom-fhillte, caran coltach ri seòrsa de dh’ innleachdair “baidhsagal,” agus cha robh sùbailteachd gu leòr aig kops.

Agus b’ e am buannaiche:

Turas Ioma-chnuasach K8S

Thòisich sinn a’ feuchainn a-mach ar virtualization fhìn agus AWS, a’ feuchainn ri rudeigin a bha car coltach ris a’ phàtran riaghlaidh ghoireasan a bh’ againn roimhe ath-chruthachadh, far an robh a h-uile duine a’ roinn an aon “chnuasach.” Agus a-nis tha a’ chiad bhuidheann againn de 10 innealan brìgheil beaga, agus tha dhà dhiubh suidhichte ann an AWS. Thòisich sinn a’ feuchainn ri sgiobaidhean a ghluasad an sin, bha coltas gu robh a h-uile dad “math”, agus dh’ fhaodadh an sgeulachd a bhith deiseil, ach...

A 'chiad thrioblaidean

Is e ciallach an rud air a bheil kubespray air a thogail, chan e inneal a th’ ann a leigeas leat IaC a leantainn: nuair a bhathas a’ coimiseanadh/dì-choimiseanadh nodan, chaidh rudeigin ceàrr an-còmhnaidh agus bha feum air eadar-theachd de sheòrsa air choreigin, agus nuair a bha e a’ cleachdadh diofar OSes, bha an leabhar-cluiche ga ghiùlan fhèin ann an dòigh eadar-dhealaichte. . Mar a dh’ fhàs an àireamh de sgiobaidhean agus nodan anns a’ bhuidheann, thòisich sinn a’ mothachadh gun robh an leabhar-cluiche a’ toirt nas fhaide agus nas fhaide ri chrìochnachadh, agus mar thoradh air an sin, bha an clàr againn 3,5 uair, dè mu do dheidhinn fhèin? 🙂

Agus tha e coltach gu bheil kubespray dìreach Ansible, agus tha a h-uile dad soilleir aig a ’chiad sealladh, ach:

Turas Ioma-chnuasach K8S

Aig toiseach an turais, b 'e an obair a bhith a' cur air bhog comasan a-mhàin ann an AWS agus air virtualization, ach an uairsin, mar a thachras gu tric, dh'atharraich na riatanasan.
 
Turas Ioma-chnuasach K8STuras Ioma-chnuasach K8S

Mar thoradh air an seo, dh’fhàs e soilleir nach robh an seann phàtran againn de bhith a’ cothlamadh ghoireasan ann an aon shiostam orchestration freagarrach - anns a’ chùis far a bheil na cruinneachaidhean gu math iomallach agus air an riaghladh le diofar sholaraichean. 

Nas fhaide air adhart. Nuair a bhios a h-uile sgioba ag obair taobh a-staigh an aon bhuidheann, dh’ fhaodadh diofar sheirbheisean le NodeSelectors a chaidh a chuir a-steach gu ceàrr itealaich gu aoigheachd “cèin” sgioba eile agus goireasan a chleachdadh an sin, agus nan deidheadh ​​​​truailleadh a shuidheachadh, bha iarrtasan cunbhalach ann nach robh seirbheis no seirbheis eile ag obair, nach eil air a sgaoileadh gu ceart air sgàth adhbhar daonna. B’ e duilgheadas eile obrachadh a-mach na cosgais, gu sònraichte leis na duilgheadasan ann a bhith a’ sgaoileadh sheirbheisean thar nodan.

B ’e sgeulachd air leth a bhith a’ toirt a-mach còirichean do luchd-obrach: bha gach sgioba ag iarraidh a bhith “aig ceann” a ’bhuidheann agus a riaghladh gu tur, a dh’ fhaodadh tuiteam gu tur, leis gu bheil na sgiobaidhean gu bunaiteach neo-eisimeileach bho chèile.

Mar a bhios tu?

A 'toirt aire do na tha gu h-àrd agus miann nan sgiobaidhean a bhith nas neo-eisimeileach, rinn sinn co-dhùnadh sìmplidh: aon sgioba - aon bhuidheann. 

Mar sin fhuair sinn dàrna fear:

Turas Ioma-chnuasach K8S

Agus an uairsin an treas buidheann: 

Turas Ioma-chnuasach K8S

An uairsin thòisich sinn a’ smaoineachadh: canaidh sinn gum bi barrachd air aon bhuidheann aig na sgiobaidhean againn ann am bliadhna? Ann an diofar sgìrean cruinn-eòlasach, mar eisimpleir, no fo smachd diofar sholaraichean? Agus bidh cuid dhiubh airson a bhith comasach air cruinneachadh sealach a chuir a-steach gu sgiobalta airson cuid de dheuchainnean. 

Turas Ioma-chnuasach K8S

Thigeadh Kubernetes slàn! Is e seo seòrsa de MultiKubernetes, tha e a ’tionndadh a-mach. 

Aig an aon àm, feumaidh sinn uile dòigh air choireigin na cruinneachaidhean sin a chumail suas, a bhith comasach air ruigsinneachd orra a riaghladh gu furasta, a bharrachd air feadhainn ùra a chruthachadh agus seann fheadhainn a dhì-choimiseanadh gun eadar-theachd làimhe.

Tha beagan ùine air a dhol seachad bho thòisich ar turas ann an saoghal Kubernetes, agus chuir sinn romhainn ath-sgrùdadh a dhèanamh air na fuasglaidhean a tha rim faighinn. Thionndaidh e a-mach gu bheil e mar-thà air a 'mhargaidh - Rancher 2.2.

Turas Ioma-chnuasach K8S

Aig a’ chiad ìre den rannsachadh againn, bha Rancher Labs air a’ chiad fhoillseachadh de dhreach 2 a dhèanamh mu thràth, ach ged a dh’ fhaodadh e a bhith air a thogail gu math luath le bhith a’ cur air bhog soitheach gun eisimeileachd bhon taobh a-muigh le paramadair no dhà no a’ cleachdadh a’ Chart HELM oifigeil, bha e coltach gun robh e mì-mhodhail. dhuinn, agus cha robh fios againn am b’ urrainn dhuinn a bhith an urra ris a ’cho-dhùnadh seo an tèid a leasachadh no a thrèigsinn gu sgiobalta. Cha robh an cluster = cliogan paradigm anns an UI fhèin cuideachd a’ freagairt oirnn, agus cha robh sinn airson a bhith ceangailte ri RKE, leis gur e inneal caran cumhang a th’ ann. 

Bha coltas nas gnìomhaiche air Version Rancher 2.2 mu thràth agus, còmhla ris an fheadhainn a bh’ ann roimhe, bha dòrlach de fheartan inntinneach a-mach às a ’bhogsa, leithid amalachadh le mòran sholaraichean taobh a-muigh, aon phuing sgaoilidh chòraichean agus faidhlichean kubeconfig, a’ cur air bhog kubectl ìomhaigh le do chòraichean san UI, àiteachan ainmean neadachaidh aka pròiseactan. 

Bha coimhearsnachd ann cuideachd mu thràth timcheall air Rancher 2, agus chaidh solaraiche leis an t-ainm HashiCorp Terraform a chruthachadh gus a riaghladh, a chuidich sinn gus a h-uile càil a chuir ri chèile.

Dè a thachair

Mar thoradh air an sin, chrìochnaich sinn le aon bhuidheann bheag a’ ruith Rancher, ruigsinneach don h-uile buidheann eile, a bharrachd air mòran chruinneachaidhean ceangailte ris, agus faodar ruigsinneachd air gin dhiubh a thoirt seachad cho sìmplidh ri bhith a’ cur cleachdaiche ris an eòlaire ldap, ge bith dè far a bheil e suidhichte agus dè na goireasan solaraiche a bhios e a’ cleachdadh.

A’ cleachdadh gitlab-ci agus Terraform, chaidh siostam a chruthachadh a leigeas leat cruinneachadh de rèiteachadh sam bith a chruthachadh ann an solaraichean sgòthan no ar bun-structar fhèin agus an ceangal ri Rancher. Tha seo uile air a dhèanamh ann an stoidhle IaC, far a bheil gach cruinneachadh air a mhìneachadh le stòr, agus a staid air a dhreach. Aig an aon àm, tha a ’mhòr-chuid de mhodalan ceangailte bho stòran taobh a-muigh gus nach eil air fhàgail ach caochladairean a thoirt seachad no cunntas a thoirt air an rèiteachadh àbhaisteach agad airson suidheachaidhean, a chuidicheas le bhith a’ lughdachadh àireamh sa cheud de ath-aithris còd.

Turas Ioma-chnuasach K8S

Gu dearbh, tha an turas againn fada bho bhith seachad agus tha mòran ghnìomhan inntinneach romhainn fhathast, leithid aon phuing obrach le logaichean agus meatairean de chlàran sam bith, mogal seirbheis, gitops airson a bhith a’ riaghladh luchdan ann an ioma-chruinneachadh agus mòran a bharrachd. Tha sinn an dòchas gum bi an t-eòlas againn inntinneach dhut! 

Chaidh an artaigil a sgrìobhadh le A. Antipov, A. Ganush, Platform Engineers. 

Source: www.habr.com

Cuir beachd ann