Dè a th’ ann an GitOps?

Thoir an aire. eadar-theangachadh.: An dèidh foillseachadh o chionn ghoirid den stuth mu dhòighean tarraing is putadh ann an GitOps, chunnaic sinn ùidh anns a’ mhodail seo san fharsaingeachd, ach cha robh mòran fhoillseachaidhean ann an cànan na Ruis air a’ chuspair seo (chan eil ann ach gin air Habré). Mar sin, tha sinn toilichte eadar-theangachadh de artaigil eile a thabhann nad aire - ged a bha e faisg air bliadhna air ais! - bho Weaveworks, agus choisinn an ceann an teirm “GitOps.” Tha an teacsa a’ mìneachadh brìgh an dòigh-obrach agus prìomh eadar-dhealachaidhean bhon fheadhainn a th’ ann mar-thà.

O chionn bliadhna dh'fhoillsich sinn ro-ràdh do GitOps. Air ais an uairsin, cho-roinn sinn mar a chuir sgioba Weaveworks SaaS air bhog gu tur stèidhichte air Kubernetes agus leasaich iad seata de chleachdaidhean as fheàrr airson cleachdadh, riaghladh agus sgrùdadh ann an àrainneachd dhùthchasach sgòthan.

Thionndaidh an artaigil gu bhith mòr-chòrdte. Thòisich daoine eile a’ bruidhinn mu dheidhinn GitOps agus thòisich iad a’ foillseachadh innealan ùra airson putadh git, leasachadh, dìomhaireachdan, gnìomhan, amalachadh leantainneach Agus mar sin air adhart. Nochdadh air an làrach-lìn againn àireamh mhòr foillseachaidhean agus cùisean cleachdaidh GitOps. Ach tha ceistean fhathast aig cuid de dhaoine. Ciamar a tha am modail eadar-dhealaichte bhon fhear thraidiseanta? bun-structar mar chòd agus lìbhrigeadh leantainneach (lìbhrigeadh leantainneach)? A bheil e riatanach Kubernetes a chleachdadh?

Cha b’ fhada gus an do thuig sinn gu robh feum air tuairisgeul ùr, a’ tabhann:

  1. Tòrr eisimpleirean agus sgeulachdan;
  2. Mìneachadh sònraichte air GitOps;
  3. Coimeas ri lìbhrigeadh leantainneach traidiseanta.

San artaigil seo tha sinn air feuchainn ris na cuspairean sin uile a chòmhdach. Tha e a’ toirt seachad ro-ràdh ùraichte do GitOps agus sealladh leasaiche is CI/CD. Bidh sinn gu sònraichte ag amas air Kubernetes, ged a dh’ fhaodar am modail a choitcheannachadh.

Coinnich ri GitOps

Smaoinich Alice. Bidh i a’ ruith Àrachas Teaghlaich, a tha a’ tabhann àrachas slàinte, càr, dachaigh is siubhail do dhaoine a tha ro thrang airson faighinn a-mach dè na cùmhnantan a th’ annta fhèin. Thòisich a gnìomhachas mar phròiseact taobh nuair a bha Alice ag obair aig banca mar neach-saidheans dàta. Aon latha thuig i gum b’ urrainn dhi algorithms coimpiutair adhartach a chleachdadh gus mion-sgrùdadh nas èifeachdaiche a dhèanamh air dàta agus gus pasganan àrachais a chruthachadh. Mhaoinich luchd-tasgaidh am pròiseact, agus a-nis tha a companaidh a’ toirt a-steach còrr air $ 20 millean sa bhliadhna agus a’ fàs gu luath. An-dràsta, tha e a’ fastadh 180 neach ann an diofar dhreuchdan. Tha seo a’ toirt a-steach sgioba teicneòlais a bhios a’ leasachadh, a’ cumail suas an làrach-lìn, an stòr-dàta, agus a’ mion-sgrùdadh bunait luchd-ceannach. Tha an sgioba de 60 neach air a stiùireadh le Bob, stiùiriche teignigeach na companaidh.

Bidh sgioba Bob a’ cleachdadh siostaman toraidh san sgòth. Bidh na prìomh thagraidhean aca a’ ruith air GKE, a’ gabhail brath air Kubernetes air Google Cloud. A bharrachd air an sin, bidh iad a’ cleachdadh diofar innealan dàta agus anailis nan cuid obrach.

