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:
Se numera tele o faʻataʻitaʻiga ma tala;
Fa'amatalaga fa'apitoa o GitOps;
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:
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:
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:
I le faʻataʻitaʻiga Kubernetes, e mafai ona faʻamatalaina mea uma i le faʻaaliga faʻaalia.
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.
Ua lava ta'utinoga e fa'amatala ma fa'atautaia ai le tele o galuega eseese—“talosaga.”
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:
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
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.
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.
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.
O le tuufaatasiga e mulimuli. O lona faʻaalia e faʻaalia e:
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:
Le faʻataʻitaʻiga faʻataʻitaʻiga mo Kubernetes ma le cloud native o loʻo faʻamatalaina i luga.
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:
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).
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.
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?
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.
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.
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.