O le a le GitOps?

Manatua. fa'aliliu.: Ina ua uma se lomiga talu ai nei meafaitino e uiga i auala toso ma tulei i GitOps, na matou vaʻaia le fiafia i lenei faʻataʻitaʻiga i le lautele, ae e itiiti lava faʻasalalauga i le gagana Rusia i lenei autu (e leai se mea i luga o Habré). O le mea lea, matou te fiafia e ofoina atu ia te oe se faʻaliliuga o se isi tusiga - e tusa lava pe toeitiiti atoa le tausaga talu ai! - mai Weaveworks, o le ulu lea na faʻauluina le faaupuga "GitOps." O lo'o fa'amatalaina e le tusitusiga le ute o le auala ma le eseesega autu mai mea o lo'o iai.

I le tausaga talu ai na matou lomia ai folasaga i GitOps. I tua, na matou faʻasoa pe faʻapefea ona faʻalauiloa e le Weaveworks se SaaS faʻavae atoa i luga o Kubernetes ma fausia se seti o faʻataʻitaʻiga sili ona lelei mo le faʻapipiʻiina, puleaina, ma le mataʻituina i totonu o se siosiomaga masani.

O le tala na iu ina lauiloa. O isi tagata na amata ona talanoa e uiga i GitOps ma amata ona lolomiina meafaigaluega fou mo git tulei, atinae, mealilo, galuega tauave, tuufaatasia faifaipea ma faapena atu ai lava. Faʻaalia i luga o la matou upega tafaʻilagi se numera tele fa'asalalauga ma GitOps fa'aoga mataupu. Ae o loo i ai pea fesili a nisi tagata. E faapefea ona ese le faʻataʻitaʻiga mai le masani? aseta e fai ma tulafono ma fa'aauau le tu'uina atu (faʻaauau ona tuʻuina atu)? E tatau ona faʻaaoga Kubernetes?

Na vave ona matou iloa e manaʻomia se faʻamatalaga fou, e ofoina atu:

  1. Se numera tele o faʻataʻitaʻiga ma tala;
  2. Fa'amatalaga fa'apitoa o GitOps;
  3. Fa'atusatusa i tu'uaiga fa'aauau pea.

I lenei tusiga sa matou taumafai e faʻatalanoaina uma nei mataupu. E maua ai se fa'afouga fa'afouga ile GitOps ma se atina'e ma CI/CD va'aiga. Matou te taulaʻi muamua i Kubernetes, e ui o le faʻataʻitaʻiga e mafai ona faʻasalalau.

Feiloai GitOps

Vaai faalemafaufau ia Alice. Na te fa'atautaia Inisiua a Aiga, lea e ofoina atu inisiua soifua maloloina, ta'avale, fale, ma femalagaa'i i tagata o lo'o pisi tele e su'esu'e i totonu ma fafo o latou konekarate. O lana pisinisi na amata o se galuega faʻapitoa a o galue Alice i se faletupe o se saienitisi faʻamaumauga. I se tasi aso na ia iloa ai e mafai ona ia faʻaogaina masini komepiuta faʻapitoa e sili atu le suʻesuʻeina o faʻamaumauga ma faʻapipiʻi pusa inisiua. Na faatupeina e le aufaipisinisi le poloketi, ma o lea ua aumai e lana kamupani le silia ma le $20 miliona i le tausaga ma ua televave lona tuputupu ae. I le taimi nei, e 180 tagata o lo'o fa'afaigaluegaina i tulaga eseese. E aofia ai se 'au fa'atekonolosi e atia'e, tausia le 'upega tafa'ilagi, fa'amaumauga, ma su'esu'eina le fa'atauga. O le au e 60 tagata o loʻo taʻitaʻia e Bob, le faʻatonu faʻapitoa a le kamupani.

O lo'o fa'atinoina e le 'au a Bob le faiga o gaosiga i le ao. O a latou talosaga autu e faʻatautaia i luga ole GKE, faʻaaogaina Kubernetes ile Google Cloud. E le gata i lea, latou te faʻaogaina faʻamatalaga eseese ma auʻiliʻili meafaigaluega i la latou galuega.

