Meriv çawa binesaziya tora xwe kontrol dike. Beşa çaran. Otomatîkî. Şablonên

Ev gotar şeşemîn e di rêza "Çawa Di Binesaziya Tora Xwe de Kontrol Bikin." Naveroka hemî gotarên rêzefîlmê û girêdan têne dîtin vir.

Ji ber ku çend mijar li pey xwe hiştin, min biryar da ku dest bi beşek nû bikim.

Ez ê hinekî paşê vegerim ewlehiyê. Li vir ez dixwazim nêzîkatiyek hêsan lê bi bandor nîqaş bikim, ku ez pê bawer im, bi rengekî an rengek din, dikare ji gelek kesan re kêrhatî be. Ev bêtir kurteçîrokek e ku ka otomasyon çawa dikare jiyana endezyarek biguhezîne. Em ê li ser karanîna şablonan biaxivin. Di dawiyê de navnîşek projeyên min heye ku hûn dikarin bibînin ka her tiştê ku li vir hatî destnîşan kirin çawa dixebite.

DevOps ji bo torê

Afirandina veavakirinek bi skrîptê, karanîna GIT-ê ji bo kontrolkirina guheztinên binesaziya IT-ê, "barkirin" ji dûr ve - gava ku hûn li ser pêkanîna teknîkî ya nêzîkatiya DevOps difikirin ev raman yekem têne. Awantajên diyar in. Lê mixabin kêmasî jî hene.

Gava ku zêdetirî 5 sal berê, pêşdebirên me bi van pêşniyaran hatin cem me, toran, em kêfxweş nebûn.

Divê ez bibêjim ku me torgilokek pir tevlihev, ku ji alavên nêzî 10 firoşkarên cihêreng pêk tê, mîras girt. Sazkirina hin tiştan bi navgîniya cli-ya xweya bijare rehet bû, lê di yên din de me tercîh kir ku GUI bikar bînin. Wekî din, xebata dirêj a li ser alavên "zindî" me hînî kontrolkirina rast-dem kir. Mînakî, dema ku guhertinan çêdikim, ez pir rehettir hîs dikim ku rasterast bi kliyê re bixebitim. Bi vî rengî ez dikarim zû bibînim ku tiştek xelet çû û guhertinan paşde vegerînim. Ev hemû bi ramanên wan re hinekî dijberî bûn.

Pirsên din jî derdikevin, mînakî, navber dibe ku ji guhertoya berbi guhertoya nermalavê hinekî biguhezîne. Ev ê di dawiyê de bibe sedem ku skrîpta we "config"a çewt biafirîne. Ez naxwazim hilberînê ji bo "revekirinê" bikar bînim.

An jî, meriv çawa têdigihîje ku emrên mîhengê rast hatine sepandin û di rewşek xelet de çi bikin?

Ez naxwazim bibêjim ku ev hemû pirsgirêk nayên çareserkirin. Tenê gotina "A" dibe ku meriv bêje "B" jî maqûl e, û heke hûn dixwazin heman pêvajoyên ji bo kontrolkirina guherînê wekî di pêşkeftinê de bikar bînin, wê hingê hûn hewce ne ku ji bilî hilberînê jî hawîrdorên dev û sehneyê hebin. Hingê ev nêzîkatî temam xuya dike. Lê ew ê çiqas be?

Lê rewşek heye ku dezavantaj bi pratîkî têne rakirin, û tenê avantajên wê dimînin. Ez behsa karê sêwiranê dikim.

Projeyê

Van du salên dawîn ez beşdarî projeyek ji bo avakirina navendek daneyê ji bo pêşkêşkerek mezin bûm. Ez di vê projeyê de berpirsiyarê F5 û Palo Alto me. Ji nêrîna Cisco-yê, ev "alavên partiya sêyemîn" e.

Ji bo min bi xwe, di vê projeyê de du qonaxên cuda hene.

Qonaxa yekê

Sala yekem ez bêdawî mijûl bûm, ez bi şev û dawiya hefteyê dixebitim. Min nikarîbû serê xwe rakim. Zexta rêveberî û xerîdar xurt û berdewam bû. Di rûtînek domdar de, min nikarîbû hewl bidim ku pêvajoyê xweşbîn bikim. Ew ne tenê û ne ew qas veavakirina amûran, wekî amadekirina belgeyên sêwiranê bû.

