Waa maxay GitOps?

Ogow. turjumi: Kadib daabacaad dhawaan la daabacay wax ku saabsan hababka jiidista iyo riixitaanka ee GitOps, waxaan ku aragnay xiisaha qaabkan guud ahaan, laakiin waxaa jiray daabacaadyo luqadda Ruushka ah oo aad u yar oo mawduucan ku saabsan (ma jiraan wax ku saabsan Habré). Sidaa darteed, waxaan ku faraxsanahay inaan ku siinno dareenkaaga tarjumaad maqaal kale - inkastoo ku dhawaad ​​​​hal sano ka hor! - laga soo bilaabo Weaveworks, oo madaxiisu soo saaray ereyga "GitOps." Qoraalku wuxuu sharxayaa nuxurka habka iyo farqiga muhiimka ah ee kuwa jira.

Sanad ka hor ayaan daabacnay Hordhac GitOps. Markaas ka dib, waxaan wadaagnay sida kooxda Weaveworks ay u bilaabeen SaaS gebi ahaanba ku saleysan Kubernetes oo ay horumariyeen hab-dhaqannada ugu wanaagsan ee qorista ee geynta, maareynta, iyo la socodka deegaanka daruuriga ah.

Maqaalku wuxuu noqday mid caan ah. Dadka kale waxay bilaabeen inay ka hadlaan GitOps waxayna bilaabeen inay daabacaan qalab cusub riixid, horumarin, siraha, howlaha, is dhexgalka joogtada ah iyo wixi la mida. Ka soo muuqday mareegahayaga tiro badan Daabacaada iyo kiisaska isticmaalka GitOps. Laakiin dadka qaar ayaa weli su'aalo qaba. Sidee buu moodelku uga duwan yahay kan dhaqanka? kaabayaasha sida code iyo gaarsiinta joogtada ah (bixinta joogtada ah) Ma loo baahan yahay in la isticmaalo Kubernetes?

Waxaan isla markiiba ogaanay in loo baahan yahay sharraxaad cusub, oo bixinaysa:

  1. Tiro badan oo tusaalayaal iyo sheekooyin ah;
  2. Qeexitaanka gaarka ah ee GitOps;
  3. Isbarbardhigga gaarsiinta joogtada ah ee dhaqameed.

Maqaalkan waxaan isku daynay inaan daboolno dhammaan mowduucyadan. Waxay siisaa horudhac la cusboonaysiiyay GitOps iyo horumariye iyo CI/CD aragtida. Waxaan ugu horeyn diirada saarnaa Kubernetes, in kasta oo moodelku uu noqon karo mid guud.

La kulan GitOps

Bal qiyaas Alice. Waxay maamushaa Caymiska Qoyska, kaas oo siiya caafimaadka, baabuurta, guriga, iyo caymiska safarka dadka aad ugu mashquulsan inay ogaadaan waxa qandaraasyada ka baxaya laftooda. Ganacsigeedu wuxuu ku bilaabmay mashruuc dhinac ah markii Alice ay bangiga uga shaqaynaysay saynisyahan xogeed. Maalin maalmaha ka mid ah waxay ogaatay inay isticmaali karto algorithm-yada kombuyuutarrada sare si ay si wax ku ool ah u falanqeyso xogta oo ay u sameyso xirmooyinka caymiska. Maalgashadayaasha ayaa maalgeliyey mashruuca, hadda shirkadeeda waxa ay keentaa in ka badan 20 milyan oo doolar sannadkii, si xawli ahna u koraysa. Hadda, waxa u shaqeeya 180 qof oo xilal kala duwan haya. Tan waxa ku jira koox tignoolajiyadeed oo horumarisa, ilaalisa mareegaha, xog ururinta, iyo falanqaynta saldhiga macaamiisha. Kooxdan oo ka kooban 60 qof ayaa waxaa hogaaminaya Bob, madaxa farsamada ee shirkadda.

Kooxda Bob waxay geeyaan nidaamyada wax soo saarka daruuraha. Codsiyada asaasiga ah waxay ku shaqeeyaan GKE, iyagoo ka faa'iideysanaya Kubernetes Google Cloud. Intaa waxaa dheer, waxay isticmaalaan xog kala duwan iyo qalab falanqayn ah shaqadooda.

