Quid est GitOps?

Nota. transl.: Post recentem publicationem materiales De modos in GitOps viverra et dis, in hoc exemplari in genere cura vidimus, sed perpaucae sunt publicationes Russicae-linguae de hoc argumento (sunt simpliciter nullae in Habré). Quare libenter operam tuam dare volumus translationem alterius articuli — etsi fere ante annum! — a tela, cuius caput vocabulum GitOps effinxit. Auctoritas explicat quidditas accessus et differentias ab entibus.

Ante annum egimus introductio ad GitOps. Revertere ergo nos communicavimus quomodo turmae textoriae Saas in Kubernetes omnino fundatae et elaboraverunt praescriptionum optimarum observationum instituendi, administrandi, et vigilantiae in nube nativi loci.

Articulus popularis evasit. Alii homines de GitOps loqui inceperunt et nova instrumenta edere inceperunt git dis, consilio, secreta, munus, continua integration et sic porro. Apparuit in nostro loco multum editis et GitOps casibus utuntur. Sed aliqui adhuc habent quaestiones. Quomodo exemplar differt a tradito? infrastructure ut codice et continua traditio (continua partum)? Num necesse est Kubernetes uti?

Mox intelleximus novam descriptionem offerentes necessariam esse;

  1. Exempla magna et fabularum;
  2. Imprimis definitio GitOps;
  3. Comparatio traditionum continua traditio.

In hoc articulo omnia haec argumenta contegere conati sumus. GitOps ac elit et CI/CD prospectum renovatum praebet. Nos imprimis Kubernetes intendunt, quamvis exemplar generativus esse possit.

occursum GitOps

Alicia finge. Fugit illa Familiae Insurance, quae salutem, auto, domum, et assecurationem itinerariorum praebet hominibus qui nimis occupatus sunt ad ins et foris se contractuum instar. Negotium eius incepit ut partem project cum Alicia ad ripam operabatur ut notitia physicus. Olim intellexit se algorithmis computatoriis provectis uti ad efficacius analysim datam ac sarcinas assecurationis formandas. Obsido consilium finxerunt, et nunc societas eius plus quam $20 miliones in anno inducit et celeriter crescit. Nunc, 180 homines variis in locis utitur. Hoc includit turmas technicas quae enucleat, retinet locum, datorum, ac turpissimum analyses. Manipulus 60 hominum a Bob ducitur, director technici societatis.

Turma Bob instrumentorum productionis in nube explicat. Mediae applicationes in GKE currunt, adhibitis Kubernetibus in Google Cloud. Praeterea variis notitiis et instrumentis analyticis in suo opere utuntur.

Familia assecurationis notis utendis vasis non exposuit, sed in studio Docker comprehendit. Societas mox inventa est GKE eam facilem racemis explicandis ad novas rationes probandas fecit. Jenkins pro CI et Quay ad registram continens additae sunt, scripta scripta sunt pro Jenkins quae nova continentia et figurationes GKE impulit.

Tempus aliquod praeteriit. Alicia et Bob decepti sunt in observantia electi adventus et negotiorum incursio. Continentium introductio non emendavit fructibus quantum speraverat manipulus. Interdum instruere frangerentur, et obscurum erat num codicem mutationes reprehenderent. Etiam evasit difficiles mutationes config vestigare. Saepe necessarium fuit novum botrum creari et applicationes ad eam movere, quia hoc modo facillimum erat ad tollendam escam quae ratio facta est. Alicia veritus est ne res peior fieret sicut applicationis progressionis (praeter novum consilium in machina discendi concoquebat). Bob automated plurimum laboris habuit et non intellexit cur pipeline adhuc instabilis esset, bene non scandere, et interventus manuales periodice requiri?

Tunc de GitOps cognoverunt. Hoc consilium evasit prorsus ut quid opus esset confidenter progredi.

Alicia et Bob audiverunt de Git, DevOps, et infrastructuram sicut codicem workflows pro annis. Quod singulare de GitOps est, quod affert exercitia optima, tam definitiva quam normativa, ad has ideas in contextu Kubernetes exsequendas. Hoc argumentum resurrexit saepe, comprehendo in Textilia blog.