Testên yekem dest pê kirin, û ez ê şaş bimînim ku çend xeletî û xeletiyên piçûk hatine çêkirin. Bê guman, her tişt xebitî, lê di nav de herfek wenda bû, di fermanê de rêzek wenda bû... Test û îmtîhan her diçûn, û ez jixwe bi xeletî, ceribandin û belgekirinê re di nav têkoşînek domdar û rojane de bûm. .

Ev salekê dewam kir. Proje, bi qasî ku ez fêm dikim, ji her kesî re ne hêsan bû, lê hêdî hêdî xerîdar her ku diçe razîtir dibû, û vê yekê mimkun kir ku endezyarên din ên ku karîbûn xwe bi xwe beşek ji rûtîn bigirin bigirin.

Niha em dikarin hinekî li dora xwe binêrin.
Û ev destpêka qonaxa duyemîn bû.

Qonaxa du

Min biryar da ku pêvajoyê bixweber bikim.

Tiştê ku min di wê demê de ji danûstendina xwe ya bi pêşdebiran re fêm kir (û divê em pesnê xwe bidin, me tîmek bihêz hebû) ev e ku forma nivîsê, her çend di nihêrîna pêşîn de wekî tiştek ji cîhana pergala xebitandina DOS-ê xuya dike, hejmarek heye. taybetmendiyên hêja.
Ji ber vê yekê, mînakî, heke hûn dixwazin ji GIT û hemî derûvên wê sûd werbigirin, forma nivîsê dê kêrhatî be. Û min xwest.

Welê, wusa dixuye ku hûn dikarin bi tenê mîhengek an navnîşek fermanan hilînin, lê çêkirina guhertinan pir nerehet e. Wekî din, di dema sêwiranê de peywirek din a girîng heye. Pêdivî ye ku we belgeyek hebe ku sêwirana we bi tevahî (Sêwirana Asta Nizm) û pêkanîna taybetî (Plana Pêkanîna Torê) diyar dike. Û di vê rewşê de, karanîna şablonan wekî vebijarkek pir maqûl xuya dike.

Ji ber vê yekê, dema ku YAML û Jinja2 bikar tînin, pelek YAML bi pîvanên vesazkirinê yên wekî navnîşanên IP-yê, hejmarên BGP AS, ... bi tevahî rola NIP-ê bi cih tîne, dema ku şablonên Jinja2 hevoksaziya ku bi sêwiranê re têkildar e vedihewîne, ango ew bi bingehîn a refleksa LLD.

Ji bo fêrbûna YAML û Jinja2 du roj girt. Çend mînakên baş bes in ku meriv fêm bike ka ev çawa dixebite. Dûv re nêzîkê du hefte dom kir ku hemî şablonên ku sêwirana me lihevhatî biafirînin: hefteyek ji bo Palo Alto û hefteyek din ji bo F5. Hemî ev li ser githab pargîdanî hate şandin.

Niha pêvajoya guhertinê wiha xuya bû:

  • pelê YAML guhert
  • pelê vesazkirinê bi karanîna şablonek çêkir (Jinja2)
  • di depoyek dûr de hatî tomarkirin
  • veavakirina çêkirî li amûrê bar kir
  • Min xeletiyek dît
  • pelê YAML an şablonê Jinja2 guhert
  • pelê vesazkirinê bi karanîna şablonek çêkir (Jinja2)
  • ...

Eşkere ye ku di destpêkê de gelek dem li ser guhertoyan hate xerc kirin, lê piştî hefteyek an du hefte ev pir kêm kêm bû.

Testek baş û fersendek ji bo verastkirina her tiştî xwesteka xerîdar bû ku peymana navkirinê biguhezîne. Yên ku bi F5-ê re xebitîn, pîqa rewşê fam dikin. Lê ji bo min her tişt pir hêsan bû. Min navên di pelê YAML de guhert, tevahiya veavakirinê ji amûrê jê bir, yekî nû çêkir û bar kir. Her tişt, tevî rastkirina xeletiyan, 4 roj girt: ji bo her teknolojiyê du roj. Piştî wê, ez ji bo qonaxa din amade bûm, ango avakirina navendên daneyên DEV û Staging.

