GitOps: buzzword miiran tabi aṣeyọri ni adaṣe?

GitOps: buzzword miiran tabi aṣeyọri ni adaṣe?

Pupọ wa, ti n ṣakiyesi ọrọ tuntun miiran ninu bulọọgi bulọọgi IT tabi apejọ, laipẹ tabi ya beere ibeere ti o jọra: “Kini eyi? O kan buzzword miiran, “ọrọ buzz” tabi nkan ti o yẹ fun akiyesi isunmọ, ikẹkọ ati ileri awọn iwo tuntun?” Ohun kanna ni o ṣẹlẹ si mi pẹlu ọrọ naa GitOps diẹ ninu awọn akoko seyin. Ologun pẹlu ọpọlọpọ awọn nkan ti o wa tẹlẹ, bakanna bi imọ ti awọn ẹlẹgbẹ lati ile-iṣẹ naa GitLab, Mo gbiyanju lati ro ero iru ẹranko ti eyi jẹ, ati kini lilo rẹ le dabi ni iṣe.

Nipa ọna, nipa aratuntun ti ọrọ naa GitOps Iwadi laipe wa tun sọ pe: diẹ sii ju idaji awọn ti a ṣe iwadi ko ti bẹrẹ ṣiṣẹ pẹlu awọn ilana rẹ.

Nitorinaa, iṣoro ti iṣakoso amayederun kii ṣe tuntun. Ọpọlọpọ awọn olupese awọsanma ti wa fun gbogbo eniyan fun ọdun mejila ti o dara ati pe, yoo dabi pe o yẹ ki o jẹ ki iṣẹ ti awọn ẹgbẹ jẹ lodidi fun awọn amayederun rọrun ati titọ. Bibẹẹkọ, nigba akawe si ilana idagbasoke ohun elo (nibiti adaṣe ti n de awọn ipele tuntun lailai), awọn iṣẹ ṣiṣe amayederun tun nigbagbogbo kan ọpọlọpọ awọn iṣẹ ṣiṣe afọwọṣe ati nilo imọ amọja ati oye, ni pataki ti a fun awọn ibeere oni fun ifarada ẹbi, irọrun, iwọn ati rirọ.

Awọn iṣẹ awọsanma ṣe awọn ibeere wọnyi ni aṣeyọri pupọ ati pe wọn ni o funni ni ipa pataki si idagbasoke ọna naa IaC. Eyi jẹ oye. Lẹhin gbogbo ẹ, wọn jẹ ki o ṣee ṣe lati tunto ile-iṣẹ data foju foju kan: ko si awọn olupin ti ara, awọn agbeko, tabi awọn paati nẹtiwọọki; gbogbo awọn amayederun le ṣe apejuwe nipa lilo awọn iwe afọwọkọ ati awọn faili iṣeto.

Nitorina kini iyatọ gangan? GitOps lati IaC? Pẹlu ibeere yii ni mo bẹrẹ iwadii mi. Lẹhin sisọ pẹlu awọn ẹlẹgbẹ mi, Mo ni anfani lati wa pẹlu afiwe atẹle yii:

GitOps

IaC

Gbogbo koodu ti wa ni ipamọ ni ibi ipamọ git kan

Ti ikede koodu jẹ iyan

Code Declarative Apejuwe / Idempotency

Mejeeji asọye ati awọn apejuwe pataki jẹ itẹwọgba

Awọn ayipada waye nipa lilo awọn ilana Ibeere Iṣepọ / Fa

Adehun, ifọwọsi ati ifowosowopo jẹ iyan

Ilana imudojuiwọn imudojuiwọn jẹ adaṣe

Ilana imudojuiwọn ko ni idiwọn (laifọwọyi, afọwọṣe, didakọ awọn faili, lilo laini aṣẹ, ati bẹbẹ lọ)

Ni gbolohun miran GitOps a bi gbọgán nipasẹ awọn ohun elo ti awọn ilana IaC. Ni akọkọ, awọn amayederun ati awọn atunto le wa ni ipamọ ni ọna kanna bi awọn ohun elo. Koodu naa rọrun lati fipamọ, rọrun lati pin, ṣe afiwe, ati lo awọn agbara ti ikede. Awọn ẹya, awọn ẹka, itan. Ati gbogbo eyi ni aaye ti o wa ni gbangba si gbogbo ẹgbẹ. Nitorinaa, lilo awọn ọna ṣiṣe iṣakoso ẹya di idagbasoke adayeba patapata. Ni pato, git, bi olokiki julọ.

Ni apa keji, o ṣee ṣe lati ṣe adaṣe awọn ilana iṣakoso amayederun. Bayi eyi le ṣee ṣe ni iyara, diẹ sii ni igbẹkẹle ati din owo. Pẹlupẹlu, awọn ipilẹ ti CI / CD ti mọ tẹlẹ ati olokiki laarin awọn olupilẹṣẹ sọfitiwia. O jẹ pataki nikan lati gbe ati lo imọ ati awọn ọgbọn ti a ti mọ tẹlẹ si agbegbe tuntun kan. Awọn iṣe wọnyi, sibẹsibẹ, lọ kọja asọye boṣewa ti Awọn amayederun bi koodu, nitorinaa imọran GitOps.