Cha robh Àrachas Teaghlaich ag amas air soithichean a chleachdadh, ach chaidh a ghlacadh ann an dealas an Docker. Cha b’ fhada gus an d’ fhuair a’ chompanaidh a-mach gun robh GKE ga dhèanamh furasta cruinneachaidhean a chleachdadh gus feartan ùra fheuchainn. Chaidh Jenkins airson CI agus Quay a chuir ris gus clàr nan soithichean a chuir air dòigh, chaidh sgriobtaichean a sgrìobhadh airson Jenkins a phut soithichean agus rèiteachaidhean ùra gu GKE.

Tha beagan ùine air a dhol seachad. Bha Alice agus Bob diombach le coileanadh an dòigh-obrach a thagh iad agus a bhuaidh air a’ ghnìomhachas. Cha do leasaich toirt a-steach soithichean cinneasachd cho mòr ‘s a bha an sgioba an dòchas. Aig amannan bhiodh cleachdadh a’ briseadh, agus cha robh e soilleir an e atharrachaidhean còd a bu choireach. Bha e duilich cuideachd sùil a chumail air atharrachaidhean config. Gu math tric bha e riatanach cruinneachadh ùr a chruthachadh agus tagraidhean a ghluasad thuige, oir b 'e seo an dòigh as fhasa air cur às don t-siostam a bha air a bhith ann. Bha eagal air Alice gum fàsadh an suidheachadh na bu mhiosa mar a chaidh an tagradh a leasachadh (a bharrachd air an sin, bha pròiseact ùr stèidhichte air ionnsachadh innealan a’ grùdadh). Bha Bob air a’ mhòr-chuid den obair a dhèanamh fèin-ghluasadach agus cha do thuig e carson a bha an loidhne-phìoban fhathast neo-sheasmhach, nach robh i a’ sgèile gu math, agus feumach air eadar-theachd làimhe bho àm gu àm?

An uairsin dh'ionnsaich iad mu GitOps. Thàinig an co-dhùnadh seo gu bhith dìreach mar a dh’ fheumadh iad gluasad air adhart le misneachd.

Tha Alice agus Bob air a bhith a’ cluinntinn mu Git, DevOps, agus bun-structar mar shruth-obrach còd airson bhliadhnaichean. Is e an rud a tha gun samhail mu GitOps gu bheil e a’ toirt a-steach seata de chleachdaidhean as fheàrr - an dà chuid deimhinnte agus àbhaisteach - airson na beachdan sin a chuir an gnìomh ann an co-theacsa Kubernetes. An cuspair seo dh'èirich a-rithist, a’ gabhail a-steach Blog Weaveworks.

Bidh Àrachas Teaghlaich a’ co-dhùnadh GitOps a bhuileachadh. Tha modal obrachaidh fèin-ghluasadach aig a’ chompanaidh a-nis a tha co-chosmhail ri Kubernetes agus a’ tighinn còmhla luaths le seasmhachdoir tha iad:

  • lorg gu robh cinneasachd na sgioba a’ dùblachadh gun duine sam bith a’ dol craicte;
  • sguir a bhith a’ frithealadh sgriobtaichean. An àite sin, faodaidh iad a-nis fòcas a chuir air feartan ùra agus dòighean innleadaireachd a leasachadh - mar eisimpleir, toirt a-steach sgaoileadh canary agus leasachadh deuchainn;
  • tha sinn air am pròiseas cleachdadh a leasachadh gus nach ann ainneamh a bhriseas e sìos;
  • fhuair mi an cothrom cleachdadh a thoirt air ais às deidh fàilligeadh pàirteach gun eadar-theachd làimhe;
  • air a cheannach air a chleachdadhоBarrachd misneachd ann an siostaman lìbhrigidh. Fhuair Alice agus Bob a-mach gum faodadh iad an sgioba a roinn ann an sgiobaidhean microservice ag obair aig an aon àm;
  • is urrainn dhaibh 30-50 atharrachadh a dhèanamh air a’ phròiseact a h-uile latha tro oidhirpean gach buidheann agus dòighean ùra fheuchainn;
  • tha e furasta luchd-leasachaidh ùr a thàladh chun phròiseact, aig a bheil an cothrom ùrachaidhean a sgaoileadh gu cinneasachadh a’ cleachdadh iarrtasan tarraing taobh a-staigh beagan uairean a thìde;
  • cuir seachad sgrùdadh gu furasta taobh a-staigh frèam SOC2 (airson gèilleadh solaraichean seirbheis ri riatanasan airson riaghladh dàta tèarainte; leugh barrachd, mar eisimpleir, an seo - mu thuairmeas. eadar-theangachadh.).

Dè a thachair?

