Menene GitOps?

Lura. fassara: Bayan buga kwanan nan abu game da hanyoyin ja da turawa a cikin GitOps, mun ga sha'awar wannan ƙirar gabaɗaya, amma akwai kaɗan wallafe-wallafen harshen Rashanci akan wannan batu (babu ɗaya akan Habré). Saboda haka, muna farin cikin ba da hankalin ku fassarar wani labarin - ko da yake kusan shekara guda da ta wuce! - daga Weaveworks, wanda shugaban wanda ya kirkiro kalmar "GitOps." Rubutun ya bayyana ma'anar hanyar da mahimmin bambance-bambance daga waɗanda suke.

Shekara daya da ta wuce mun buga Gabatarwa zuwa GitOps. A wancan lokacin, mun raba yadda ƙungiyar Weaveworks ta ƙaddamar da SaaS gabaɗaya bisa Kubernetes kuma ta haɓaka saiti na mafi kyawun ayyuka don turawa, sarrafawa, da saka idanu a cikin yanayin asalin girgije.

Labarin ya zama sananne. Wasu mutane sun fara magana game da GitOps kuma sun fara buga sabbin kayan aiki don git tura, ci gaba, asiri, ayyuka, ci gaba da haɗin kai da sauransu. Ya bayyana akan gidan yanar gizon mu adadi mai yawa wallafe-wallafe da GitOps amfani lokuta. Amma wasu mutane har yanzu suna da tambayoyi. Yaya samfurin ya bambanta da na gargajiya? kayayyakin more rayuwa azaman lamba da ci gaba da bayarwa (ci gaba da bayarwa)? Shin wajibi ne don amfani da Kubernetes?

Ba da daɗewa ba mun gane cewa ana buƙatar sabon bayanin, yana ba da:

  1. Yawancin misalai da labarai;
  2. Takamaiman ma'anar GitOps;
  3. Kwatanta tare da ci gaba da bayarwa na gargajiya.

A cikin wannan labarin mun yi ƙoƙari mu rufe duk waɗannan batutuwa. Yana ba da sabuntawar gabatarwa ga GitOps da mai haɓakawa da hangen nesa na CI/CD. Da farko muna mai da hankali kan Kubernetes, kodayake samfurin na iya zama gama gari.

Haɗu da GitOps

Ka yi tunanin Alice. Tana gudanar da Inshorar Iyali, wanda ke ba da inshorar lafiya, mota, gida, da kuma balaguron balaguro ga mutanen da suka shagaltu da gano abubuwan da ke cikin kwangilolin da kansu. Kasuwancinta ya fara ne a matsayin aikin gefe lokacin da Alice ke aiki a banki a matsayin masanin kimiyyar bayanai. Wata rana ta gane cewa za ta iya amfani da na'urorin kwamfuta na zamani don ƙarin nazarin bayanai da tsara fakitin inshora. Masu zuba jari ne suka dauki nauyin aikin, kuma a yanzu kamfaninta yana kawo sama da dala miliyan 20 a shekara kuma yana karuwa cikin sauri. A halin yanzu, tana daukar ma'aikata 180 a mukamai daban-daban. Wannan ya haɗa da ƙungiyar fasaha da ke haɓakawa, kula da gidan yanar gizon, bayanai, da kuma nazarin tushen abokin ciniki. Tawagar ta mutane 60 tana karkashin jagorancin Bob, daraktan fasaha na kamfanin.

Ƙungiyar Bob tana tura tsarin samarwa a cikin gajimare. Babban aikace-aikacen su yana gudana akan GKE, suna cin gajiyar Kubernetes akan Google Cloud. Bugu da ƙari, suna amfani da bayanai daban-daban da kayan aikin nazari a cikin aikinsu.

Inshorar Iyali bai tashi don amfani da kwantena ba, amma ya kama cikin sha'awar Docker. Ba da daɗewa ba kamfanin ya gano cewa GKE ya sauƙaƙe ƙaddamar da gungu don gwada sabbin abubuwa. Jenkins na CI da Quay an ƙara su don tsara rajistar akwati, an rubuta rubutun don Jenkins wanda ya tura sababbin kwantena da daidaitawa zuwa GKE.