Familia insurance statuit GitOps efficiendi. Societas nunc exemplar operationis automated habet quod cum Kubernetes componi et coniungi potest celeritas ex stabilitasquia;

  • inventum est bigas productivitatem duplicatam sine aliquo insanire;
  • cessaverunt servientes scripta. Sed nunc novas notas intendunt et methodos technicas emendare possunt - exempli gratia, canariis rollouts inducendis et probatis melioribus;
  • processum instruere emendavimus ut raro frangatur;
  • occasionem instruere post partiales defectiones sine interventu manuali restituendi;
  • emit ususоMaior fiducia in systematis traditionis. Alicia et Bob detexerunt se posse iunctos in microserviis iunctos in parallelis laborantes dividere;
  • 30-50 mutationes in incepto cotidie efficere possunt per uniuscuiusque coetus industriam et novas artes conari;
  • facile est novas tincidunt ad consilium allicere, qui facultatem habent evolvendi updates ad productionem producendi utendi petitiones intra paucas horas;
  • facile audit intra SOC2 " (pro obsequio servitii provisoribus cum requisitis ad procurationem securam datam; lege plura, e.g. hic — proxime. transl.).

Quid accidit?

GitOps duo sunt;

  1. Exemplar operationale ad Kubernetes et nubes vernacula. Exercitia optimae copiae praebet ad explicandas, administrandas, et vigilantias uvas et applicationes continens. Elegans definitio in forma unus slide ex Ludovicus Faceira:
  2. Via ad applicationem administrationis elit centri-caeli creandi. Git workflow ad utrumque applicamus operationes et evolutionem. Quaeso nota hoc non solum de Git pulsus, sed de instrumentorum instrumentorum instrumentorum instrumentis ordinandis tota CI/CD et UI/UX ordinandis.

Pauca de Git

Si non nota cum versionis rationum temperantia et in workflu Git-fundatur, doctrina de illis tractet. In ramis laborantes et petitiones trahere possunt sicut magicae nigrae primo videntur, sed beneficia operae pretium sunt. Hic articulus bonum, incipere.

Quomodo Kubernetes operatur

In fabula nostra, Alice et Bob ad GitOps conversa sunt postquam aliquandiu laboratum cum Kubernetibus. Re vera, GitOps Kubernetes propinqua est - exemplar operationis est infrastructurae et applicationes in Kubernetes fundatae.

Quid Kubernetes dat users?

Hic sunt quaedam lineamenta praecipua:

  1. In exemplari Kuberneto omnia in forma declarativa describi possunt.
  2. Kubernetes API cultor hanc declarationem tamquam input sumit ac deinde continenter intendit botrum in statum in declaratione descriptum adducere.
  3. Declarationes sufficientes sunt ad describendam et administrandam varietatem laboribus "applicationibus."
  4. Quam ob rem, mutationes applicationis et botri accidunt;
    • mutationes in vase imaginum;
    • mutationes ad specificationem declarativam;
    • errores in ambitu - exempli gratia continens fragores.

Kubernetes 'Magna Convergence Capabilities'

Cum administrator configurationem mutaverit, orchestrator Kubernetes ad botrum applicabit quamdiu status eius est. non accedet ad novam configurationem. Hoc exemplum cuilibet ope Kubernetes laborat et extensum est cum Custom Resource Definitions (CRDs). Ideo Kubernetes instruxit sequentes proprietates mirificas;

  • automation: Kubernetes updates mechanismum automate praebent processum applicandi mutationes lepide et tempestive.
  • Tempus: Kubernetes updates usque ad felicem temptaturum perget.
  • Idempotentia: Repetita applicationes confluentiae ad eundem exitum ducunt.
  • Determinism: Cum facultates sufficiunt, status botri renovati solum in desiderato statu pendet.

Quam GitOps operatur

Satis didicimus de Kubernetibus quomodo GitOps opera explicet.

Revertamur ad Familiae ipsum microservices iunctos. Quid facere solent? Indicem infra vide (si quae res in eo alienae vel ignotae videntur, desine quaeso reprehendere et nobiscum manere). Haec iusta sunt exempla Jenkins operantium innixa. Plures alii sunt processus cum aliis instrumentis operando.

Summa est, quod videmus singulas renovationes cum mutationibus conformationis et Git repositoria terminare. Hae mutationes Git causa "GitOps operator" ad botrum renovandum;

Processus 1.Working "Jenkins aedificare - dominus ramus".
Negotium album:

  • Jenkins impellit imagines tagged ad Quai;
  • Jenkins pellat config et Helm chartas ad situlam repositionis magistri;
  • Munus nubis exemplaribus config et chartis situlae a magistro magistro Git repositorium;
  • GitOps operator botrum renovat.