Tha dà rud ann an GitOps:

  1. Modail obrachaidh airson Kubernetes agus sgòthan dùthchasach. Tha e a’ toirt seachad seata de chleachdaidhean as fheàrr airson a bhith a’ cleachdadh, a’ riaghladh, agus a’ cumail sùil air cruinneachaidhean agus tagraidhean container. Mìneachadh eireachdail ann an cruth aon sliasaid от Luis Faceeira:
  2. An t-slighe gu bhith a’ cruthachadh àrainneachd riaghlaidh tagraidh stèidhichte air leasaiche. Bidh sinn a’ cleachdadh sruth-obrach Git an dà chuid ann an gnìomhachd agus leasachadh. Thoir an aire nach eil seo dìreach mu dheidhinn Git push, ach mu bhith ag eagrachadh an t-seata iomlan de dh’ innealan CI/CD agus UI/UX.

Beagan fhaclan mu dheidhinn Git

Mura h-eil thu eòlach air siostaman smachd dreach agus sruth-obrach stèidhichte air Git, tha sinn gu mòr a’ moladh ionnsachadh mun deidhinn. Is dòcha gu bheil a bhith ag obair le geugan agus iarrtasan tarraing coltach ri draoidheachd dhubh an toiseach, ach is fhiach na buannachdan an oidhirp. Seo artaigil math a thòiseachadh.

Mar a tha Kubernetes ag obair

Anns an sgeulachd againn, thionndaidh Alice agus Bob gu GitOps às deidh dhaibh a bhith ag obair còmhla ri Kubernetes airson greis. Gu dearbh, tha dlùth cheangal aig GitOps ri Kubernetes - tha e na mhodail obrachaidh airson bun-structar agus tagraidhean stèidhichte air Kubernetes.

Dè a bheir Kubernetes do luchd-cleachdaidh?

Seo cuid de na prìomh fheartan:

  1. Ann am modail Kubernetes, faodar a h-uile dad a mhìneachadh ann an cruth dearbhach.
  2. Bidh frithealaiche Kubernetes API a’ gabhail an dearbhadh seo mar chur-a-steach agus an uairsin a’ feuchainn an-còmhnaidh ris a’ bhuidheann a thoirt a-steach don stàit a tha air a mhìneachadh san dearbhadh.
  3. Tha dearbhaidhean gu leòr airson cunntas a thoirt agus riaghladh air raon farsaing de dh’ eallach obrach — “tagraidhean.”
  4. Mar thoradh air an sin, tha atharrachaidhean ann an tagradh agus cruinneachadh a’ tachairt air sgàth:
    • atharrachaidhean ann an ìomhaighean container;
    • atharrachaidhean anns an t-sònrachadh dearbhaidh;
    • mearachdan san àrainneachd - mar eisimpleir, tubaistean container.

Comasan Co-chruinneachaidh Mòr Kubernetes

Nuair a nì rianadair atharrachaidhean rèiteachaidh, cuiridh an orcastra Kubernetes an sàs anns a’ bhuidheann fhad ‘s a tha an staid aige cha tig e faisg air an rèiteachadh ùr. Bidh am modail seo ag obair airson goireas Kubernetes sam bith agus faodar a leudachadh le Mìneachaidhean Goireasan Custom (CRDn). Mar sin, tha na feartan iongantach a leanas aig cleachdadh Kubernetes:

  • Automation: Tha ùrachaidhean Kubernetes a’ toirt seachad uidheamachd gus am pròiseas airson atharrachaidhean a chuir an sàs gu gràsmhor agus ann an deagh àm.
  • Co-chruinneachadh: Leanaidh Kubernetes a' feuchainn ri ùrachaidhean gus an soirbhich leis.
  • Neo-chomasachd: Bidh tagraidhean co-chruinneachaidh a-rithist a 'leantainn gu an aon toradh.
  • diongmhaltas: Nuair a tha goireasan gu leòr, tha staid a’ chlàir ùraichte an urra ris an t-suidheachadh a tha thu ag iarraidh a-mhàin.

Mar a tha GitOps ag obair

Tha sinn air gu leòr ionnsachadh mu Kubernetes gus mìneachadh mar a tha GitOps ag obair.

Tillidh sinn gu sgiobaidhean microservices Family Insurance. Dè a dh'fheumas iad a dhèanamh mar as trice? Thoir sùil air an liosta gu h-ìosal (ma tha coltas neònach no neo-aithnichte air nithean sam bith ann, feuch an cùm thu ort a’ càineadh agus fuirich còmhla rinn). Is e seo dìreach eisimpleirean de shruth-obrach stèidhichte air Jenkins. Tha mòran phròiseasan eile ann nuair a bhios tu ag obair le innealan eile.