GitOps: buzzword miiran tabi aṣeyọri ni adaṣe?

Iwariiri GitOps, dajudaju, tun ni otitọ pe kii ṣe ọja, itanna tabi Syeed ti o ni nkan ṣe pẹlu eyikeyi ataja. O jẹ diẹ sii ti apẹrẹ ati ṣeto awọn ipilẹ, iru si ọrọ miiran ti a faramọ pẹlu: DevOps.

Ni ile-iṣẹ GitLab a ti ni idagbasoke meji itumo ti yi titun oro: o tumq si ati ki o wulo. Jẹ ká bẹrẹ pẹlu awọn tumq si:

GitOps jẹ ilana ti o gba awọn ipilẹ DevOps ti o dara julọ ti a lo fun idagbasoke ohun elo, gẹgẹbi iṣakoso ẹya, ifowosowopo, orchestration, CI/CD, ati pe o kan wọn si awọn italaya ti adaṣe adaṣe adaṣe.

Gbogbo awọn ilana GitOps Mo ṣiṣẹ nipa lilo awọn irinṣẹ to wa tẹlẹ. Gbogbo koodu amayederun ti wa ni ipamọ ni ibi ipamọ git ti o mọ tẹlẹ, awọn ayipada lọ nipasẹ ilana ifọwọsi kanna bi eyikeyi koodu eto miiran, ati pe ilana yiyi jẹ adaṣe, eyiti o fun wa laaye lati dinku awọn aṣiṣe eniyan, mu igbẹkẹle pọ si ati ẹda.

Lati oju-ọna ti o wulo, a ṣe apejuwe GitOps ni ọna atẹle:

GitOps: buzzword miiran tabi aṣeyọri ni adaṣe?

A ti jiroro awọn amayederun tẹlẹ bi koodu bi ọkan ninu awọn paati bọtini ti agbekalẹ yii. Jẹ ki a ṣafihan awọn olukopa iyokù.

Ìbéèrè àkópọ̀ (orúkọ àfikún Ìbéèrè Fa). Ni awọn ofin ilana, MR jẹ ibeere lati lo awọn iyipada koodu ati lẹhinna dapọ awọn ẹka. Ṣugbọn ni awọn ofin ti awọn irinṣẹ ti a lo, eyi jẹ aye diẹ sii lati gba aworan pipe ti gbogbo awọn iyipada ti a ṣe: kii ṣe iyatọ koodu nikan ti a gba lati nọmba kan ti awọn iṣẹ, ṣugbọn tun agbegbe, awọn abajade idanwo, ati ik o ti ṣe yẹ esi. Ti a ba n sọrọ nipa koodu amayederun, lẹhinna a nifẹ si bawo ni deede awọn amayederun yoo yipada, melo ni awọn orisun tuntun yoo ṣafikun tabi yọkuro, yipada. Pelu ni diẹ rọrun ati rọrun lati ka kika. Fun awọn olupese awọsanma, o jẹ imọran ti o dara lati mọ kini ipa owo ti iyipada yii yoo jẹ.

Ṣugbọn MR tun jẹ ọna ti ifowosowopo, ibaraenisepo, ati ibaraẹnisọrọ. Ibi ti eto awọn sọwedowo ati awọn iwọntunwọnsi wa sinu ere. Lati awọn asọye ti o rọrun si awọn itẹwọgba deede ati awọn ifọwọsi.

O dara, paati ti o kẹhin: CI/CD, bi a ti mọ tẹlẹ, jẹ ki o ṣee ṣe lati ṣe adaṣe ilana ti ṣiṣe awọn ayipada amayederun ati idanwo (lati iṣayẹwo sintasi ti o rọrun si itupalẹ koodu aimi diẹ sii). Ati paapaa ni wiwa atẹle ti fiseete: awọn iyatọ laarin gidi ati ipo ti o fẹ ti eto naa. Fun apẹẹrẹ, bi abajade awọn iyipada afọwọṣe laigba aṣẹ tabi ikuna eto.

Bẹẹni, ọrọ naa GitOps ko ni agbekale wa si nkankan patapata titun, ko reinvent awọn kẹkẹ, sugbon nìkan waye awọn tẹlẹ akojo iriri ni titun kan agbegbe. Ṣugbọn eyi ni ibi ti agbara rẹ wa.

Ati pe ti o ba nifẹ lojiji ni bii eyi ṣe wo ni iṣe, lẹhinna Mo pe ọ lati wo wa Titunto si Class, ninu eyiti Mo sọ fun ọ ni igbese nipa igbese bi o ṣe le lo GitLab:

  • Ṣe imuse awọn ipilẹ ipilẹ ti GitOps

  • Ṣẹda ati ṣe awọn ayipada si awọn amayederun awọsanma (lilo apẹẹrẹ ti Yandex Cloud)

  • Wiwa adaṣe adaṣe eto lati ipo ti o fẹ nipa lilo ibojuwo lọwọ

GitOps: buzzword miiran tabi aṣeyọri ni adaṣe?https://bit.ly/34tRpwZ

orisun: www.habr.com

Fi ọrọìwòye kun