E le'i sauni le Inisiua a le Aiga e fa'aoga ni koneteina, ae na pu'eina i le naunautaiga a le Docker. Na vave ona iloa e le kamupani o le GKE na faʻafaigofie ona faʻapipiʻi fuifui e suʻe ai foliga fou. Jenkins mo CI ma Quay na fa'aopoopoina e fa'atulaga le resitala o koneteina, na tusia fa'amaumauga mo Jenkins lea na tuleia ai pusa fou ma fa'atonuga i le GKE.

Ua mavae sina taimi. Sa le fiafia Alice ma Bob i le faatinoga o la latou auala filifilia ma lona aafiaga i le pisinisi. O le faʻaofiina o containers e leʻi faʻaleleia atili ai le gaosiga e pei ona faʻamoemoeina e le au. O nisi taimi e malepe ai fa'agaioiga, ma e le'o manino pe o suiga o tulafono e tu'ua'ia. Na iu foi ina faigata ona siaki suiga o le config. E masani ona manaʻomia le fatuina o se fuifui fou ma faʻanofo talosaga i ai, talu ai o le auala pito sili lea ona faigofie e faʻaumatia ai le faʻalavelave na avea ma faiga. Na fefe Alice ina neʻi sili atu le leaga o le tulaga aʻo atinaʻe le talosaga (faʻaopoopo, o se poloketi fou e faʻavae i luga o masini aʻoaʻoga o loʻo gaosia). O Bob na otometi le tele o le galuega ma e le'i malamalama pe aisea na le mautu ai le paipa, le fua lelei, ma mana'omia ai le fa'aogaina o le lima i lea taimi ma lea taimi?

Ona latou aʻoaʻoina lea e uiga i GitOps. O lenei faaiuga na foliga mai o le mea tonu lava lea latou te manaomia e agai ai i luma ma le mautinoa.

Ua faʻalogo Alice ma Bob e uiga ia Git, DevOps, ma atinaʻe e avea ma faʻasologa o galuega mo le tele o tausaga. O le mea e tulaga ese ai GitOps o le aumaia lea o se seti o faiga sili ona lelei-e faʻamaonia ma masani-mo le faʻatinoina o nei manatu i le tulaga o Kubernetes. O lenei autu tulai soo, e aofia ai i Lalaga blog.

Ua filifili Inisiua Aiga e fa'atino GitOps. O loʻo i ai nei i le kamupani se faʻataʻitaʻiga faʻaogaina otometi e fetaui ma Kubernetes ma tuʻufaʻatasia saosaoa ma mautuauā latou:

  • na maua ai le fa'aluaina o le gaosiga o le 'au e aunoa ma se tasi e fa'avalevalea;
  • taofi le tautuaina o tusitusiga. Nai lo lena, ua mafai nei ona latou taulai atu i foliga fou ma faʻaleleia auala faʻainisinia - mo se faʻataʻitaʻiga, faʻalauiloaina o taʻavale canary ma faʻaleleia suʻega;
  • ua matou faʻaleleia le faʻaogaina o le faʻagasologa ina ia seasea malepe;
  • maua le avanoa e toe faʻaleleia ai le faʻapipiʻiina pe a maeʻa faʻaletonu vaega e aunoa ma le faʻaogaina o le lima;
  • fa'atau fa'aaogaоSili atu le mautinoa i faiga fa'aolaina. Na iloa e Alice ma Bob e mafai ona la vaevaeina le 'au i 'au' au'aunaga laiti e galulue tutusa;
  • e mafai ona faia 30-50 suiga i le poloketi i aso uma e ala i taumafaiga a vaega taʻitasi ma faʻataʻitaʻi auala fou;
  • e faigofie ona tosina mai tagata atinaʻe fou i le poloketi, o loʻo maua le avanoa e taʻavale ai faʻamatalaga i le gaosiga e faʻaaoga ai talosaga toso i totonu o ni nai itula;
  • faigofie ona pasi su'etusi i totonu ole auivi ole SOC2 (mo le tausisia o le auʻaunaga o loʻo tuʻuina atu auaunaga i manaʻoga mo le faʻamautuina o faʻamaumauga; faitau atili, mo se faʻataʻitaʻiga, iinei - tusa. fa'aliliu.).