Caymiska qoysku uma dejinin isticmaalka weelasha, laakiin waxa uu qabsaday xamaasadda Docker. Shirkaddu waxay si dhakhso ah u ogaatay in GKE ay fududaysay in la geeyo kooxo si ay u tijaabiso sifooyin cusub. Jenkins ee CI iyo Quay ayaa lagu daray si ay u habeeyaan diiwaanka weelka, qoraallada waxaa loo qoray Jenkins oo ku riixay weelasha cusub iyo qaabeynta GKE.

Waqti ayaa ka soo wareegay. Alice iyo Bob waxay ka niyad jabeen waxqabadka habka ay doorteen iyo saamaynta ay ku leedahay ganacsiga. Soo bandhigida weelasha ma hagaajin wax soo saarka sidii ay kooxdu rajaynaysay. Mararka qaarkood hawlgelinta ayaa jebin doonta, mana cadda in isbeddellada kood lagu eedeeyo iyo in kale. Waxa kale oo ay noqotay inay adagtahay in la raad raaco isbeddelada habaynta. Badanaa waxay ahayd lagama maarmaan in la abuuro koox cusub oo loo raro codsiyada, maadaama tani ay ahayd habka ugu fudud ee lagu baabi'in karo jahwareerka uu nidaamku noqday. Alice waxay ka baqday in xaaladdu ay ka sii darto marka codsiga la horumariyo (marka lagu daro, mashruuc cusub oo ku salaysan barashada mashiinka ayaa la soo saaray). Bob waxa uu si otomaatig ah u sameeyay shaqada inteeda badan mana uu fahmin sababta ay dhuumuhu wali u xasiloon yihiin, oo aanay si fiican u miisaanayn, oo ay ugu baahan tahay faragelinta gacanta wakhti wakhti ah?

Kadib waxay barteen wax ku saabsan GitOps. Go'aankani wuxuu noqday mid sax ah oo ay u baahnaayeen si ay si kalsooni leh ugu socdaan.

Alice iyo Bob waxa ay maqlayeen wax ku saabsan Git, DevOps, iyo kaabayaasha sida koodhka shaqo socodka muddo sanado ah. Waxa u gaarka ah GitOps waa in ay keento hab-dhaqannada ugu wanaagsan-labadaba qeexan iyo kuwa caadiga ah-ee lagu hirgelinayo fikradahan macnaha Kubernetes. Mawduucan si isdaba joog ah u kacay, oo ay ku jiraan Weaveworks blog.

Caymiska qoyska ayaa go'aansada hirgelinta GitOps. Shirkaddu hadda waxay leedahay moodal hawlgal oo toos ah oo ku habboon Kubernetes oo isku-darka ah xawaaraha ka xasiloonidasababtoo ah waxay:

  • waxa la ogaaday in wax soo saarkii kooxdu labanlaabmay iyada oo aan cidina waalan;
  • joojiyey adeegidda qoraallada. Taa beddelkeeda, waxay hadda diiradda saari karaan sifooyin cusub oo ay wanaajiyaan hababka injineernimada - tusaale ahaan, soo bandhigida duubista canary-ga iyo horumarinta imtixaannada;
  • waxaanu hagaajinay habka dirista si ay dhif u burburto;
  • waxa ay fursad u heshay in ay dib u soo celiso ciidammadii ka dib markii ay qayb ahaan fashilantay iyada oo aan la faragelin gacanta;
  • la iibsaday la isticmaaloоKalsooni weyn oo lagu qabo hababka gaarsiinta. Alice iyo Bob waxay ogaadeen inay kooxda u kala qaybin karaan kooxo adeeg-yar oo is barbar socda;
  • wuxuu samayn karaa 30-50 isbeddel mashruuca maalin kasta iyada oo loo marayo dadaalka koox kasta oo ay tijaabiso farsamooyin cusub;
  • Way fududahay in la soo jiito horumariyeyaal cusub mashruuca, kuwaas oo fursad u haysta inay soo saaraan cusboonaysiinta wax soo saarka iyagoo isticmaalaya codsiyada jiidista dhowr saacadood gudahood;
  • si fudud ugu gudbi hantidhawrka qaabka SOC2 (si loogu hoggaansamo bixiyeyaasha adeegga shuruudaha maaraynta xogta sugan; wax badan akhri, tusaale ahaan, halkan - qiyaastii. turjumi.).

Maxaa dhacay?