Is e am prìomh rud gum faic sinn gu bheil gach ùrachadh a’ tighinn gu crìch le atharrachaidhean air na faidhlichean rèiteachaidh agus stòran Git. Tha na h-atharrachaidhean sin air Git ag adhbhrachadh gum bi an “gnìomhaiche GitOps” ag ùrachadh a’ bhuidheann:

1.Pròiseas obrach:"Togail Jenkins - prìomh mheur".
Liosta ghnìomhan:

  • Bidh Jenkins a’ putadh ìomhaighean tagaichte gu Cidhe;
  • Bidh Jenkins a’ putadh clàran config agus Helm chun phrìomh bhucaid stòraidh;
  • Bidh an gnìomh sgòthan a’ dèanamh leth-bhreac den rèiteachadh agus na clàran bhon phrìomh bhucaid stòraidh gu prìomh stòr Git;
  • Bidh an gnìomhaiche GitOps ag ùrachadh a’ bhuidheann.

2. Jenkins togail - release no meur hotfix:

  • Bidh Jenkins a’ putadh ìomhaighean gun tagadh gu Cidhe;
  • Bidh Jenkins a’ putadh clàran config agus Helm chun bhucaid stòraidh stèidse;
  • Bidh an gnìomh sgòthan a’ dèanamh leth-bhreac den rèiteachadh agus na clàran bhon bhucaid stòraidh stèidse gu stòr Git stèidse;
  • Bidh an gnìomhaiche GitOps ag ùrachadh a’ bhuidheann.

3. Jenkins togail - leasachadh no meur feart:

  • Bidh Jenkins a’ putadh ìomhaighean gun tagadh gu Cidhe;
  • Bidh Jenkins a’ putadh clàran config agus Helm a-steach don bhucaid stòraidh leasachaidh;
  • Bidh an gnìomh sgòthan a’ dèanamh leth-bhreac den rèiteachadh agus na clàran bhon bhucaid stòraidh leasachaidh gu stòr Git leasaichte;
  • Bidh an gnìomhaiche GitOps ag ùrachadh a’ bhuidheann.

4. A 'cur cleachdaiche ùr ris:

  • Bidh am manaidsear no an rianaire (LCM / ops) a’ gairm Gradle gus luchd-cothromachaidh luchdan lìonra (NLBn) a chleachdadh agus a rèiteachadh an toiseach;
  • Bidh LCM/ops a’ gealltainn config ùr gus an cleachdadh ullachadh airson ùrachaidhean;
  • Bidh an gnìomhaiche GitOps ag ùrachadh a’ bhuidheann.

Tuairisgeul goirid air GitOps

  1. Thoir cunntas air staid an t-siostam gu lèir a tha thu ag iarraidh a’ cleachdadh mion-chomharrachadh dearbhach airson gach àrainneachd (anns an sgeulachd againn, tha sgioba Bob a’ mìneachadh rèiteachadh an t-siostaim gu lèir ann an Git).
    • Is e stòr Git an aon thùs fìrinn a thaobh staid miannaichte an t-siostam gu lèir.
    • Bithear a’ dèanamh a h-uile atharrachadh air an t-suidheachadh a thathar ag iarraidh tro ghealltanasan ann an Git.
    • Tha a h-uile paramadair brabhsair a tha thu ag iarraidh cuideachd rim faicinn anns a’ bhuidheann fhèin. San dòigh seo is urrainn dhuinn faighinn a-mach a bheil iad a’ co-thaobhadh (còmhla, coinneachadh) no eadar-dhealaichte (eadar-dhealachadh, dàibheadh) stàitean a thathar ag iarraidh agus a tha air am faicinn.
  2. Ma tha na stàitean a tha thu ag iarraidh agus a chaidh fhaicinn eadar-dhealaichte, an uairsin:
    • Tha uidheamachd co-chruinneachaidh ann a bhios luath no mall a’ sioncronadh gu fèin-ghluasadach na targaidean agus na stàitean a chaidh fhaicinn. Taobh a-staigh a’ bhuidheann, bidh Kubernetes a’ dèanamh seo.
    • Bidh am pròiseas a’ tòiseachadh sa bhad le rabhadh “atharrachadh dealasach”.
    • Às deidh beagan ùine a rèiteachadh, faodar rabhadh “diofar” a chuir ma tha na stàitean eadar-dhealaichte.
  3. San dòigh seo, bidh a h-uile gealladh ann an Git ag adhbhrachadh ùrachaidhean dearbhaidh agus neo-chomasach don bhuidheann.
    • Is e gluasad air ais gu staid a bhathas ag iarraidh roimhe.
  4. Tha an co-chruinneachadh deireannach. Tha an tachartas aige air a chomharrachadh le:
    • Gun rabhaidhean diff airson ùine sònraichte.
    • rabhadh “converged” (m.e. webook, tachartas sgrìobhadh air ais Git).