O le a le mea ua tupu?

GitOps e lua mea:

  1. Fa'ata'ita'iga fa'atino mo Kubernetes ma le cloud native. E maua ai se seti o faiga sili ona lelei mo le faʻapipiʻiina, puleaina, ma le mataʻituina o fuifui pusa ma faʻaoga. Fa'amatalaga mata'ina ile fomu tasi fa'ase'e от Lui Faceira:
  2. Le ala i le fausiaina o se siosiomaga pulega-centric pulega talosaga. Matou te faʻaogaina le galuega a le Git i gaioiga uma ma atinaʻe. Faamolemole ia matau e le na'o le Git push, ae e uiga i le faʻatulagaina o seti atoa o meafaigaluega CI / CD ma UI / UX.

O nai upu e uiga ia Git

Afai e te le masani i faiga faʻatonutonu faʻasologa ma le faʻaogaina o galuega faʻavae Git, matou te fautuaina le aʻoaʻoina e uiga ia i latou. O le galulue faatasi ma lala ma toso talosaga atonu e foliga mai o se togafiti faataulaitu i le taimi muamua, ae o aoga e aoga le taumafaiga. O iinei tala lelei e amata ai.

Auala e galue ai Kubernetes

I la matou tala, na liliu atu Alice ma Bob i GitOps ina ua uma ona galulue ma Kubernetes mo sina taimi. Ioe, GitOps e vavalalata vavalalata ma Kubernetes - o se faʻataʻitaʻiga faʻatinoina mo atinaʻe ma faʻaoga e faʻavae i luga o Kubernetes.

O le a le mea e tu'uina atu e Kubernetes i tagata fa'aoga?

O nisi nei o vaega autu:

  1. I le faʻataʻitaʻiga Kubernetes, e mafai ona faʻamatalaina mea uma i le faʻaaliga faʻaalia.
  2. E ave e le server Kubernetes API lenei ta'utinoga e fai ma fa'aoga ma taumafai pea e aumai le fuifui i totonu o le setete o lo'o fa'amatalaina i le ta'utinoga.
  3. Ua lava ta'utinoga e fa'amatala ma fa'atautaia ai le tele o galuega eseese—“talosaga.”
  4. O se taunuuga, o suiga i le talosaga ma le fuifui e tupu ona o:
    • suiga i ata pusa;
    • suiga i le fa'amatalaga fa'ailoa;
    • fa'aletonu i le si'osi'omaga - mo se fa'ata'ita'iga, fa'aletonu pusa.

Kubernetes' Mafa'itele Convergence Gafatia

Pe a faia e se pule ni suiga, o le a fa'aogaina e le au fa'ameamea a le Kubernetes i le fuifui pe afai o lona tulaga o le a le latalata i le faatulagaga fou. O lenei faʻataʻitaʻiga e aoga mo soʻo se punaoa Kubernetes ma e mafai ona faʻalauteleina i Faʻamatalaga Punaoa Faʻapitoa (CRDs). O le mea lea, o le faʻaogaina o Kubernetes o loʻo i ai mea matagofie nei:

  • Faʻaaogaina: O fa'afouga a Kubernetes e maua ai se masini e fa'autometi ai le fa'aogaina o suiga ma le fa'alelei ma i se taimi talafeagai.
  • Fa'atasiga: O le a faʻaauau pea ona taumafai Kubernetes faʻafouga seia manuia.
  • Fa'aletonu: Fa'aauau le fa'aogaina o feso'ota'iga e o'o atu ai i le i'uga tutusa.
  • Determinism: Pe a lava punaoa, o le setete o le faʻafou faʻaputu e faalagolago i luga o le tulaga manaʻomia.

Auala e galue ai GitOps

Ua lava a matou aʻoaʻoga e uiga i Kubernetes e faʻamatala ai le auala e galue ai GitOps.