2. Jenkins aedificate - release vel hotfix ramus:

  • Jenkins imagines incultas impellit ad Quai;
  • Jenkins pellat config et Helm chartis ad situlam choragiam;
  • Munus nubis exemplaribus config et chartis ex situla choragii ad Git repositorium choragi;
  • GitOps operator botrum renovat.

3. Jenkins aedificare - develop aut pluma ramus:

  • Jenkins imagines incultas impellit ad Quai;
  • Jenkins pellat config et Helm chartis in situla reposita enucleata;
  • Munus nubis exemplaribus config et chartis ex situla enucleata ad evolutionem repositorii Git;
  • GitOps operator botrum renovat.

4. Addit novum client:

  • Praepositus vel administrator (LCM/ops) Gradle vocat ut initio explicandi et retis oneris librarios conformes (NLBs);
  • LCM/ops novam config committit ut instruere pro updates praeparanda;
  • GitOps operator botrum renovat.

Brevis descriptio GitOps

  1. Describere statum desideratum totius systematis utens specificationibus declarativis pro singulis ambitus (in fabula nostra, turma Bob's totius systematis configurationis in Git definit).
    • Reconditorium Git unicus fons est veritatis quoad optatum totius systematis statum.
    • Omnes mutationes ad desideratum statum fiunt per Comme- in Git.
    • Parametri omnes botri desideratissimi etiam in ipso botro conspiciuntur. Hoc modo determinare possumus utrum conveniant. confluere) Vel differre (divergere, PRAEVARICOR) Civitates optatae et observatae.
  2. Si respublicae desideratae et observatae differant, tunc;
    • Confluentia mechanismus est, quae citius aut serius sponte scopo conformat ac civitates observat. Intra botrum hoc facit Kubernetes.
    • Processus statim incipit cum "mutatione commissa" erecta.
    • Post aliquod temporis spatium configurabile, "diss" vigilandum mitti potest si status diversi sint.
  3. Hoc modo omnia in Git causa verifiabiles et idempotent updates botri committit.
    • Reversio est concursus ad statum antea desideratum.
  4. Confluentia ultima est. Eventum eius indicant;
    • Nullam in summis diss aliquam tempus.
    • "concursus" erectus (eg webhook, Git writeback event).

Quid est distinctio?

Iterum repetamus: omnes proprietates botri desideratae notabiles sunt in ipso botro.

Exempla quaedam discrepantiae:

  • Mutatio in configuration file ob calami bus in Git.
  • Mutatio in schemate de configuratione debita Git committendo a GUI cliente facta.
  • Multiplices mutationes status desiderati propter PR in Git aedificando imaginem continens et mutationes config.
  • Mutatio in statu botri propter errorem, conflictus resource consequitur in "moribus moribus", vel simpliciter deviatio temere ab originali statu.

Quid est concursus machina?

Pauca ea sunt:

  • Pro vasis et botris concursus mechanismus a Kubernetibus providetur.
  • Eadem mechanismus adhiberi potest ut Kubernetes-substructio applicationes et consilia (ut Istio et Kubeflow administrare).
  • Mechanismus ad operandum commercium perficiendum inter Kubernetes, repositoria imaginis et Git praebet GitOps operator texere fluxumquae est pars Nubes texere.
  • Pro turpibus machinis, concursus mechanismus declarativus et sui iuris esse debet. Ex nostra experientia possumus dicere Terraform proxima huic definitioni, sed tamen requirit humanam potestatem. Hoc sensu GitOps traditionem Infrastructure extendit in Codice.

GitOps Git coniungit cum egregia concursu Kubernetarum machinam ad exemplum abusionis praebendum.

GitOps nobis permittit dicere; Solae systemata illa quae describi et observari possunt, automated et moderari possunt.

GitOps toti nubis acervus indigena destinatur (exempli gratia Terraform, etc.)

GitOps Kubernetes non modo est. Tota ratio agi volumus declarative et usui confluentiae. In universum systema intelligimus collectionem ambituum operantium cum Kubernetes, exempli gratia "dev botri 1", "productionis", etc. Singulae ambitus includit machinas, ligaturas, applicationes, nec non interfaces ad officia externa quae notitias praebent, vigilantia. quod etc.