Dè a th’ ann an eadar-dhealachadh?

Nach dèan sinn a-rithist e: feumaidh a h-uile seilbh brabhsair a tha thu ag iarraidh a bhith ri fhaicinn anns a’ bhuidheann fhèin.

Seo cuid de na h-eisimpleirean de dh 'eadar-dhealachadh:

  • Atharrachadh ann am faidhle rèiteachaidh mar thoradh air meuran a’ tighinn còmhla ann an Git.
  • Atharrachadh san fhaidhle rèiteachaidh mar thoradh air gealltanas Git a rinn an neach-dèiligidh GUI.
  • Iomadh atharrachadh air an staid a tha thu ag iarraidh mar thoradh air PR ann an Git agus an uairsin a’ togail ìomhaigh an t-soithich agus atharrachaidhean config.
  • Atharrachadh ann an staid a’ bhraisle mar thoradh air mearachd, còmhstri stòrais a’ leantainn gu “droch ghiùlan”, no dìreach gluasad air thuaiream bhon stàit thùsail.

Dè a th 'ann an uidheamachd co-chruinneachaidh?

Beagan eisimpleirean:

  • Airson soithichean agus cruinneachaidhean, tha an uidheamachd co-chruinneachaidh air a thoirt seachad le Kubernetes.
  • Faodar an aon uidheamachd a chleachdadh gus tagraidhean agus dealbhadh stèidhichte air Kubernetes a riaghladh (leithid Istio agus Kubeflow).
  • Tha uidheamachd airson a bhith a’ riaghladh an eadar-obrachadh obrachaidh eadar Kubernetes, stòran ìomhaighean agus Git a’ toirt seachad Gnìomhaiche GitOps Weave Flux, a tha na phàirt Sgòthan Fighe.
  • Airson innealan bunaiteach, feumaidh an uidheamachd co-chruinneachaidh a bhith dearbhach agus fèin-riaghailteach. Bhon eòlas againn fhèin faodaidh sinn sin a ràdh Terraform as fhaisge air a’ mhìneachadh seo, ach tha feum air smachd daonna fhathast. San t-seagh seo, tha GitOps a’ leudachadh traidisean Bun-structair mar Chòd.

Bidh GitOps a’ cothlamadh Git leis an einnsean co-chruinneachaidh sàr-mhath aig Kubernetes gus modal a thoirt seachad airson brath.

Leigidh GitOps leinn a ràdh: Is e dìreach na siostaman sin a dh’ fhaodar a mhìneachadh agus a choimhead a bhith fèin-ghluasadach agus smachd.

Tha GitOps an dùil airson a’ chruach dhùthchasach sgòthan gu lèir (mar eisimpleir, Terraform, msaa.)

Chan e dìreach Kubernetes a th’ ann an GitOps. Tha sinn airson gum bi an siostam gu lèir air a stiùireadh gu dearbhach agus a’ cleachdadh co-ghluasad. Leis an t-siostam gu lèir tha sinn a’ ciallachadh cruinneachadh de àrainneachdan ag obair le Kubernetes - mar eisimpleir, “dev cluster 1”, “riochdachadh”, msaa. agus etc.

Mothaich cho cudromach sa tha Terraform don duilgheadas bootstrapping sa chùis seo. Feumaidh Kubernetes a bhith air a chuir a-steach am badeigin, agus le bhith a’ cleachdadh Terraform tha sin a’ ciallachadh gun urrainn dhuinn na h-aon sruthan-obrach GitOps a chuir an sàs gus an ìre smachd a chruthachadh a tha mar bhunait airson Kubernetes agus tagraidhean. Is e deagh chleachdadh a tha seo.

Tha fòcas làidir air bun-bheachdan GitOps a chuir an sàs ann an sreathan a bharrachd air Kubernetes. Aig an àm seo, tha fuasglaidhean seòrsa GitOps ann airson Istio, Helm, Ksonnet, OpenFaaS agus Kubeflow, a bharrachd air, mar eisimpleir, airson Pulumi, a chruthaicheas còmhdach airson a bhith a’ leasachadh thagraidhean airson dùthchasach sgòthan.

Kubernetes CI/CD: a’ dèanamh coimeas eadar GitOps agus dòighean-obrach eile