Se'i o tatou toe fo'i atu ile vaega ole Inisiua a Aiga. O le a le mea e masani ona latou faia? Va'ai i le lisi o lo'o i lalo (afai e iai ni mea o lo'o i totonu e foliga uiga ese pe le masani ai, fa'amolemole taofi le faitio ma nofo ma matou). Ua na'o ni fa'ata'ita'iga o galuega fa'avae a Jenkins. E tele isi faiga pe a galulue ma isi meafaigaluega.

O le mea autu o loʻo tatou vaʻaia o faʻafouga taʻitasi e muta i suiga i faila faila ma Git repositories. O nei suiga ile Git e mafua ai ona faʻafouina e le "GitOps operator" le fuifui:

1. Galuega fa'agasologa: "Jenkins fausia - matai lala".
Lisi o galuega:

  • Ua tulei e Jenkins ata ua faailoga i Quay;
  • Ua tulei e Jenkins siata config ma Helm i le pakete matai e teu ai;
  • E kopiina e le galuega ao le config ma siata mai le pakete matai teu oloa i le master Git repository;
  • E fa'afou e le fa'alapotopotoga GitOps le fuifui.

2. Jenkins fau - fa'asa'oloto po'o se lala fa'amau:

  • Ua tulei e Jenkins ata e le'i fa'ailogaina i Quay;
  • Ua tulei e Jenkins le siata o le config ma le Helm i le pakete teuina;
  • O le galuega o le ao e kopiina le config ma siata mai le pakete teuina faʻataʻitaʻi i le faleteuoloa Git staging;
  • E fa'afou e le fa'alapotopotoga GitOps le fuifui.

3. Jenkins fausia - atiina ae pe faʻaalia lala:

  • Ua tulei e Jenkins ata e le'i fa'ailogaina i Quay;
  • Jenkins tulei config ma Helm siata i totonu o le atiina ae pakete teuina;
  • E kopiina e le galuega ao le config ma siata mai le pakete teu oloa atiaʻe i le fale teu oloa Git;
  • E fa'afou e le fa'alapotopotoga GitOps le fuifui.

4. Fa'aopoopoina se kalani fou:

  • O le pule poʻo le pule (LCM/ops) e valaʻau Gradle e faʻapipiʻi muamua ma faʻapipiʻi le paleni o uta (NLBs);
  • LCM/ops faia se config fou e saunia le deployment mo faafouga;
  • E fa'afou e le fa'alapotopotoga GitOps le fuifui.

Faʻamatalaga puupuu o GitOps

  1. Fa'amatala le tulaga mana'omia o le faiga atoa e fa'aaoga ai fa'amatalaga fa'amatalaga mo si'osi'omaga ta'itasi (i la tatou tala, o lo'o fa'amatalaina e le 'au a Bob le fa'atonuga atoa o le faiga i Git).
    • O le Git repository o le puna e tasi o le mea moni e uiga i le tulaga manaʻomia o le polokalama atoa.
    • O suiga uma i le tulaga manaʻomia e faia e ala i tuʻuina i Git.
    • E mafai fo'i ona va'aia vaega uma e mana'omia ile fuifui lava. I lenei auala e mafai ai ona tatou iloa pe fetaui (converge, liʻo) pe 'ese'ese (eseese, 'ese'ese) o lo'o mana'omia ma mata'ituina.
  2. Afai e eseese tulaga e manaʻomia ma matauina, ona:
    • O lo'o i ai se fa'aogaina fa'atasi e vave pe mulimuli ane e fa'amaopoopo otometi le fa'amoemoe ma tulaga mata'ituina. I totonu o le fuifui, e faia lenei mea e Kubernetes.
    • O le faagasologa e amata vave lava i se "suiga ua faia" mataala.
    • A maeʻa se taimi faʻatulagaina, e mafai ona lafo se faʻaaliga "eseʻese" pe a ese setete.
  3. I lenei auala, o mea uma e faia i le Git e mafua ai faʻamatalaga faʻamaonia ma faʻamaonia i le fuifui.
    • O le toe fa'afo'i o le fa'atasi lea i se tulaga sa mana'omia muamua.
  4. O le tuufaatasiga e mulimuli. O lona faʻaalia e faʻaalia e:
    • Leai ni fa'aaliga eseese mo se vaitaimi patino.
    • Fa'aaliga "converged" (eg webhook, Git writeback event).