GitOps waa laba shay:

  1. Qaabka hawlgalka ee Kubernetes iyo Cloud hooyo. Waxay bixisa hab-dhaqannada ugu wanaagsan ee hawlgelinta, maaraynta, iyo la socodka kooxaha weelka ku jira iyo codsiyada. Qeexitaanka xarrago leh ee qaabka hal slide ka Luis Faceira:
  2. Jidka loo maro abuurista jawi maamul arji ku salaysan horumariye. Waxaan u adeegsanaa socodka shaqada Git labadaba hawlgallada iyo horumarinta. Fadlan ogow in tani aysan ahayn kaliya riix Git, laakiin ku saabsan abaabulka dhammaan qalabka CI/CD iyo UI/UX.

Dhowr eray oo ku saabsan Git

Haddii aadan aqoon u lahayn nidaamyada xakamaynta nooca iyo socodka shaqada ee ku salaysan Git, waxaanu aad ugu talinaynaa inaad wax ka barato. La shaqaynta laamaha iyo codsiyada jiidashada waxay u ekaan kartaa sixir madow marka hore, laakiin faa'iidooyinka ayaa mudan dadaalka. Halkan maqaal wanaagsan in la bilaabo.

Sida Kubernetes u shaqeeyo

Sheekadeena, Alice iyo Bob waxay u jeesteen GitOps ka dib markay la shaqeeyaan Kubernetes in muddo ah. Runtii, GitOps waxay si dhow ula xiriirtaa Kubernetes - waa qaab hawleedka kaabayaasha iyo codsiyada ku saleysan Kubernetes.

Muxuu Kubernetes siinayaa isticmaalayaasha?

Waa kuwan qaar ka mid ah sifooyinka ugu muhiimsan:

  1. Qaabka Kubernetes, wax walba waxaa lagu qeexi karaa qaab cadeyn ah.
  2. Server-ka Kubernetes API waxa uu u qaataa caddayntan sidii gelinta ka dibna waxa uu si joogto ah isku dayaa in uu kooxda keeno gobolka lagu sifeeyey bayaanka.
  3. Baaqyada ayaa ku filan in lagu qeexo oo lagu maareeyo culeysyo shaqo oo kala duwan - "codsiyada."
  4. Natiijo ahaan, isbeddelada codsiga iyo kooxda ayaa u dhaca sababtoo ah:
    • isbeddelka sawirada weelka;
    • isbeddelka qeexitaanka caddaynta;
    • khaladaadka deegaanka - tusaale ahaan, shilalka weelka.

Awoodaha Isku-xidhka Weyn ee Kubernetes

Marka maamuluhu uu sameeyo isbedel qaabeynta, abaabulaha Kubernetes ayaa ku dabaqi doona kooxda ilaa iyo inta uu gobolku yahay uma soo dhowaan doono qaabeynta cusub. Qaabkani waxa uu u shaqeeyaa khayraad kasta oo Kubernetes ah waxana lagu kordhin karaa Qeexitaannada Khayraadka Gaarka ah (CRDs). Sidaa darteed, hawlgelinta Kubernetes waxay leedahay sifooyinka soo socda ee cajiibka ah:

  • Automation: Cusbooneysiinta Kubernetes waxay ku siinaysaa hab si otomaatig ah loogu sameeyo habka loo dabaqayo isbeddelada si qurux badan iyo waqti ku habboon.
  • Isku dhafka: Kubernetes waxay sii wadi doontaa inay isku daydo cusbooneysiinta ilaa guul laga gaaro.
  • Awood la'aanCodsiyada soo noqnoqda ee isu imaatinka waxay keenayaan isla natiijo isku mid ah.
  • Go'aan qaadasho: Marka agabku ku filan yahay, xaaladda kooxda la cusboonaysiiyay waxay ku xidhan tahay oo keliya gobolka la doonayo.

Sida GitOps u shaqeyso

Waxaan baranay wax ku filan oo ku saabsan Kubernetes si aan u sharaxno sida GitOps u shaqeyso.

Aan ku soo laabano kooxaha adeegyada yaryar ee Caymiska Qoyska. Maxay caadi ahaan qabtaan? Fiiri liiska hoose (haddii shay kasta oo ku jira uu ula muuqdo mid la yaab leh ama aan la aqoon, fadlan iska ilaali dhaleeceynta oo nala joog). Kuwani waa kaliya tusaalooyin ku saabsan socodka shaqada ee Jenkins. Waxaa jira habab kale oo badan marka la shaqeynayo qalab kale.