Animadverte quam magna Terraform sit ad problema solvendum in hoc casu. Kubernetes alicubi explicandos esse et per Terraformam ope uti possumus, easdem operas GitOps adhibere ad lavacrum imperium quod Kubernetes et applicationes underpins creandi. Hoc est utile praxi.

Fortis focus est ad notiones GitOps applicandas super Kubernetes stratis. In momento solutiones generum GitOps sunt Istio, Helm, Ksonnet, OpenFaaS et Kubeflow, ac exempli gratia Pulumi, quae accumsan applicationes evolutionis ad nubes indigenas efficiunt.

Kubernetes CI/CD: comparet GitOps cum aliis accessibus

sicut dictum est, GitOps duo sunt;

  1. Exemplar operandi apud Kubernetes et nubes indigenas de quibus supra.
  2. Semita ad applicationem elit adipiscing elit.

Pro multis, GitOps primario est workflow quam in Git impellit. Eum nobis etiam ut. Sed non omnes: videamus nunc pipelines CI/CD.

GitOps dat continuam instruere (CD) pro Kubernetes

GitOps continuam instruere mechanismum praebet quae removet necessitatem separatorum "ratio systematum instruere". Kubernetes facit omnia opera tua.

  • Applicatio adaequationis requirit adaequationis in Git. Haec renovatio transactionalis ad desideratum statum est. "Instruere" deinde fit intra botrum ab ipso Kubernetes innixa descriptione renovata.
  • Ob naturam quemadmodum Kubernetes operantur, hae renovationes confluunt. Hoc praebet mechanismum ad instruere continuam in qua omnes renovationes atomicae sunt.
  • Note: Nubes texere operator GitOps praebet qui Git et Kubernetes integrat et CD perfici sinit, statum botri desideratum et hodiernum reconcilians.

Sine kubectl et scriptor

Kubectl uti vitare debes ad botrum renovandum, et praesertim scripta ad kubectl mandata utens. Instead, cum GitOps pipelines, utentis suis Kubernetes botrum per Git renovare potest.

Beneficia complectitur:

  1. ius. Coetus renovationum applicari potest, conglobari et tandem convalescere, nos propius ad metam instruere atomorum. E contra, utens scriptoribus fidem non praebet concursus (plura de hoc infra).
  2. salutem. Quoting Kelsey Hightower: "Restringere accessum ad Kubernetes botrum ad automationem instrumentorum et administratorum qui responsales sunt debugging vel conservando". vide quoque mihi publication de salute et obsequio cum technicis specificationibus, ac articulus de hacking Homebrew surripere documentorum ex negligenter Jenkins script.
  3. Usus User. Kubectl mechanicas Kubernetes obiecti exemplar exponit, quae sunt satis implicatae. Specimen, utentes penitus cum systema abstractionis in altiori gradu debent. Iterum hic referam ad Kelsey et vigilantes commendo Proin tali.

Differentia inter CI et CD

GitOps meliorem esse CI/CD exempla.

A modernus CI servo instrumentum orchestrationis est. Praesertim instrumentum ad pipelines CI orchestrating. Haec includunt constructum, test, ad truncum iungunt, etc. CI servientes automate administrationem pipelines multi-gradus complexi. Communis tentatio est certas renovationes Kubernetes scribere et quasi partem pipelini currere ad mutationes botri impellendas. Hoc enim faciunt multi periti. Sed non bene, et hic quid.

CI utendum est ad trunci dis updates utendum, et botrus Kubernetes se mutare debet ab his updates ut interne CD administraret. Nos vocamus viverra exemplar pro CDdissimile exemplum CI dis. CD est pars runtime orchestration.

Quare CI Servers non facient CD per Direct Updates in Kubernetes

Noli uti servo CI ad orchestrandum directas updates to Kubernetes sicut statuto CI jobs. Hoc est anti-exemplum loquimur iam dixi in vestri blog.

Eamus ad Aliciam et Bob.

Quod problems in faciem sunt? Bob's servo CI mutationes ad botrum applicat, sed si in processu incidit, Bob nesciet qualis botrus (vel esse debet) vel quomodo eum reficere. Idem in casu.

Sumamus equos Bobis imaginem novam aedificasse ac deinde suas rationes disjicere ad imaginem explicandam (omnia a CI pipelino).