O le a le eseesega?

Se'i tatou toe fai atu: o mea uma e mana'omia e tatau ona matauina i totonu o le fuifui lava ia.

O nisi faʻataʻitaʻiga o le eseesega:

  • Suiga i le faila faila ona o le tuʻufaʻatasia o lala i Git.
  • O se suiga i le faila faila ona o le Git commit na faia e le GUI client.
  • Le tele o suiga i le tulaga manaʻomia ona o le PR i Git sosoo ai ma le fausiaina o le atigipusa ata ma suiga config.
  • O se suiga i le tulaga o le fuifui ona o se mea sese, feteʻenaʻiga o punaoa e mafua ai le "amio leaga", poʻo le naʻo le vavae ese mai le tulaga muamua.

O le a le faiga ole convergence?

O nai faʻataʻitaʻiga:

  • Mo atigipusa ma fuifui, o le faʻaogaina o masini e saunia e Kubernetes.
  • Ole faiga lava lea e tasi e mafai ona fa'aogaina e fa'atautaia ai talosaga ma fa'ata'ita'iga a Kubernetes (e pei ole Istio ma Kubeflow).
  • O se masini mo le puleaina o fegalegaleaiga galue i le va o Kubernetes, fale teu ata ma Git saunia GitOps fa'afoe Lalaga Flux, o se vaega Lalaga Ao.
  • Mo masini fa'avae, e tatau ona fa'ailoa ma tuto'atasi le faiga fa'atasi. Mai o tatou lava aafiaga e mafai ona tatou faapea atu Terraform sili ona latalata i lenei faauigaga, ae o loʻo manaʻomia pea le pule a tagata. I lenei tulaga, GitOps faʻalauteleina le tu masani o Atinaʻe e pei o Code.

GitOps tu'ufa'atasia le Git ma le afi fa'aliliuga lelei a Kubernetes e maua ai se fa'ata'ita'iga mo le fa'aogaina.

GitOps e mafai ai ona matou fai atu: E na'o na faiga e mafai ona fa'amatalaina ma mata'ituina e mafai ona fa'autometi ma pulea.

GitOps ua faʻamoemoe mo le faʻaputuga atoa o le ao (mo se faʻataʻitaʻiga, Terraform, ma isi)

GitOps e le naʻo Kubernetes. Matou te mananaʻo ia faʻatautaia le faiga atoa ma faʻaoga faʻatasi. O le faiga atoa o lona uiga o se tuufaatasiga o siosiomaga o loʻo galulue ma Kubernetes - mo se faʻataʻitaʻiga, "dev cluster 1", "gaosiga", ma isi. ma isi.

Matau le taua tele o Terraform i le faʻafitauli o le bootstrap i lenei tulaga. Kubernetes e tatau ona faʻapipiʻiina i se mea, ma faʻaaoga Terraform o lona uiga e mafai ona tatou faʻaogaina tutusa GitOps workflows e fatu ai le faʻatonuga o loʻo faʻavaeina Kubernetes ma talosaga. Ose faiga sili ona aoga.

O loʻo i ai le taulaʻi malosi i le faʻaogaina o manatu o GitOps i luga ole pito i luga ole Kubernetes. I le taimi nei, o loʻo i ai GitOps-ituaiga fofo mo Istio, Helm, Ksonnet, OpenFaaS ma Kubeflow, faʻapea foʻi ma, mo se faʻataʻitaʻiga, mo Pulumi, lea e fatuina ai se laulau mo le atinaʻeina o talosaga mo le ao.

Kubernetes CI / CD: faʻatusatusa GitOps ma isi auala

E pei ona taʻua, GitOps e lua mea:

  1. Le faʻataʻitaʻiga faʻataʻitaʻiga mo Kubernetes ma le cloud native o loʻo faʻamatalaina i luga.
  2. O le ala i se siosiomaga fa'afoega fa'aoga-centric.