Waxa ugu weyn ayaa ah inaan aragno in cusboonaysiin kasta uu ku dhamaado isbeddelada faylalka qaabeynta iyo kaydinta Git. Isbeddelladan Git waxay sababaan "Operaha GitOps" inuu cusboonaysiiyo kooxda:

1. Habka shaqada: "Jenkins dhis - laanta sare".
Liiska hawsha:

  • Jenkins waxa uu u riixayaa sawirada la sumadeeyay Quay;
  • Jenkins wuxuu ku riixayaa jaantusyada jaantusyada iyo jaantusyada Helm baaldi kaydinta sayid;
  • Shaqada daruurtu waxay koobiyaysaa qaabaynta iyo jaantusyada baaldiga kaydinta sayid ilaa kaydka sayidkii Git;
  • Hawlwadeenka GitOps ayaa cusbooneysiiya kooxda

2. Jenkins dhis - laanta sii daynta ama hotfix:

  • Jenkins wuxuu u riixaa sawirro aan la taaban karin Quay;
  • Jenkins wuxuu ku riixaa jaantusyada jaantusyada iyo jaantusyada Helm baaldiga kaydinta diyaarinta;
  • Shaqada daruurtu waxay koobiyaysaa habaynta iyo jaantusyada baaldiga kaydinta ee kaydinta kaydinta Git;
  • Hawlwadeenka GitOps ayaa cusbooneysiiya kooxda

3. Jenkins waxay dhistaa - horumarisa ama laanta muujisaa:

  • Jenkins wuxuu u riixaa sawirro aan la taaban karin Quay;
  • Jenkins wuxuu ku riixaa jaantusyada jaantusyada iyo jaantusyada Helm baaldiga horumarinta;
  • Shaqada daruurtu waxay koobiyaysaa habaynta iyo jaantusyada baaldi kaydinta horumarinta ilaa kaydinta horumarinta Git;
  • Hawlwadeenka GitOps ayaa cusbooneysiiya kooxda

4. Ku darida macmiil cusub:

  • Maamulaha ama maamulaha (LCM/ops) ayaa u wacaya Gradle si uu marka hore u geeyo oo u habeeyo isu-dheellitirka culeyska shabakada (NLBs);
  • LCM/ops waxa ay samaysaa habayn cusub si ay ugu diyaariyaan hawlgelinta cusboonaysiinta;
  • Hawlwadeenka GitOps ayaa cusbooneysiiya kooxda

Sharaxaada kooban ee GitOps

  1. Sharaxaad ka bixi xaalada la rabo ee nidaamka oo dhan adigoo isticmaalaya tilmaamo cadeynaya deegaan kasta (sheekadeena, kooxda Bob waxay qeexayaan nidaamka habaynta Git oo dhan).
    • Kaydka Git waa isha keliya ee runta ee ku saabsan xaaladda la doonayo ee nidaamka oo dhan.
    • Dhammaan isbeddellada gobolka la rabo waxaa lagu sameeyaa ballanqaad gudaha Git.
    • Dhammaan halbeegyada kooxeedka la rabo ayaa sidoo kale lagu arki karaa kooxda lafteeda. Sidan ayaan ku ogaan karnaa inay isku beegan yihiin iyo in kale. isu imaatin) ama kala duwan (kala duwan, kala duwanaansho) gobolo la rabo lana arkay.
  2. Haddii gobolada la rabo iyo kuwa la arkay ay kala duwan yihiin, markaa:
    • Waxa jira hannaan isu-gudbineed kaas oo goor dhow ama hadhow si toos ah isu waafajinaya bartilmaameedka iyo dawladaha la arkay. Kooxda dhexdeeda, Kubernetes ayaa tan sameeya.
    • Nidaamku wuxuu isla markiiba ku bilaabmaa feejignaan "isbeddel go'an".
    • Muddo la habeyn karo ka dib, digniin "diff" ayaa la diri karaa haddii gobolladu ka duwan yihiin.
  3. Sidan, dhammaan waxa ku gedaaman Git waxay sababaan cusboonaysiinta la xaqiijin karo iyo kuwa awood leh ee kutlada.
    • Dib-u-soo-celinta waa isku-darka xaalad hore loo rabay.
  4. Isku dhafka waa kama dambays. Dhacdadeeda waxaa tilmaamaya:
    • Ma jiro digniino kala duwan oo muddo cayiman ah.
    • Digniin "isku-dhafan" (tusaale webhook, dhacdo dib-u-qoris Git ah).