Mar a chaidh a ràdh, tha dà rud ann an GitOps:

  1. Am modail obrachaidh airson Kubernetes agus sgòthan dùthchasach air a mhìneachadh gu h-àrd.
  2. An t-slighe gu àrainneachd riaghlaidh tagraidh stèidhichte air leasaiche.

Dha mòran, tha GitOps gu sònraichte na shruth-obrach stèidhichte air putadh Git. Tha sinn a 'còrdadh ris cuideachd. Ach chan e sin a h-uile càil: leig dhuinn sùil a-nis air pìoban CI/CD.

Tha GitOps a’ comasachadh cleachdadh leantainneach (CD) airson Kubernetes

Tha GitOps a’ tabhann inneal cleachdadh leantainneach a chuireas às don fheum air “siostaman riaghlaidh cleachdadh.” Bidh Kubernetes a’ dèanamh an obair gu lèir dhut.

  • Feumaidh ùrachadh an aplacaid ùrachadh ann an Git. Is e ùrachadh malairt a tha seo don stàit a tha thu ag iarraidh. Tha “Cleachdadh” an uairsin air a dhèanamh taobh a-staigh a’ bhuidheann le Kubernetes fhèin stèidhichte air an tuairisgeul ùraichte.
  • Air sgàth nàdar mar a tha Kubernetes ag obair, tha na h-ùrachaidhean sin co-obrachail. Tha seo a’ toirt seachad uidheamachd airson cleachdadh leantainneach anns a bheil a h-uile ùrachadh atamach.
  • Note: Sgòthan Fighe a’ tabhann gnìomhaiche GitOps a bhios ag aonachadh Git agus Kubernetes agus a’ leigeil le CD a bhith air a chluich le bhith a’ rèiteachadh suidheachadh miannaichte is làithreach a’ bhraisle.

Às aonais kubectl agus sgriobtaichean

Bu chòir dhut Kubectl a chleachdadh gus do bhuidheann ùrachadh, agus gu sònraichte seachain a bhith a’ cleachdadh sgriobtaichean gus òrdughan kubectl a chuir còmhla. An àite sin, leis an loidhne-phìoban GitOps, faodaidh neach-cleachdaidh am buidheann Kubernetes ùrachadh tro Git.

Am measg nam buannachdan tha:

  1. Deas. Faodar buidheann de dh’ ùrachaidhean a chuir an sàs, an co-chruinneachadh agus an dearbhadh mu dheireadh, gar toirt nas fhaisge air an amas cleachdadh atamach. An coimeas ri sin, chan eil cleachdadh sgriobtaichean a’ toirt seachad gealltanas co-chruinneachaidh (barrachd air seo gu h-ìosal).
  2. Tèarainteachd. A' luaidh Kelsey Hightower: “Cuir casg air ruigsinneachd don bhuidheann Kubernetes agad gu innealan fèin-ghluasaid agus luchd-rianachd air a bheil uallach airson dì-bhugachadh no cumail suas.” Faic cuideachd mo fhoillseachadh mu shàbhailteachd agus gèilleadh ri mion-chomharrachadh teignigeach, a bharrachd air artaigil mu dheidhinn Hacking Homebrew le bhith a’ goid teisteanasan bho sgriobt Jenkins a chaidh a sgrìobhadh gu faiceallach.
  3. Eòlas cleachdaiche. Tha Kubectl a’ nochdadh meacanaig modail nì Kubernetes, a tha gu math toinnte. Mas fheàrr, bu chòir do luchd-cleachdaidh eadar-obrachadh leis an t-siostam aig ìre nas àirde de tharraing. An seo bheir mi iomradh a-rithist air Kelsey agus molaidh mi coimhead a leithid de gheàrr-chunntas.

An diofar eadar CI agus CD

Bidh GitOps a’ leasachadh mhodalan CI/CD a th’ ann mar-thà.

Tha frithealaiche CI ùr-nodha na inneal orcastra. Gu sònraichte, tha e na inneal airson pìoban CI a chuir air dòigh. Tha iad sin a’ toirt a-steach togail, deuchainn, tighinn còmhla ri stoc, msaa. Bidh frithealaichean CI a’ dèanamh fèin-ghluasad air riaghladh pìoban ioma-cheum iom-fhillte. Is e buaireadh cumanta seata de dh’ ùrachaidhean Kubernetes a sgrìobhadh agus a ruith mar phàirt de loidhne-phìoban gus atharrachaidhean a phutadh air a ’bhuidheann. Gu dearbh, is e seo a bhios mòran eòlaichean a ’dèanamh. Ach, chan eil seo as fheàrr, agus seo carson.