Mo le toʻatele, o GitOps o se galuega faʻavae e faʻavae i luga o Git pushes. Matou te fiafia foi ia te ia. Ae e le na o le pau lena: seʻi o tatou vaʻai i laina paipa CI / CD.

GitOps e mafai ai ona faʻaauau le faʻapipiʻiina (CD) mo Kubernetes

GitOps o loʻo ofoina atu se faiga faʻapipiʻi faʻaauau e faʻaumatia ai le manaʻomia mo le tuʻufaʻatasia o "faiga faʻapipiʻiina." Kubernetes e faia uma galuega mo oe.

  • Faʻafouina le talosaga e manaʻomia le faʻafouina i Git. O se fa'afouga fefa'ataua'iga lea ile tulaga mana'omia. O le "Deployment" ona faia lea i totonu o le fuifui e Kubernetes lava ia e faʻavae i luga o le faʻamatalaga fou.
  • Ona o le natura o le auala e galue ai Kubernetes, o nei faʻafouga e fesoʻotaʻi. O lenei mea e maua ai se masini mo le faʻaauauina o le faʻaogaina lea o faʻafouga uma e atomic.
  • Manatua: Lalaga Ao ofo atu se fa'agaioiga GitOps e tu'ufa'atasia Git ma Kubernetes ma fa'atagaina le CD e fa'atino e ala i le fa'aleleia o le tulaga mana'omia ma le taimi nei o le fuifui.

A aunoa ma le kubectl ma tusitusiga

E tatau ona e aloese mai le faʻaaogaina o Kubectl e faʻafou ai lau fuifui, aemaise le aloese mai le faʻaogaina o tusitusiga e faʻavae ai tulafono kubectl. Nai lo lena, faʻatasi ai ma le GitOps pipeline, e mafai e se tagata faʻaoga ona faʻafouina a latou Kubernetes cluster e ala i Git.

O fa'amanuiaga e aofia ai:

  1. Tauagavale. O se vaega o faʻafouga e mafai ona faʻaogaina, faʻafeiloaʻi ma mulimuli ane faʻamaonia, faʻalatalata atu i tatou i le sini o le faʻaogaina o atomic. I se fa'atusatusaga, o le fa'aaogaina o tusitusiga e le maua ai se fa'amaoniga o le fa'atasi (sili atu i lalo ifo).
  2. Puipuiga. Upusii Kelsey Hightower: "Faʻatapulaʻa le avanoa i lau faʻaupuga Kubernetes i meafaigaluega masini ma pule o loʻo nafa ma le faʻapipiʻiina poʻo le tausia." vaai foi la'u lomiga e uiga i le saogalemu ma le tausisia o faʻamatalaga faʻapitoa, faʻapea foʻi ma tala e uiga i le hacking Homebrew e ala i le gaoia o fa'ailoga mai se tusitusiga a Jenkins e le'i tusia.
  3. Aafiaga Fa'aoga. O lo'o fa'aalia e Kubectl le fa'ainisinia o le fa'ata'ita'iga fa'atusa a Kubernetes, e fai si lavelave. O le mea e sili ona lelei, e tatau i tagata faʻaoga ona fegalegaleai ma le faiga i se tulaga maualuga o le faʻaaogaina. O iinei o le a ou toe faasino ia Kelsey ma fautuaina le matamata se resume faapena.

Eseesega ile va ole CI ma le CD

GitOps fa'aleleia fa'ata'ita'iga CI/CD o iai.

O se 'au'aunaga CI fa'aonaponei o se meafaigaluega fa'apipi'i. Aemaise lava, o se meafaigaluega mo le faʻatulagaina o paipa CI. O nei mea e aofia ai le fausiaina, suʻega, tuʻufaʻatasia i le ogalaau, ma isi. CI servers e faʻaautomatika le puleaina o paipa lavelave lavelave. O se fa'aosoosoga masani o le tusia lea o se seti o fa'afouga a Kubernetes ma fa'agasolo o se vaega o le paipa e tulei ai suiga i le fuifui. Ioe, o le mea lea e faia e le tele o tagata atamamai. Ae ui i lea, e le o se mea sili ona lelei, ma o le mafuaaga lea.