Waa maxay kala duwanaanshuhu?

Aan ku celino mar kale: Dhammaan guryaha la rabo waa in lagu arki karaa kooxda lafteeda.

Tusaalooyinka qaar ee kala duwanaanshaha:

  • Beddel faylka qaabeynta sababtoo ah isku darka laamaha Git.
  • Isbeddelka faylka qaabeynta sababtoo ah ballan Git uu sameeyay macmiilka GUI.
  • Isbeddelo badan oo ku yimaadda gobolka la doonayo sababtoo ah PR ee Git oo ay ku xigto dhisidda sawirka weelka iyo isbeddelka habaynta.
  • Isbeddelka xaaladda kooxda oo ay ugu wacan tahay qalad, isku dhaca kheyraadka oo keenaya "dabeecad xun", ama si aan toos ahayn uga leexan xaaladdii asalka ahayd.

Waa maxay habka isu-gudbinta?

Tusaalooyinka qaarkood:

  • Koonteenarada iyo rucubyada, habka isku dhafka ah waxaa bixiya Kubernetes.
  • Habka isku midka ah ayaa loo isticmaali karaa si loo maareeyo codsiyada iyo naqshadaha Kubernetes ku salaysan (sida Istio iyo Kubeflow).
  • Habka lagu maareeyo isdhexgalka hawlgalka ee u dhexeeya Kubernetes, goobaha sawirada iyo Git ayaa bixiya Hawlwadeenka GitOps Weave Flux, oo ah qayb Weave Cloud.
  • Mashiinnada saldhigga ah, habka isku dhafka ah waa inuu noqdaa mid caddaynaya oo madaxbannaan. Waayo-aragnimadeena ayaanu taas odhan karnaa Terraform ugu dhow qeexitaankan, laakiin weli waxay u baahan tahay xakamaynta aadanaha. Dareenkan, GitOps waxay u fidisaa dhaqanka Kaabayaasha sida Xeer.

GitOps wuxuu ku daraa Git iyo mashiinka isku xirka wanaagsan ee Kubernetes si uu u bixiyo qaab ka faa'iidaysi.

GitOps ayaa noo ogolaatay inaan nidhaahno: Nidaamyada la tilmaami karo oo la arki karo oo kaliya ayaa si toos ah loo xakameyn karaa.

GitOps waxaa loogu talagalay dhammaan kaydinta asalka ah ee daruuraha (tusaale, Terraform, iwm.)

GitOps kaliya maaha Kubernetes. Waxaan rabnaa in nidaamka oo dhan loo wado si cad oo loo isticmaalo isku-dhafka. Nidaamka oo dhan waxaan ula jeednaa ururinta deegaanka ee la shaqeeya Kubernetes - tusaale ahaan, "dev cluster 1", "production", iwm. Deegaan kasta waxaa ka mid ah mishiinada, rucubyada, codsiyada, iyo sidoo kale isdhexgalka adeegyada dibadda ee bixiya xogta, la socodka. iyo iwm.

U fiirso sida Terraform-ku muhiim ugu yahay dhibaatada bootstrapping kiiskan. Kubernetes waa in la geeyaa meel, iyadoo la adeegsanayo Terraform waxay ka dhigan tahay inaan codsan karno isla socodka shaqada ee GitOps si aan u abuurno lakabka xakamaynta ee taageera Kubernetes iyo codsiyada. Tani waa dhaqanka ugu wanaagsan ee faa'iido leh.

Waxaa jira diirad xoog leh oo lagu dabaqayo fikradaha GitOps ee lakabyada sare ee Kubernetes. Waqtigan xaadirka ah, waxaa jira xalalka nooca GitOps ee Istio, Helm, Ksonnet, OpenFaaS iyo Kubeflow, iyo sidoo kale, tusaale ahaan, Pulumi, kaas oo abuuraya lakabka horumarinta codsiyada loogu talagalay dhaladka daruuriga ah.

Kubernetes CI/CD: isbarbardhigga GitOps iyo habab kale