Dev û Staging

Staging bi rastî hilberînê bi tevahî dubare dike. Dev kopiyek pir jêkirî ye ku bi giranî li ser hardware virtual hatî çêkirin. Ji bo nêzîkatiyek nû rewşek îdeal. Ger ez dema ku min ji pêvajoya giştî derbas kir veqetînim, wê hingê ez difikirim ku kar ji 2 hefteyan zêdetir negirt. Dema sereke li benda aliyê din e û bi hev re li pirsgirêkan digerin. Pêkanîna partiya 3. hema hema ji hêla kesên din ve nehat dîtin. Tewra wext hebû ku meriv tiştek fêr bibe û li ser Habré çend gotar binivîsîne :)

Let's summarize

Ji ber vê yekê, di rêza jêrîn de çi heye?

  • Tiştê ku divê ez bikim ji bo guheztina veavakirinê ev e ku pelek YAML ya sade, bi zelalî avakirî bi parametreyên veavakirinê biguhezînim. Ez çu carî nivîsara python naguherim û pir kêm caran (tenê heke xeletiyek hebe) ez germahiya Jinja2 diguherim
  • Ji hêla belgekirinê ve, ev rewşek hema hema îdeal e. Hûn belgeyê diguherînin (pelên YAML wekî NIP xizmetê dikin) û vê veavakirinê li amûrê bar dikin. Bi vî rengî belgeyên we her gav nûve ne

Ev hemû bûn sedem ku

  • rêjeya xeletiyê hema hema daketiye 0
  • Ji sedî 90ê rûtîn çûye
  • leza pêkanînê gelekî zêde bûye

PAY, F5Y, ACY

Min got ku çend mînak bes in ku meriv çawa dixebite.
Li vir guhertoyek kurt (û bê guman hatî guheztin) ya ku di dema xebata min de hatî afirandin heye.

DIRAVDANÎ = bicihkirin Phello Alto ji Yaml = Palo Alto ji Yaml
F5Y = bicihkirin F5 ji Yaml = F5 ji Yaml (di nêzîk de)
ACY = bicihkirin ACez ji Yaml = F5 ji Yaml

Ez ê çend peyvan li ser ACY zêde bikim (ku bi ACI re neyê tevlihev kirin).

Yên ku bi ACI re xebitîne dizanin ku ev keramet (û bi awayek baş jî) bê guman ji hêla torêvanan ve nehatiye afirandin :). Her tiştê ku we di derbarê torê de dizanibû ji bîr bikin - ew ê ji we re ne bikêr be!
Ew piçekî zêde ye, lê ew hema hema hesta ku ez bi domdarî di 3 salên çûyî de bi ACI re dixebitim vedibêje.

Û di vê rewşê de, ACY ne tenê fersendek e ku hûn pêvajoyek kontrolkirina guhartinê ava bikin (ku bi taybetî di doza ACI-ê de girîng e, ji ber ku tê xwestin ku ew beşê navendî û herî krîtîk ê navenda daneya we be), lê di heman demê de jî dide we. navgînek-user dostane ji bo afirandina veavakirina.

Endezyarên li ser vê projeyê Excel bikar tînin da ku ACI li şûna YAML ji bo tam heman armancan mîheng bikin. Bê guman, avantajên karanîna Excel hene:

  • NIP-a we di yek pelê de
  • nîşanên xweşik ên ku ji bo xerîdar temaşe dikin xweş in
  • hûn dikarin hin amûrên excel bikar bînin

Lê yek kêmasiyek heye, û bi dîtina min ew ji berjewendiyan zêdetir e. Kontrolkirina guhertinan û hevrêzkirina xebata tîmê pir dijwartir dibe.

ACY bi rastî serîlêdanek heman nêzîkatiyên ku min ji bo partiya sêyemîn bikar anî da ku ACI mîheng bike.

Source: www.habr.com

Add a comment