E tatau ona fa'aoga le CI e tulei ai fa'afouga i le ogalaau, ma e tatau ona sui le vaega Kubernetes e fa'atatau i na fa'afouga e pulea ai le CD i totonu. Matou te ta'ua toso ata mo CD, e le pei o le CI faʻataʻitaʻiga faʻataʻitaʻiga. O le CD o se vaega fa'asologa o ta'aloga.

Aisea e le tatau ai ona faia e CI Servers ni CD e ala i Fa'afouga Tu'usa'o ile Kubernetes

Aua le fa'aogaina se 'au'aunaga CI e fa'atulaga fa'afouga sa'o i Kubernetes o se seti o galuega CI. O le anti-mamanu lea tatou te talanoa ai ua uma ona ta'u atu i lau blog.

Tatou toe foi ia Alice ma Bob.

O ā faafitauli na latou fesagaʻia? Bob's CI server e faʻaaogaina suiga i le fuifui, ae afai e paʻu i le faagasologa, o le a le iloa e Bob pe o le a le tulaga o le fuifui (pe tatau) i totonu poʻo le auala e toe faʻaleleia ai. E faapena foi i le tulaga o le manuia.

Seʻi tatou faʻapea na fausia e le 'au a Bob se ata fou ona faʻapipiʻi lea o latou faʻagaioiga e faʻapipiʻi ai le ata (uma mai le paipa CI).

Afai o le ata e fausia masani, ae le manuia le paipa, e tatau i le 'au ona mafaufau:

  • Ua fa'alauiloa mai le fa'afouga?
  • O matou tatalaina se fale fou? O le a o'o atu ai i ni a'afiaga e le mana'omia - fa'atasi ai ma le avanoa e lua fau ai le ata e tasi e le mafai ona suia?
  • E tatau ona tatou faʻatali mo le isi faʻafouga aʻo leʻi faia le fausiaina?
  • O le a tonu le mea na tupu? O fea laasaga e tatau ona toe fai (ma o fea e saogalemu e toe fai)?

O le fa'atuina o se galuega fa'avae Git e le fa'amautinoa ai o le a le feagai le 'au a Bob ma nei fa'afitauli. E mafai lava ona latou faia se mea sese i le commit push, le tag, poʻo se isi parakalafa; ae ui i lea, o lenei faiga e sili atu ona latalata i se auala manino uma-pe-leai.

I se aotelega, o le mea lea e le tatau ai ona faʻaogaina e le au faila CI le CD:

  • Fa'afou tusitusiga e le o taimi uma e fa'amautu ai; E faigofie ona faia ni mea sese i totonu.
  • E le fa'afeso'ota'i le 'au'aunaga a le CI i le fa'ata'ita'iga fa'ata'ita'i.
  • E faigata ona fa'amaonia le fa'aletonu. E tatau i tagata fa'aoga ona malamalama i semantics loloto o le faiga.
  • E sili atu le faigata ona toe faʻaleleia mai se vaega o le toilalo.

Manatua e uiga i Helm: Afai e te manaʻo e faʻaaoga Helm, matou te fautuaina le tuʻufaʻatasia ma le GitOps operator pei ole Flux-Helm. O lenei mea o le a fesoasoani e faʻamautinoa le faʻatasi. O le foeuli lava ia e le o se fa'atonuga po'o se atomic.

GitOps o le auala sili lea e faʻatino ai le Faʻaauau Faʻasalalauga mo Kubernetes

Ua fa'atinoina e le 'au a Alice ma Bob GitOps ma iloa ai ua sili atu ona faigofie le galulue fa'atasi ma mea fa'akomepiuta, fa'atumauina le tulaga maualuga ma le mautu. Se'i fa'ai'u lenei tala i se fa'ata'ita'iga e fa'aalia ai foliga o la latou faiga fou. Ia manatua e tele lava ina matou talanoa e uiga i talosaga ma auaunaga, ae mafai ona faʻaoga GitOps e faʻatautaia ai se faʻavae atoa.

Fa'ata'ita'iga fa'atino mo Kubernetes