Sida la sheegay, GitOps waa laba shay:

  1. Qaabka hawlgalka ee Kubernetes iyo Cloud u dhashay ee kor lagu sharaxay.
  2. Jidka loo maro deegaan maamulka codsiga horumariya-udub dhexaad u ah.

Kuwo badan, GitOps ayaa ugu horrayn u ah socodka shaqada ee ku salaysan riixitaanka Git. Isagana waan jecelnahay. Laakiin taasi dhammaanteed maaha: aan hadda eegno dhuumaha CI/CD.

GitOps waxay awood u siisaa sii daynta joogtada ah (CD) ee Kubernetes

GitOps waxay bixisaa hab diritaan joogto ah oo meesha ka saaraysa baahida "nidaamyada maaraynta hawlgelinta." Kubernetes ayaa kuu qabanaysa shaqada oo dhan.

  • Cusbooneysiinta arjiga waxay u baahan tahay in lagu cusboonaysiiyo gudaha Git. Tani waa cusboonaysiinta wax kala iibsiga ee gobolka la rabo. "Diiwaangelinta" ayaa markaa lagu sameeyaa kooxda Kubernetes lafteeda iyada oo ku saleysan sharraxaadda la cusboonaysiiyay.
  • Sababo la xiriira dabeecadda sida Kubernetes u shaqeyso, cusbooneysiintaani waa mid isku xiran. Tani waxay ku siinaysaa hab si joogta ah loo geeyo taas oo dhammaan cusbooneysiinta ay yihiin atomic.
  • Fiiro gaar ah: Weave Cloud wuxuu bixiyaa hawl wadeen GitOps ah oo isku xidha Git iyo Kubernetes oo u ogolaanaya CD-ga in la sameeyo iyada oo la isu waafajinayo xaaladda la doonayo iyo hadda ee kooxda.

Kubectl iyo qoraal la'aan

Waa inaad ka fogaataa isticmaalka Kubectl si aad u cusboonaysiiso kutladaada, gaar ahaanna iska ilaali isticmaalka qoraallada koox amarada kubectl. Taa baddalkeeda, iyada oo la adeegsanayo dhuumaha GitOps, isticmaaluhu wuxuu cusboonaysiin karaa kooxdooda Kubernetes isagoo sii maraya Git.

Faa'iidooyinka waxaa ka mid ah:

  1. Sax. Koox ka mid ah cusbooneysiinta waa la dabaqi karaa, la isku dari karaa oo ugu dambeyntii la ansaxiyay, taas oo noo soo dhawaynaysa hadafka geynta atomiga. Taas beddelkeeda, adeegsiga qoraallada ma bixinayso wax dammaanad ah isu-ururinta (wax badan oo tan hoose ah).
  2. Amniga. Xigasho Kelsey Hightower: "Ka xaddid gelitaanka kutladaada Kubernetes qalabyada otomaatiga ah iyo maamulayaasha mas'uulka ka ah ciribtirka ama ilaalinta." sidoo kale arag daabacaaddayda ku saabsan badbaadada iyo u hoggaansanaanta tilmaamaha farsamada, iyo sidoo kale maqaal ku saabsan jabsiga Homebrew adoo xaday warqadaha aqoonsiga qoraalka Jenkins oo si taxadar la'aan ah u qoran.
  3. Khibrada Isticmaalaha. Kubectl wuxuu daaha ka qaadayaa makaanikada qaabka shayga Kubernetes, kuwaas oo aad u adag. Fikrad ahaan, isticmaalayaashu waa inay la falgalaan nidaamka heer sare oo la taaban karo. Halkan waxaan mar kale tixraaci doonaa Kelsey waxaanan ku talin doonaa daawashada resume sida.

Farqiga u dhexeeya CI iyo CD

GitOps waxay hagaajisaa moodooyinka CI/CD ee jira.

Adeegga casriga ah ee CI waa aalad orchestereedka. Gaar ahaan, waa qalab lagu abaabulo dhuumaha CI. Kuwaas waxaa ka mid ah dhisidda, tijaabinta, isku darka jirridda, iwm. Adeegayaasha CI waxay si toos ah u maamulaan dhuumaha isku dhafan ee tallaabooyin badan. Jirrabaadda caadiga ah ayaa ah in la qoro qaybo cusub oo Kubernetes ah oo lagu socodsiiyo qayb ka mid ah dhuumaha si loo riixo isbeddelada kooxda. Runtii, tani waa waxa ay khabiiro badani sameeyaan. Si kastaba ha noqotee, tani maaha mid wanaagsan, waana tan sababta.