Si imago normaliter aedificet, sed pipelinea deficiat, manipulus figurare debebit;

  • Habet update involutus?
  • Nos novum aedificamus? Hoccine ducet ad latus effectus supervacuos — cum possibilitas habere duas aedificationes eiusdem immutabilis imaginis?
  • Oportet expectare ad proximam update ante currit aedificare?
  • Quidnam erravit? Quibus gradibus opus est iterari (et quae tuta sunt repetere)?

Git-fundatur workflow constituere non spondet turmas Bob has difficultates non amittas. Possunt adhuc errare cum impulsus, theca, vel aliquo alio modulo committere; attamen accessio adhuc multo propius ad explicandum omnia vel nihil accedat.

Summatim, hic cur CI servientes cum CD agere non debent:

  • Renovatio scripta non semper sunt determinata; Facilis errem in eos.
  • CI servers non conveniunt ad exemplar declarativum botrum.
  • Difficile est idempotentiam praestare. Usores altam semanticam systematis intelligere debent.
  • Difficilius est ex defectu partiali convalescere.

Nota de Helm: Si Helm uti vis, commendamus coniungendo cum operante GitOps ut Flux-Helm. Hoc proderit concursum. Ipsa gubernaculum neque deterministicum neque atomicum est.

GitOps ut optimus modus efficiendi Continua Delivery ad Kubernetes

Alicia et GitOps instrumenta iugis Bob et invenit eam multo faciliorem facta esse ad operandum cum productis programmatibus, altam observantiam et stabilitatem conservant. Finemus hunc articulum cum illustratione ostendens qualis eorum novus accessus similis sit. Mementote nos plerumque loqui de applicationibus et officiis, sed GitOps uti potest ad integrum suggestum administrare.

Exemplar operating pro Kubernetes

Vide in schemate sequenti. Git exhibet et repositorium imaginis continens facultates communes pro duabus orchestratis vitae cyclis:

  • Continua integratio pipelini est quae tabellas Git legit et scribit et repositorium imaginum continentium renovare potest.
  • Runtime GitOps pipeline qui componit instruere cum administratione et observabilitate. Is legit et scribit tabellas Git et imagines continens potest.

Quae sunt inventa pelagus?

  1. De separatione: Nota quaeso quod utrumque fistulae solum communicare possunt per adaequationem Git seu imaginis repositorium. Aliis verbis, murus est inter CI et ambitus temporis. Vocamus eam "mutabilitatem firemur" (Immutabilitatis firewall)omnes repositoria novas versiones creant. Plura de hoc argumento refer ad labitur 72-87 . haec propositio.
  2. Uti potes aliquo CI et Git servo: GitOps cum quavis opera componens. Potes uti tuis dilectis CI et Git servientibus, repositoriis imaginis, et consentaneis probare. Fere omnia alia continua instrumenta in foro instrumenta propria CI/Git servo vel imagini reposito requirent. Hoc factor limitans fiet in evolutione nubis indigenae. Apud GitOps, instrumenta nota uti potes.
  3. Certe instrumentum ad integrationem: Cum primum notitia in Git renovatur, fluxum (vel texere Cloud operator) temporis notificat. Cum Kubernetes condicionem acceptat, Git renovatur. Hoc exemplum simplex integrationis praebet pro GitOps operandi ordinandis, ut infra patebit.

conclusio,

GitOps validas cautiones renovationis praebet, quae ab aliquo moderno CI/CD instrumento requiruntur:

  • automation;
  • concursus;
  • idempotentia;
  • determinatio.

Hoc magni momenti est quod exemplar operationale praebet ad tincidunt indigenas nubes.

  • Traditional instrumenta ad systemata administrandi et vigilantiae operandi coniunguntur cum iugis operandis intra runbook (a paro of usitatum processuum et operationum - approx. transl.)adstrictum certo instruere.
  • In administratione indigena nubes, instrumenta observabilitas optima sunt modus ut eventus instruere possit metiri ut quadrigis evolutionis cito respondere possit.

Finge multas ligaturas per diversas nubes dispersas et multa officia cum suis iugis et consiliis instruere. GitOps exemplar invariatum scalae praebet ad omnem hanc copiam administrandam.

PS ab translator

Lege etiam in nostro diario:

Tantum usores descripserunt in aliquet participare possunt. InscribeTe gratissimum esse.

Scisne de GitOps antequam hae duae versiones in Habre apparuerunt?

  • Ita cognovi omnia

  • tantum superficialiter

  • No

35 utentes censuerunt. 10 Utentes abstinuerunt.

Source: www.habr.com

Add a comment