Bu chòir CI a chleachdadh gus ùrachaidhean a phutadh chun stoc, agus bu chòir don bhuidheann Kubernetes e fhèin atharrachadh stèidhichte air na h-ùrachaidhean sin gus an CD a riaghladh air an taobh a-staigh. Canaidh sinn e Luchdaich a-nuas am modail airson cd, eu-coltach ris a’ mhodail push CI. Tha CD na phàirt orchestration runtime.

Carson nach bu chòir do luchd-frithealaidh CI CDan a dhèanamh tro ùrachaidhean dìreach ann an Kubernetes

Na cleachd frithealaiche CI gus ùrachaidhean dìreach a chuir air dòigh gu Kubernetes mar sheata de dh’ obraichean CI. Is e seo am pàtran an-aghaidh air a bheil sinn a’ bruidhinn air innseadh mu thràth air do bhlog.

Rachamaid air ais gu Alice agus Bob.

Dè na duilgheadasan a bha romhpa? Bidh frithealaiche CI Bob a’ cur na h-atharrachaidhean an sàs anns a’ bhuidheann, ach ma thuiteas e sa phròiseas, cha bhi fios aig Bob dè an staid anns a bheil (no a bu chòir) a’ bhuidheann a bhith no ciamar a chuireas e ceart e. Tha an aon rud fìor a thaobh soirbheachas.

Gabhamaid ris gun do thog sgioba Bob ìomhaigh ùr agus an uairsin air an cleachdadh gus an ìomhaigh a chleachdadh (uile bho loidhne-phìoban CI).

Ma thogas an ìomhaigh gu h-àbhaisteach, ach ma dh’ fhailicheas an loidhne-phìoban, feumaidh an sgioba obrachadh a-mach:

  • A bheil an t-ùrachadh air a sgaoileadh?
  • A bheil sinn a’ cur togalach ùr air bhog? An lean seo gu fo-bhuaidhean neo-riatanach - le comas dà thogalach den aon ìomhaigh nach gabh atharrachadh?
  • Am bu chòir dhuinn feitheamh airson an ath ùrachadh mus ruith sinn an togail?
  • Dè dìreach a chaidh ceàrr? Dè na ceumannan a dh'fheumar a dhèanamh a-rithist (agus dè an fheadhainn a tha sàbhailte a-rithist)?

Chan eil stèidheachadh sruth-obrach stèidhichte air Git a’ gealltainn nach coinnich sgioba Bob ris na duilgheadasan sin. Faodaidh iad fhathast mearachd a dhèanamh leis a’ phut gealltanas, an taga, no paramadair air choireigin eile; ge-tà, tha an dòigh-obrach seo fhathast fada nas fhaisge air dòigh-obrach follaiseach uile-no-rud sam bith.

Airson geàrr-chunntas, seo carson nach bu chòir do luchd-frithealaidh CI dèiligeadh ri CD:

  • Chan eil sgriobtaichean ùrachadh an-còmhnaidh cinnteach; Tha e furasta mearachdan a dhèanamh annta.
  • Cha bhith luchd-frithealaidh CI a’ tighinn còmhla ris a’ mhodail brabhsair dearbhach.
  • Tha e duilich a bhith cinnteach à neo-chomasachd. Feumaidh luchd-cleachdaidh tuigse fhaighinn air semantics domhainn an t-siostaim.
  • Tha e nas duilghe faighinn air ais bho fhàilligeadh pàirt.

Nota mu Helm: Ma tha thu airson Helm a chleachdadh, tha sinn a’ moladh a chur còmhla ri gnìomhaiche GitOps leithid Flux-Helm. Cuidichidh seo gus dèanamh cinnteach à co-thaobhadh. Chan eil Helm fhèin neo-chinnteach no atamach.

GitOps mar an dòigh as fheàrr air Lìbhrigeadh Leantainneach a chuir an gnìomh airson Kubernetes

Bidh sgioba Alice agus Bob a’ cur an gnìomh GitOps agus a’ faighinn a-mach gu bheil e air fàs gu math nas fhasa a bhith ag obair le bathar-bog, a’ cumail àrd-choileanadh agus seasmhachd. Crìochnaich sinn an artaigil seo le dealbh a’ sealltainn cò ris a tha an dòigh-obrach ùr aca coltach. Cumaibh cuimhne gur ann mu dheidhinn tagraidhean agus seirbheisean a tha sinn sa mhòr-chuid, ach faodar GitOps a chleachdadh gus àrd-ùrlar slàn a riaghladh.