CI waa in loo adeegsadaa in lagu riixo cusboonaysiinta jirridda, kooxda Kubernetes waa in ay isbedeshaa iyada oo ku saleysan cusboonaysiintaas si ay u maamusho CD-ga gudaha. Waxaan ugu yeernaa model u jiid CD, oo ka duwan qaabka riixitaanka CI. CD waa qayb orchesterka runtime.

Waa maxay sababta CI Server-yada aysan ugu sameyn karin CD-yada iyadoo loo marayo Cusbooneysiin Toos ah gudaha Kubernetes

Ha u isticmaalin server-ka CI si aad u habayn karto cusboonaysiinta tooska ah ee Kubernetes oo ah qaybo shaqo oo CI ah. Kani waa qaabka aan ka hadlayno hore loo sheegay on your blog.

Aan ku noqonno Alice iyo Bob.

Dhibaato noocee ah ayay la kulmeen? Seerfarka CI ee Bob waxa uu ku dabaqaa isbeddelada kutlada, laakiin haddii ay ku burburto hawsha, Bob ma garan doono waxa ay kooxdu ku jirto (ama ay tahay) ama sida loo hagaajiyo. Si la mid ah waa run haddii ay dhacdo guul.

Aynu ka soo qaadno in kooxda Bob ay dhisteen sawir cusub ka dibna ay dhejiyeen hawlgelintooda si ay u geeyaan sawirka (dhammaantood waxay ka yimaadeen dhuumaha CI).

Haddii sawirku si caadi ah u dhismo, laakiin dhuumuhu ay fashilmaan, kooxdu waa inay ogaadaan:

  • Cusboonaysiinta ma soo baxday?
  • Ma bilaabaynaa dhismo cusub? Tani ma u horseedi doontaa saameyn aan loo baahnayn - iyada oo ay suurtogal tahay in la yeesho laba dhismo oo isku mid ah muuqaal aan isbeddelayn?
  • Miyaynu sugno cusboonaysiinta soo socota ka hor inta aan la socodsiin dhismaha?
  • Maxaa dhab ahaan khaldamay? Tallaabooyinka loo baahan yahay in lagu celiyo (iyo kuwa badbaado leh in lagu celiyo)?

Samaynta socodka shaqada ee ku salaysan Git ma dammaanad qaadayso in kooxda Bob aysan la kulmi doonin dhibaatooyinkan. Weli way ku qaldami karaan riixista go'aanka, summada, ama qiyaas kale; si kastaba ha ahaatee, habkani wuxuu weli aad ugu dhow yahay hab cad-ama-waxba.

Si loo soo koobo, waa kan sababta CI server-yada aysan ula macaamilin CD:

  • Cusbooneysii qoraallada had iyo jeer maaha kuwo go'aamin kara; Way fududahay in khaladaad lagu sameeyo iyaga.
  • Adeegayaasha CI kuma biiraan qaabka kooxda ku dhawaaqista.
  • Way adag tahay in la dammaanad qaado awoodda. Isticmaalayaashu waa inay fahmaan macnaha qoto dheer ee nidaamka.
  • Way adagtahay in laga soo kabsado guuldarada qayb ahaan.

Xusuusin ku saabsan Helm: Haddii aad rabto inaad isticmaasho Helm, waxaan kugula talineynaa inaad ku darto hawlwadeenka GitOps sida Flux-Helm. Tani waxay gacan ka geysan doontaa hubinta isku dhafka. Helm lafteedu maaha mid wax go'aamiya ama atomiga ah.

GitOps oo ah habka ugu wanaagsan ee lagu hirgaliyo Bixinta Joogtada ah ee Kubernetes

Kooxda Alice iyo Bob waxay hirgeliyaan GitOps waxayna ogaadeen in ay aad u fududayd in lagula shaqeeyo alaabada software, ilaalinta waxqabadka sare iyo xasiloonida. Aan ku soo afmeerno maqaalkan sawir muujinaya habka cusub ee ay u socdaan. Maskaxda ku hay in aan inta badan ka hadalno codsiyada iyo adeegyada, laakiin GitOps waxaa loo isticmaali karaa in lagu maareeyo madal dhan.

Qaabka hawlgalka ee Kubernetes