Wani lokaci ya wuce. Alice da Bob sun ji takaici game da aikin da aka zaɓa na tsarin da suka zaɓa da kuma tasirinsa a kan kasuwanci. Gabatar da kwantena bai inganta yawan aiki ba kamar yadda ƙungiyar ta yi fata. Wani lokaci turawa kan karya, kuma ba a sani ba ko canje-canjen code ne ke da laifi. Hakanan ya zama mai wahala don bin diddigin canje-canjen saiti. Sau da yawa ya zama dole don ƙirƙirar sabon gungu kuma matsar da aikace-aikacen zuwa gare shi, tunda wannan ita ce hanya mafi sauƙi don kawar da ɓarna da tsarin ya zama. Alice ta ji tsoron cewa yanayin zai yi muni yayin da aikace-aikacen ya ci gaba (Bugu da ƙari, wani sabon aikin da aka yi akan koyo na na'ura yana tasowa). Bob ya sarrafa yawancin ayyukan kuma bai fahimci dalilin da yasa bututun ba har yanzu ba su tsaya ba, bai yi kyau ba, kuma yana buƙatar sa hannun hannu lokaci-lokaci?

Sannan sun koyi game da GitOps. Wannan shawarar ta zama daidai abin da suke buƙata don ci gaba da gaba gaɗi.

Alice da Bob sun kasance suna jin labarin Git, DevOps, da kayayyakin more rayuwa azaman ayyukan code na tsawon shekaru. Abin da ke da mahimmanci game da GitOps shine yana kawo saitin mafi kyawun ayyuka - duka tabbatacce da na al'ada - don aiwatar da waɗannan ra'ayoyin a cikin mahallin Kubernetes. Wannan jigon ya tashi akai-akai, ciki har da ciki Weaveworks blog.

Inshorar Iyali ta yanke shawarar aiwatar da GitOps. Kamfanin yanzu yana da tsarin aiki mai sarrafa kansa wanda ya dace da Kubernetes kuma yana haɗuwa gudun daga kwanciyar hankalisaboda su:

  • ya gano cewa aikin ƙungiyar ya ninka ba tare da wani ya yi hauka ba;
  • daina hidimar rubutun. Maimakon haka, yanzu za su iya mai da hankali kan sabbin abubuwa da inganta hanyoyin injiniya - alal misali, gabatar da sauye-sauye na canary da inganta gwaji;
  • mun inganta tsarin turawa ta yadda ba kasafai ya lalace ba;
  • ya sami damar dawo da tura sojoji bayan gazawar wani bangare ba tare da sa hannun hannu ba;
  • sayan amfaniоBabban amincewa ga tsarin bayarwa. Alice da Bob sun gano cewa za su iya raba ƙungiyar zuwa ƙungiyoyin microservice da ke aiki a layi daya;
  • zai iya yin 30-50 canje-canje ga aikin kowace rana ta hanyar ƙoƙarin kowane rukuni kuma gwada sababbin fasaha;
  • yana da sauƙi don jawo hankalin sababbin masu haɓakawa zuwa aikin, waɗanda ke da damar da za su fitar da sabuntawa zuwa samarwa ta amfani da buƙatun ja a cikin sa'o'i kadan;
  • a sauƙaƙe wuce dubawa a cikin tsarin SOC2 (don yarda da masu samar da sabis tare da buƙatun don amintaccen sarrafa bayanai; karanta ƙarin, misali, a nan - kimanin. fassara).

Me ya faru?

GitOps abubuwa biyu ne:

  1. Samfurin aiki don Kubernetes da ɗan ƙasan girgije. Yana ba da saiti mafi kyawun ayyuka don turawa, sarrafawa, da sa ido kan gungu da aikace-aikace. M ma'anar a cikin tsari slide daya daga Luis Faceira:
  2. Hanya don ƙirƙirar yanayin sarrafa aikace-aikacen mai haɓaka-centric. Muna amfani da aikin Git zuwa duka ayyuka da haɓakawa. Da fatan za a lura cewa wannan ba kawai game da turawa Git bane, amma game da tsara duk saitin kayan aikin CI/CD da UI/UX.

Kalmomi kaɗan game da Git

Idan baku saba da tsarin sarrafa sigar da aikin tushen Git ba, muna ba da shawarar koyo game da su sosai. Yin aiki tare da rassan da buƙatun ja na iya zama kamar sihirin baƙar fata a farkon, amma fa'idodin sun cancanci ƙoƙarin. nan kyau labarin fara.

Yadda Kubernetes ke aiki

A cikin labarinmu, Alice da Bob sun juya zuwa GitOps bayan sun yi aiki tare da Kubernetes na ɗan lokaci. Lallai, GitOps yana da alaƙa da Kubernetes - samfuri ne na aiki don abubuwan more rayuwa da aikace-aikace dangane da Kubernetes.

Menene Kubernetes ke ba masu amfani?

Ga wasu manyan siffofi:

  1. A cikin samfurin Kubernetes, duk abin da za a iya bayyana a cikin nau'i na sanarwa.
  2. Sabar Kubernetes API tana ɗaukar wannan sanarwar azaman shigarwa sannan ta ci gaba da ƙoƙarin kawo tarin cikin jihar da aka bayyana a cikin sanarwar.
  3. Sanarwa sun isa don bayyanawa da sarrafa nau'ikan ayyukan aiki iri-iri-“ aikace-aikace.”
  4. Sakamakon haka, canje-canje ga aikace-aikacen da tari suna faruwa saboda:
    • canje-canje a cikin hotuna na akwati;
    • canje-canje ga ƙayyadaddun shela;
    • kurakurai a cikin muhalli - alal misali, hadarurruka na kwantena.

Babban Haɗin Haɗin Kubernetes

Lokacin da mai gudanarwa ya yi canje-canjen tsari, ƙungiyar makaɗa ta Kubernetes zai yi amfani da su zuwa gungu muddin yanayinsa ya kasance. ba zai zo kusa da sabon sanyi ba. Wannan samfurin yana aiki don kowane albarkatun Kubernetes kuma ana iya haɓaka shi tare da Ma'anar Ma'anar Albarkatun Al'ada (CRDs). Don haka, tura Kubernetes suna da kyawawan kaddarorin masu zuwa:

  • Autom: Sabuntawar Kubernetes suna ba da tsari don sarrafa tsarin aiwatar da canje-canje cikin alheri kuma cikin lokaci.
  • Haɗuwa: Kubernetes zai ci gaba da ƙoƙarin sabuntawa har sai an yi nasara.
  • Rashin ƙarfi: Maimaita aikace-aikace na haɗuwa suna haifar da sakamako iri ɗaya.
  • Ƙaddara: Lokacin da albarkatu suka isa, yanayin gungu da aka sabunta ya dogara ne kawai akan yanayin da ake so.

Yadda GitOps ke aiki

Mun koyi isashen game da Kubernetes don bayyana yadda GitOps ke aiki.

Mu koma ga ƙungiyoyin ƙananan sabis na Inshorar Iyali. Me suka saba yi? Dubi jerin da ke ƙasa (idan wani abu a cikinsa ya yi kama da ban mamaki ko wanda ba a sani ba, don Allah a daina zargi kuma ku zauna tare da mu). Waɗannan misalai ne kawai na tushen ayyukan aiki na Jenkins. Akwai wasu matakai da yawa yayin aiki tare da wasu kayan aikin.

Babban abu shine muna ganin cewa kowane sabuntawa yana ƙare tare da canje-canje ga fayilolin sanyi da wuraren ajiyar Git. Waɗannan canje-canje ga Git suna haifar da "Ma'aikacin GitOps" don sabunta tarin:

1. Tsarin aiki: "Jenkins gina - babban reshe".
Jerin ayyuka:

  • Jenkins yana tura hotuna masu alamar zuwa Quay;
  • Jenkins yana tura saiti da sigogin Helm zuwa babban guga ajiya;
  • Ayyukan gajimare suna kwafin saiti da ginshiƙi daga babban bokitin ajiya zuwa babban ma'ajiyar Git;
  • Mai aiki da GitOps yana sabunta tarin.

2. Jenkins gini - reshe na saki ko hotfix:

  • Jenkins yana tura hotuna marasa alamar zuwa Quay;
  • Jenkins yana tura saiti da taswirar Helm zuwa guga ajiyar ajiya;
  • Ayyukan gajimare suna kwafin saiti da ginshiƙi daga bukitin ajiya mai tanadi zuwa ma'ajiyar Git;
  • Mai aiki da GitOps yana sabunta tarin.

3. Jenkins gini - haɓaka ko fasalin reshe:

  • Jenkins yana tura hotuna marasa alamar zuwa Quay;
  • Jenkins yana tura saiti da sigogin Helm a cikin bokitin haɓaka;
  • Ayyukan gajimare suna kwafin saiti da sigogi daga bunƙasa ajiya na bokiti zuwa haɓaka ma'ajiyar Git;
  • Mai aiki da GitOps yana sabunta tarin.

4. Ƙara sabon abokin ciniki:

  • Manajan ko mai gudanarwa (LCM/ops) ya kira Gradle don fara turawa da daidaita ma'aunin ma'auni na cibiyar sadarwa (NLBs);
  • LCM/ops sun yi sabon saiti don shirya turawa don sabuntawa;
  • Mai aiki da GitOps yana sabunta tarin.

Takaitaccen bayanin GitOps

  1. Bayyana yanayin da ake so na gabaɗayan tsarin ta amfani da ƙayyadaddun ƙayyadaddun bayanai don kowane yanayi (a cikin labarinmu, ƙungiyar Bob ta bayyana duk tsarin tsarin a Git).
    • Ma'ajiyar Git ita ce tushen gaskiya guda ɗaya game da yanayin da ake so na gabaɗayan tsarin.
    • Duk canje-canje zuwa yanayin da ake so ana yin su ta hanyar aikatawa a Git.
    • Ana iya lura da duk sigogin gungu da ake so a cikin gungu kanta. Ta wannan hanyar za mu iya sanin ko sun zo daidai (converge, haduwa) ko daban-daban (bambanta, bambanta) jihohin da ake so da lura.
  2. Idan jihohin da ake so da abin lura sun bambanta, to:
    • Akwai hanyar haɗin kai wanda ba dade ko ba dade yana daidaita maƙasudi da jihohin da aka lura ta atomatik. A cikin gungu, Kubernetes yana yin wannan.
    • Tsarin yana farawa nan da nan tare da faɗakarwa "canji da aka yi".
    • Bayan ɗan lokaci mai daidaitawa, ana iya aika faɗakarwa ta “diff” idan jihohin sun bambanta.
  3. Ta wannan hanyar, duk aikatawa a cikin Git yana haifar da tabbataccen sabuntawa da haɓakawa ga tari.
    • Rollback shine haɗuwa zuwa yanayin da ake so a baya.
  4. Haɗin kai shine ƙarshe. Ana nuna faruwar sa ta:
    • Babu faɗakarwa daban-daban na ɗan lokaci.
    • faɗakarwa "mai haɗawa" (misali webhook, taron rubutun Git).

Menene bambance-bambance?

Mu sake maimaitawa: dole ne a lura da duk kaddarorin gungu da ake so a cikin gungu kanta.

Wasu misalan bambance-bambance:

  • Canji a cikin fayil ɗin sanyi saboda haɗa rassan a Git.
  • Canji a cikin fayil ɗin daidaitawa saboda aikin Git wanda abokin ciniki na GUI ya yi.
  • Canje-canje da yawa zuwa yanayin da ake so saboda PR a Git wanda ke biye da gina hoton akwati da canza canje-canje.
  • Canji a yanayin gungu saboda kuskure, rikicin albarkatun da ke haifar da "mummunan ɗabi'a", ko kuma kawai bazuwar karkata daga asalin asalin.

Menene tsarin haduwa?

Bayanan misalai:

  • Don kwantena da tari, Kubernetes ne ke samar da hanyar haɗuwa.
  • Ana iya amfani da wannan hanyar don sarrafa aikace-aikacen tushen Kubernetes da ƙira (kamar Istio da Kubeflow).
  • Hanya don sarrafa hulɗar aiki tsakanin Kubernetes, wuraren ajiyar hoto da Git yana samarwa Kamfanin GitOps Weave Flux, wanda bangare ne Saƙa Cloud.
  • Don injunan tushe, tsarin haɗin kai dole ne ya zama sanarwa kuma mai cin gashin kansa. Daga namu kwarewa za mu iya cewa Terraform mafi kusa da wannan ma'anar, amma har yanzu yana buƙatar kulawar ɗan adam. A cikin wannan ma'ana, GitOps yana faɗaɗa al'adar Infrastructure azaman Code.

GitOps ya haɗu da Git tare da ingantacciyar ingin haɗin kai na Kubernetes don samar da samfuri don amfani.

GitOps ya ba mu damar cewa: Waɗannan tsarin kawai waɗanda za a iya siffanta su da kiyaye su za a iya sarrafa su ta atomatik da sarrafa su.

GitOps an yi niyya ne don ɗaukacin tari na asalin girgije (misali, Terraform, da sauransu)

GitOps ba Kubernetes bane kawai. Muna son gaba dayan tsarin a tafiyar da su cikin sanarwa kuma a yi amfani da haɗin kai. Ta hanyar dukan tsarin muna nufin tarin yanayin da ke aiki tare da Kubernetes - alal misali, "dev cluster 1", "samarwa", da dai sauransu Kowane yanayi ya haɗa da inji, gungu, aikace-aikace, da kuma musaya don ayyukan waje waɗanda ke ba da bayanai, saka idanu. da sauransu.

Lura yadda mahimmancin Terraform ke da matsala ga matsalar bootstrapping a wannan yanayin. Dole ne a tura Kubernetes wani wuri, kuma ta amfani da Terraform yana nufin za mu iya amfani da aikin GitOps iri ɗaya don ƙirƙirar layin sarrafawa wanda ke ƙarƙashin Kubernetes da aikace-aikace. Wannan kyakkyawan aiki ne mai amfani.

Akwai mai da hankali sosai kan amfani da ra'ayoyin GitOps zuwa yadudduka a saman Kubernetes. A halin yanzu, akwai nau'ikan nau'ikan GitOps don Istio, Helm, Ksonnet, OpenFaaS da Kubeflow, da kuma, alal misali, don Pulumi, wanda ke ƙirƙirar Layer don haɓaka aikace-aikace don asalin girgije.

Kubernetes CI/CD: kwatanta GitOps tare da sauran hanyoyin

Kamar yadda aka fada, GitOps abubuwa biyu ne:

  1. Samfurin aiki don Kubernetes da ɗan ƙasan girgije da aka kwatanta a sama.
  2. Hanyar zuwa yanayin sarrafa aikace-aikacen mai haɓaka-centric.

Ga mutane da yawa, GitOps da farko aikin aiki ne dangane da turawar Git. Mu ma muna son shi. Amma wannan ba duka ba: bari yanzu mu kalli bututun CI/CD.

GitOps yana ba da damar ci gaba da turawa (CD) don Kubernetes

GitOps yana ba da tsarin ci gaba da turawa wanda ke kawar da buƙatar “tsarin sarrafa turawa” daban. Kubernetes yana yin duk aikin a gare ku.

  • Ana ɗaukaka aikace-aikacen yana buƙatar sabuntawa a Git. Wannan sabuntawar ciniki ne zuwa yanayin da ake so. "Tsarin" ana yin shi a cikin gungu ta Kubernetes da kansa bisa bayanin da aka sabunta.
  • Saboda yanayin yadda Kubernetes ke aiki, waɗannan sabuntawa suna haɗuwa. Wannan yana ba da tsari don ci gaba da turawa wanda duk ɗaukakawa ta atomatik ne.
  • Note: Saƙa Cloud yana ba da ma'aikacin GitOps wanda ya haɗa Git da Kubernetes kuma yana ba da damar yin CD ta hanyar daidaita yanayin da ake so da halin yanzu na tari.

Ba tare da kubectl da rubutun ba

Ya kamata ku guji amfani da Kubectl don sabunta tarin ku, kuma musamman guje wa yin amfani da rubutun zuwa rukunin umarnin kubectl. Madadin haka, tare da bututun GitOps, mai amfani zai iya sabunta gungu na Kubernetes ta Git.

Amfanin sun haɗa da:

  1. Dama. Ana iya amfani da rukuni na sabuntawa, haɗawa kuma a ƙarshe ingantacce, yana kawo mu kusa da manufar tura atomic. Sabanin haka, yin amfani da rubutun baya bada garantin haɗuwa (ƙari akan wannan a ƙasa).
  2. Tsaro. Magana Kelsey Hightower: "Ƙuntata damar zuwa gungu na Kubernetes zuwa kayan aikin sarrafa kansa da masu gudanarwa waɗanda ke da alhakin gyara ko kiyaye shi." duba kuma littafina game da aminci da yarda da ƙayyadaddun fasaha, kazalika labarin game da hacking Homebrew ta hanyar satar takaddun shaida daga rubutun Jenkins na rashin kulawa.
  3. Kwarewar mai amfani. Kubectl yana fallasa injiniyoyin ƙirar abin Kubernetes, waɗanda ke da sarƙaƙƙiya. Da kyau, masu amfani yakamata suyi hulɗa tare da tsarin a matakin mafi girma na abstraction. Anan zan sake komawa zuwa Kelsey kuma in bada shawarar kallo irin wannan ci gaba.

Bambanci tsakanin CI da CD

GitOps yana haɓaka samfuran CI/CD da ke wanzu.

Sabar CI na zamani kayan aiki ne na ƙungiyar makaɗa. Musamman, kayan aiki ne don tsara bututun CI. Waɗannan sun haɗa da ginawa, gwaji, haɗawa zuwa akwati, da sauransu. Sabar CI suna sarrafa sarrafa sarrafa bututun matakai masu yawa. Jaraba ta gama gari ita ce rubuta saitin sabuntawar Kubernetes kuma gudanar da shi azaman wani ɓangare na bututun don tura canje-canje zuwa tari. Lallai wannan shine abin da masana da yawa ke yi. Duk da haka, wannan ba shine mafi kyau ba, kuma a nan ne dalilin da ya sa.

Ya kamata a yi amfani da CI don tura sabuntawa zuwa gangar jikin, kuma gungun Kubernetes ya kamata ya canza kanta bisa waɗannan sabuntawa don sarrafa CD a ciki. Muna kiransa ja model don CD, sabanin tsarin CI turawa. CD bangare ne runtime orchestration.

Me yasa Sabar CI ba za ta yi CD ba ta hanyar Sabuntawa kai tsaye a Kubernetes

Kada kayi amfani da uwar garken CI don tsara sabuntawa kai tsaye zuwa Kubernetes azaman saitin ayyukan CI. Wannan ita ce tsarin da muke magana akai an riga an fada a kan blog.

Mu koma ga Alice da Bob.

Wadanne matsaloli suka fuskanta? Sabar CI ta Bob tana amfani da canje-canje ga gungu, amma idan ya fado a cikin tsari, Bob ba zai san halin da tarin yake (ko ya kamata ya kasance) a ciki ko yadda za a gyara shi ba. Haka lamarin yake idan aka samu nasara.

Bari mu ɗauka cewa ƙungiyar Bob ta gina sabon hoto sannan kuma ta daidaita ayyukansu don tura hoton (duk daga bututun CI).

Idan hoton yana ginawa akai-akai, amma bututun ya gaza, ƙungiyar zata gano:

  • An fitar da sabuntawar?
  • Shin muna ƙaddamar da sabon gini? Shin hakan zai haifar da illolin da ba dole ba - tare da yuwuwar samun ginin gine-gine guda biyu na hoton da ba ya canzawa?
  • Ya kamata mu jira sabuntawa na gaba kafin gudanar da ginin?
  • Me ya faru daidai? Wadanne matakai ne ya kamata a maimaita (kuma waɗanne ne ke da aminci don maimaitawa)?

Ƙirƙirar tsarin aiki na tushen Git baya bada garantin cewa ƙungiyar Bob ba za ta fuskanci waɗannan matsalolin ba. Har yanzu suna iya yin kuskure tare da turawa, alamar, ko wani siga; duk da haka, wannan hanyar har yanzu tana kusa da wata hanya ta zahiri ko-kowa.

Don taƙaitawa, ga dalilin da ya sa CI sabobin bai kamata su yi hulɗa da CD ba:

  • Sabunta rubutun ba koyaushe ba ne masu kayyadewa; Yana da sauƙi a yi kuskure a cikinsu.
  • Sabar CI ba sa haɗuwa zuwa ƙirar gungu mai bayyanawa.
  • Yana da wahala a ba da garantin ƙarfin hali. Dole ne masu amfani su fahimci zurfin fassarar tsarin.
  • Zai fi wahala murmurewa daga gazawar wani bangare.

Bayanan kula game da Helm: Idan kuna son amfani da Helm, muna ba da shawarar haɗa shi tare da ma'aikacin GitOps kamar Flux-Helm. Wannan zai taimaka tabbatar da haɗuwa. Helm kanta ba deterministic ko atomic.

GitOps a matsayin hanya mafi kyau don aiwatar da Isar da Ci gaba don Kubernetes

Alice da ƙungiyar Bob suna aiwatar da GitOps kuma sun gano cewa ya zama mafi sauƙi don aiki tare da samfuran software, kiyaye babban aiki da kwanciyar hankali. Bari mu kawo karshen wannan labarin da misalin da ke nuna yadda sabuwar hanyarsu ta kasance. Ka tuna cewa galibi muna magana ne game da aikace-aikace da ayyuka, amma ana iya amfani da GitOps don sarrafa duk wani dandamali.

Samfurin aiki don Kubernetes

Dubi zane mai zuwa. Yana gabatar da Git da ma'ajiyar hoton kwantena azaman albarkatun da aka raba don tsarin rayuwa guda biyu:

  • Bututun haɗin kai mai ci gaba wanda ke karantawa da rubuta fayiloli zuwa Git kuma yana iya sabunta ma'ajiyar hotunan ganga.
  • Bututun Runtime GitOps wanda ya haɗu da turawa tare da gudanarwa da lura. Yana karantawa da rubuta fayiloli zuwa Git kuma yana iya sauke hotunan ganga.

Menene babban binciken?

  1. Rabuwar damuwaLura cewa duka bututun biyu na iya sadarwa kawai ta sabunta Git ko wurin ajiyar hoto. A wasu kalmomi, akwai tacewar wuta tsakanin CI da yanayin lokacin aiki. Muna kiranta "Tacewar wuta mai lalacewa" (inmutability Firewall), tunda duk sabuntawar ma'ajiyar suna ƙirƙirar sabbin nau'ikan. Don ƙarin bayani kan wannan batu, duba nunin faifai 72-87 wannan gabatarwa.
  2. Kuna iya amfani da kowane CI da uwar garken Git: GitOps yana aiki tare da kowane bangare. Kuna iya ci gaba da amfani da sabar CI da Git da kuka fi so, wuraren adana hotuna, da rukunin gwaji. Kusan duk sauran kayan aikin isar da ci gaba a kasuwa suna buƙatar sabar CI/Git nasu ko ma'ajin hoto. Wannan na iya zama abin iyakancewa a cikin haɓakar ɗan ƙasan girgije. Tare da GitOps, zaku iya amfani da kayan aikin da kuka saba.
  3. Abubuwan da suka faru a matsayin kayan aikin haɗin kai: Da zaran an sabunta bayanai a cikin Git, Weave Flux (ko ma'aikacin Weave Cloud) yana sanar da lokacin aiki. Duk lokacin da Kubernetes ya karɓi saitin canji, Git ana sabunta shi. Wannan yana ba da samfurin haɗin kai mai sauƙi don tsara ayyukan aiki don GitOps, kamar yadda aka nuna a ƙasa.

ƙarshe

GitOps yana ba da garantin sabuntawa mai ƙarfi da kowane kayan aikin CI/CD na zamani ke buƙata:

  • sarrafa kansa;
  • haɗuwa;
  • rashin ƙarfi;
  • ƙaddara.

Wannan yana da mahimmanci saboda yana ba da samfurin aiki don masu haɓaka asalin girgije.

  • Kayan aikin al'ada don sarrafawa da tsarin sa ido suna da alaƙa da ƙungiyoyin aiki da ke aiki a cikin littafin gudu (saitin tsare-tsare da ayyuka na yau da kullun - kusan transl.), daura da takamaiman turawa.
  • A cikin gudanarwa na asali na girgije, kayan aikin lura shine hanya mafi kyau don auna sakamakon turawa ta yadda ƙungiyar ci gaba za ta iya amsawa da sauri.

Ka yi tunanin gungu da yawa sun warwatse a cikin gajimare daban-daban da ayyuka da yawa tare da ƙungiyoyin su da tsare-tsaren turawa. GitOps yana ba da sikeli-marasa bambanci don sarrafa duk wannan wadatar.

PS daga mai fassara

Karanta kuma a kan shafinmu:

Masu amfani da rajista kawai za su iya shiga cikin binciken. Shigadon Allah.

Shin kun san game da GitOps kafin waɗannan fassarorin biyu su bayyana akan Habré?

  • Eh, na san komai

  • Sai kawai a zahiri

  • Babu

Masu amfani 35 sun kada kuri'a. Masu amfani 10 sun kaurace.

source: www.habr.com

Add a comment