Modail obrachaidh airson Kubernetes

Seall air an diagram a leanas. Bidh e a’ taisbeanadh Git agus an stòr ìomhaigh container mar ghoireasan co-roinnte airson dà chuairt-beatha orcastra:

  • Pìob-loidhne amalachaidh leantainneach a leughas agus a sgrìobhas faidhlichean gu Git agus as urrainn ùrachadh a dhèanamh air stòr de dhealbhan soithichean.
  • Pìob-loidhne Runtime GitOps a tha a’ cothlamadh cleachdadh le riaghladh agus faicsinneachd. Bidh e a’ leughadh agus a’ sgrìobhadh fhaidhlichean gu Git agus is urrainn dha ìomhaighean soithich a luchdachadh sìos.

Dè na prìomh thoraidhean?

  1. Dealachadh draghan: Thoir an aire nach urrainn an dà loidhne-phìoban conaltradh a dhèanamh ach le bhith ag ùrachadh Git no an stòr ìomhaigh. Ann am faclan eile, tha balla-teine ​​​​eadar CI agus an àrainneachd runtime. Is e "balla-teine ​​​​immutability" a chanas sinn ris (balla-teine ​​​​immutability), leis gu bheil gach ùrachadh tasgaidh a’ cruthachadh dreachan ùra. Airson tuilleadh fiosrachaidh air a’ chuspair seo, thoir sùil air sleamhnagan 72-87 an taisbeanadh seo.
  2. Faodaidh tu frithealaiche CI agus Git sam bith a chleachdadh: Bidh GitOps ag obair le co-phàirt sam bith. Faodaidh tu leantainn ort a’ cleachdadh na frithealaichean CI agus Git as fheàrr leat, stòran ìomhaighean, agus seòmraichean deuchainn. Feumaidh cha mhòr a h-uile inneal Lìbhrigeadh Leantainneach eile air a’ mhargaidh am frithealaiche CI / Git aca fhèin no stòr ìomhaigh. Dh’ fhaodadh seo a bhith na fheart cuibhrichte ann an leasachadh dùthchasach sgòthan. Le GitOps, faodaidh tu innealan eòlach a chleachdadh.
  3. Tachartasan mar inneal amalachaidh: Cho luath ‘s a thèid dàta ann an Git ùrachadh, bidh Weave Flux (no an gnìomhaiche Weave Cloud) a’ cur fios gu àm ruith. Nuair a ghabhas Kubernetes ri seata atharrachaidh, thèid Git ùrachadh. Tha seo a’ toirt seachad modal amalachaidh sìmplidh airson sruthan-obrach a chuir air dòigh airson GitOps, mar a chithear gu h-ìosal.

co-dhùnadh

Tha GitOps a’ toirt seachad na geallaidhean ùrachaidh làidir a dh’ fheumas inneal CI/CD ùr-nodha sam bith:

  • fèin-ghluasad;
  • co-fhilleadh;
  • neo-chomas;
  • cinnt.

Tha seo cudromach oir tha e a’ tabhann modail obrachaidh do luchd-leasachaidh dùthchasach sgòthan.

  • Tha innealan traidiseanta airson siostaman riaghlaidh agus sgrùdaidh co-cheangailte ri sgiobaidhean gnìomhachd a tha ag obair taobh a-staigh leabhar ruith (seata de mhodhan-obrach agus obrachaidhean àbhaisteach - approx. transl.), ceangailte ri cleachdadh sònraichte.
  • Ann an riaghladh dùthchasach sgòthan, is e innealan amharc an dòigh as fheàrr air toraidhean cleachdadh a thomhas gus an urrainn don sgioba leasachaidh freagairt gu sgiobalta.

Smaoinich air mòran bhuidhnean sgapte thairis air diofar sgòthan agus mòran sheirbheisean leis na sgiobaidhean aca fhèin agus planaichean cleachdadh. Tha GitOps a’ tabhann modal caochlaideach airson a bhith a’ riaghladh am pailteas seo.

PS bhon eadar-theangair

Leugh cuideachd air ar blog:

Chan fhaod ach luchd-cleachdaidh clàraichte pàirt a ghabhail san sgrùdadh. Soidhnig a-steach, mas e do thoil e.

An robh fios agad mu GitOps mus do nochd an dà eadar-theangachadh seo air Habré?

  • Bha, bha fios agam air a h-uile càil

  • A-mhàin gu uachdar

  • Chan eil

Bhòt 35 neach-cleachdaidh. Sheall 10 neach-cleachdaidh.

Source: www.habr.com

Cuir beachd ann