Fiiri jaantuska soo socda. Waxay soo bandhigaysaa Git iyo kaydka sawirka weelka sidii agab la wadaago oo loogu talagalay laba wareegyo nololeed oo habaysan:

  • Dhuumaha is dhexgalka joogtada ah ee akhriya oo u qora faylasha Git oo cusboonaysiin kara kaydka sawirada weelka.
  • Dhuumaha Runtime GitOps oo isku darka hawlgelinta iyo maaraynta iyo la socodka. Waxay akhridaa oo u qortaa faylasha Git waxayna soo dejisan kartaa sawirada weelka.

Maxay yihiin natiijooyinka ugu muhiimsan?

  1. Kala saarida tabashooyinkaFadlan ogow in labada dhuumoodba ay ku wada xidhiidhi karaan oo keliya in la cusboonaysiiyo Git ama sawirka sawirka. Si kale haddii loo dhigo, waxaa jira dab-damis u dhexeeya CI iyo jawiga runtime. Waxaan ugu yeernaa "Frewall-ka aan beddeli karin" (Frewall aan beddeli karin), maadaama dhammaan cusbooneysiinta kaydka ay abuuraan noocyo cusub. Macluumaad dheeraad ah oo ku saabsan mawduucan, eeg boggaga 72-87 bandhigan.
  2. Waxaad isticmaali kartaa CI kasta iyo server Git: GitOps waxay la shaqeysaa qayb kasta. Waxaad sii wadi kartaa isticmaalka CI-ga aad jeceshahay iyo server-yada Git, goobaha sawirada, iyo qolalka tijaabada. Ku dhawaad ​​dhammaan aaladaha kale ee gaarsiinta joogtada ah ee suuqa waxay u baahan yihiin CI/Git server-kooda ama kaydka sawirka. Tani waxay noqon kartaa arrin xaddidaysa horumarinta dhalasho daruureed. Iyadoo GitOps, waxaad isticmaali kartaa qalab la yaqaan.
  3. Dhacdooyinka sida qalab isdhexgalkaIsla marka xogta Git la cusboonaysiiyo, Weave Flux (ama hawlwadeenka Weave Cloud) ayaa ogeysiiya runtime. Mar kasta oo Kubernetes uu aqbalo hab-beddelka, Git waa la cusboonaysiiyaa. Tani waxay bixisa qaab fudud oo isdhexgalka oo loogu talagalay abaabulka socodka shaqada ee GitOps, sida hoos ku cad.

gunaanad

GitOps waxay bixisaa dammaanadaha cusboonaysiinta xooggan ee looga baahan yahay aalad kasta oo CI/CD casriga ah:

  • qalabaynta;
  • isku-dhafka;
  • awoodda;
  • go'aaminta.

Tani waa muhiim sababtoo ah waxay soo bandhigtaa qaab hawleed loogu talagalay horumarinta dhaladka daruuriga ah.

  • Aaladaha dhaqameed ee maaraynta iyo dabagalka nidaamyada waxay la xidhiidhaan kooxaha hawlgallada ee ku dhex shaqeeya buug run ah (oo ah habraacyo iyo hawlgallo joogto ah - qiyaastii. tarjumaad), ku xidhan geyn gaar ah.
  • Maaraynta asalka ah ee daruuriga ah, agabka la fiirsashada ayaa ah habka ugu wanaagsan ee lagu cabbiro natiijooyinka geynta si kooxda horumarku ay dhaqso uga jawaabto.

Bal qiyaas kooxo badan oo ku kala firirsan daruuro kala duwan iyo adeegyo badan oo wata kooxahooda iyo qorshayaasha hawlgelinta. GitOps waxa ay soo bandhigtaa qaab miisaan aan kala go' lahayn oo lagu maareeyo dhammaan waxyaabahan faraha badan.

PS ka turjumaan

Sidoo kale ka akhri boggayaga:

Isticmaalayaasha diiwaangashan oo keliya ayaa ka qaybqaadan kara sahanka. Soo gal, soo dhawoow.

Ma ogtahay wax ku saabsan GitOps ka hor intaysan labadan tarjumaad ka soo bixin Habré?

  • Haa, wax walba waan ogaa

  • Kaliya dusha sare

  • No

35 isticmaale ayaa u codeeyay. 10 isticmaale ayaa ka aamusay.

Source: www.habr.com

Add a comment