Vaai i le ata lenei. O loʻo tuʻuina atu Git ma le pusa ata faʻapipiʻi e avea ma punaoa fefaʻasoaaʻi mo le lua faʻasologa o le olaga:

  • O se paipa tu'ufa'atasiga faifaipea e faitau ma tusi faila i Git ma mafai ona fa'afouina se fa'amaumauga o ata atigipusa.
  • O le Runtime GitOps pipeline e tuʻufaʻatasia le faʻapipiʻiina ma le pulega ma le mataʻituina. E faitau ma tusi faila i Git ma mafai ona la'u mai ata o pusa.

O a mea autu na maua?

  1. Tuueseeseina o atugaluga: Faamolemole ia matau e na'o laina paipa e lua e mafai ona feso'ota'i e ala i le fa'afouina o le Git po'o le fale teu ata. I se isi faaupuga, o loʻo i ai se pa puipui i le va o CI ma le siʻosiʻomaga taimi. Matou te taʻua o le "puipuiga e le suia" (faiga afi e le suia), talu ai o fa'afouga fa'aputuga uma e fa'atupuina ai fa'amatalaga fou. Mo nisi fa'amatalaga i lenei autu, tagai i fa'ata 72-87 lenei fa'aaliga.
  2. E mafai ona e faʻaogaina soʻo se CI ma Git server: GitOps galue ma soʻo se vaega. E mafai ona e fa'aauau pea ona fa'aogaina au 'au'aunaga CI ma Git e sili ona e fiafia i ai, fale teu ata, ma su'ega su'ega. Toeitiiti lava o isi mea faigaluega Faʻaauau Faʻaauau i luga o le maketi e manaʻomia a latou lava CI / Git server poʻo le faʻaputu ata. E ono avea lea ma mea fa'atapula'a i le atina'eina o le cloud native. Faatasi ai ma GitOps, e mafai ona e faʻaogaina meafaigaluega masani.
  3. Mea na tutupu o se meafaigaluega tu'ufa'atasi: O le taimi lava e faʻafouina ai faʻamatalaga i Git, Weave Flux (poʻo le Weave Cloud operator) e logoina le taimi. Soo se taimi lava e talia ai e Kubernetes se seti suiga, e faʻafouina Git. E maua ai se fa'ata'ita'iga fa'atasi faigofie mo le fa'atulagaina o galuega mo GitOps, e pei ona fa'aalia i lalo.

iʻuga

GitOps e maua ai faʻamaoniga faʻafouina malosi e manaʻomia e soʻo se meafaigaluega CI / CD faʻaonapo nei:

  • otometi;
  • fa'atasi;
  • fa'aletonu;
  • fa'atonuga.

E taua tele lenei mea ona e ofoina atu se faʻataʻitaʻiga faʻatino mo le atinaʻe o le ao.

  • O meafaigaluega masani mo le puleaina ma le mataʻituina o faiga e fesoʻotaʻi ma 'au faʻagaioiga o loʻo faʻaogaina i totonu o se tusi faʻataʻitaʻi (se seti o faiga masani ma gaioiga - approx. transl.), nonoa i se fa'apipi'i fa'apitoa.
  • I le pulega o le ao, o meafaigaluega mata'ituina o le auala sili lea e fua ai i'uga o fa'agaioiga ina ia mafai ai e le au atina'e ona tali vave.

Vaai faalemafaufau i le tele o fuifui ua salalau solo i ao eseese ma le tele o auaunaga ma a latou lava au ma fuafuaga faʻapipiʻi. GitOps e ofoina atu se faʻataʻitaʻiga e le masani ai mo le puleaina o nei meaʻai.

PS mai faaliliu

Faitau foi i la matou blog:

Na'o tagata fa'aigoaina e mafai ona auai i le su'esu'ega. Saini ese j, faʻamolemole.

Na e iloa e uiga i GitOps aʻo leʻi faʻaalia nei faaliliuga e lua ile Habré?

  • Ioe, sa ou iloa mea uma

  • Na'o papa'u lava

  • leai

35 tagata fa'aoga na palota. 10 tagata fa'aoga na le fa'aaogaina.

puna: www.habr.com

Faaopoopo i ai se faamatalaga