Ki jan yo pran kontwòl enfrastrikti rezo ou a. Chapit Kat. Otomatik. Modèl

Atik sa a se sizyèm nan seri "Kijan pou w pran kontwòl enfrastrikti rezo w la." Ou ka jwenn sa ki nan tout atik nan seri a ak lyen yo isit la.

Lè m te kite plizyè sijè dèyè, mwen te deside kòmanse yon nouvo chapit.

Mwen pral tounen nan sekirite yon ti kras pita. Isit la mwen vle diskite sou yon apwòch senp men efikas, ki mwen sèten, nan yon fòm oswa yon lòt, ka itil anpil moun. Sa a se plis nan yon istwa kout sou fason automatisation ka chanje lavi a nan yon enjenyè. Nou pral pale sou itilizasyon modèl. Nan fen a gen yon lis pwojè mwen yo kote ou ka wè ki jan tout bagay ki dekri isit la ap travay.

DevOps pou rezo a

Kreye yon konfigirasyon ak yon script, lè l sèvi avèk GIT pou kontwole chanjman ki fèt nan enfrastrikti IT, "uploading" aleka - ide sa yo vini an premye lè ou panse sou aplikasyon teknik apwòch DevOps la. Avantaj yo evidan. Men, malerezman, gen tou dezavantaj.

Lè plis pase 5 ane de sa, devlopè nou yo te vin jwenn nou, rezo yo, ak pwopozisyon sa yo, nou pa te kontan.

Mwen dwe di ke nou eritye yon rezo pito etranj, ki fòme ak ekipman ki soti nan apeprè 10 fournisseurs diferan. Li te pratik yo konfigirasyon kèk bagay atravè cli pi renmen nou an, men nan lòt moun nou pi pito sèvi ak entèfas la. Anplis de sa, travay long sou ekipman "viv" te anseye nou kontwòl an tan reyèl. Pa egzanp, lè m ap fè chanjman, mwen santi m pi alèz pou m travay dirèkteman atravè cli a. Nan fason sa a mwen ka byen vit wè ke yon bagay te ale mal epi retounen chanjman yo. Tout bagay sa yo te nan kèk kontradiksyon ak lide yo.

Lòt kesyon tou leve, pou egzanp, koòdone a ka chanje yon ti kras soti nan vèsyon an vèsyon nan lojisyèl an. Sa a pral evantyèlman lakòz script ou a kreye move "config". Mwen pa ta renmen sèvi ak pwodiksyon pou "kouri nan".

Oswa, ki jan yo konprann ke kòmandman yo konfigirasyon yo te aplike kòrèkteman ak sa yo dwe fè nan ka ta gen yon erè?

Mwen pa vle di ke tout pwoblèm sa yo pa ka rezoud. Jis di "A" pwobableman fè sans pou di "B" tou, epi si ou vle sèvi ak menm pwosesis yo pou kontwòl chanjman kòm nan devlopman, Lè sa a, ou bezwen gen dev ak anviwònman etap anplis pwodiksyon an. Lè sa a, apwòch sa a sanble konplè. Men, konbyen li pral koute?

Men, gen yon sitiyasyon lè dezavantaj yo pratikman egalize, epi sèlman avantaj yo rete. M ap pale de travay konsepsyon.

Pwojè

Pou de dènye ane yo mwen te patisipe nan yon pwojè bati yon sant done pou yon founisè gwo. Mwen responsab F5 ak Palo Alto nan pwojè sa a. Soti nan pwen de vi Cisco a, sa a se "ekipman twazyèm pati".

Pou mwen pèsonèlman, gen de etap diferan nan pwojè sa a.

Etap yon sèl

Premye ane a mwen te okipe san rete, mwen te travay nwit ak wikenn. Mwen pa t 'kapab leve tèt mwen. Presyon ki soti nan jesyon ak kliyan an te fò ak kontinyèl. Nan yon woutin konstan, mwen pa t 'kapab menm eseye optimize pwosesis la. Li pa t 'sèlman ak pa tèlman konfigirasyon an nan ekipman kòm preparasyon an nan dokiman konsepsyon.

Premye tès yo te kòmanse, e mwen ta sezi wè konbyen ti erè ak erè ki te fèt. Natirèlman, tout bagay te travay, men te gen yon lèt ki manke nan non an, te gen yon liy ki manke nan lòd la ... Tès yo te kontinye ak sou, e mwen te deja nan yon lit konstan, chak jou ak erè, tès ak dokiman. .

Sa a te kontinye pou yon ane. Pwojè a, jan mwen konprann, pa t fasil pou tout moun, men piti piti kliyan an te vin pi plis ak plis satisfè, e sa te fè li posib anboche enjenyè adisyonèl ki te kapab pran yon pati nan woutin nan tèt yo.

Koulye a, nou ta ka gade alantou yon ti kras.
Lè sa a te kòmansman dezyèm etap la.

Dezyèm etap la

Mwen deside otomatize pwosesis la.

Ki sa mwen te konprann nan kominikasyon mwen ak devlopè yo nan moman sa a (e nou dwe peye lajan taks, nou te gen yon ekip fò) se ke fòma tèks la, byenke nan premye gade sanble tankou yon bagay ki soti nan mond lan nan sistèm nan operasyon DOS, gen yon nimewo. nan pwopriyete ki gen anpil valè.
Se konsa, pou egzanp, fòma tèks la pral itil si ou vle pran anpil avantaj de GIT ak tout dérivés li yo. Apre sa, mwen te vle.

Oke, li ta sanble ke ou ka tou senpleman magazen yon konfigirasyon oswa yon lis kòmandman, men fè chanjman se byen konvenyan. Anplis de sa, gen yon lòt travay enpòtan pandan konsepsyon. Ou ta dwe gen dokiman ki dekri konsepsyon ou an antye (Low Level Design) ak aplikasyon espesifik (Plan Aplikasyon Rezo). Ak nan ka sa a, itilize nan modèl sanble yon opsyon trè apwopriye.

Se konsa, lè w ap itilize YAML ak Jinja2, yon fichye YAML ak paramèt konfigirasyon tankou adrès IP, nimewo BGP AS, ... pafètman ranpli wòl NIP, pandan y ap modèl Jinja2 gen ladan sentaks ki koresponn ak konsepsyon an, sa vle di, li se esansyèlman yon refleksyon LLD.

Li te pran de jou pou aprann YAML ak Jinja2. Kèk bon egzanp yo ase pou konprann ki jan sa a fonksyone. Lè sa a, li te pran apeprè de semèn yo kreye tout modèl yo ki matche ak konsepsyon nou an: yon semèn pou Palo Alto ak yon lòt semèn pou F5. Tout bagay sa yo te afiche sou githab antrepriz.

Koulye a, pwosesis chanjman an te sanble ak sa a:

  • chanje dosye YAML la
  • kreye yon fichye konfigirasyon lè l sèvi avèk yon modèl (Jinja2)
  • sove nan yon depo aleka
  • telechaje konfigirasyon kreye a nan ekipman an
  • Mwen te wè yon erè
  • chanje dosye YAML oswa modèl Jinja2
  • kreye yon fichye konfigirasyon lè l sèvi avèk yon modèl (Jinja2)
  • ...

Li klè ke nan premye yo te pase anpil tan sou modifye, men apre yon semèn oswa de sa a te vin pito yon rar.

Yon bon tès ak opòtinite pou debogaj tout bagay se dezi kliyan an pou chanje konvansyon nonmen an. Moun ki te travay ak F5 konprann pikans sitiyasyon an. Men, pou mwen, li te byen senp. Mwen chanje non yo nan dosye YAML, efase tout konfigirasyon an nan ekipman an, pwodwi yon nouvo epi telechaje li. Tout bagay, ki gen ladan repare ensèk, te pran 4 jou: de jou pou chak teknoloji. Apre sa, mwen te pare pou pwochen etap la, sètadi kreyasyon sant done DEV ak Staging.

Dev ak Staging

Staging aktyèlman konplètman repwodui pwodiksyon an. Dev se yon kopi ki dezabiye anpil ki bati sitou sou pyès ki nan konpitè vityèl. Yon sitiyasyon ideyal pou yon nouvo apwòch. Si mwen izole tan mwen te pase nan pwosesis la an jeneral, Lè sa a, mwen panse ke travay la te pran pa plis pase 2 semèn. Tan prensipal la ap tann lòt bò a epi chèche pwoblèm ansanm. Aplikasyon an nan 3yèm pati ale prèske inapèsi pa lòt moun. Te gen menm tan pou aprann yon bagay epi ekri yon koup atik sou Habré :)

Annou rezime

Se konsa, ki sa mwen genyen nan liy anba a?

  • Tout sa mwen dwe fè pou chanje konfigirasyon an se chanje yon senp, ki byen estriktire dosye YAML ak paramèt konfigirasyon. Mwen pa janm chanje script python la epi trè raman (sèlman si gen yon erè) mwen chanje chalè Jinja2 la.
  • Soti nan yon pwen de vi dokimantasyon, sa a se yon sitiyasyon prèske ideyal. Ou chanje dokiman an (fichye YAML sèvi kòm NIP) epi telechaje konfigirasyon sa a nan ekipman an. Nan fason sa a dokiman ou yo toujou ajou

Tout bagay sa a te mennen nan lefèt ke

  • to erè a te tonbe a prèske 0
  • 90 pousan nan woutin la ale
  • vitès aplikasyon an te ogmante anpil

PEYE, F5Y, ACY

Mwen te di ke kèk egzanp yo ase yo konprann ki jan li fonksyone.
Isit la se yon kout (ak nan kou modifye) vèsyon sa ki te kreye pandan travay mwen an.

PEYE = deplwaman Palo Alto soti nan Yaml = Palo Alto soti nan Yaml
F5Y = deplwaman F5 soti nan Yaml = F5 soti nan Yaml (ap vini byento)
ACY = deplwaman ACmwen soti Yaml = F5 soti nan Yaml

Mwen pral ajoute kèk mo sou ACY (pa dwe konfonn ak ACI).

Moun ki te travay ak ACI konnen ke mirak sa a (ak nan yon bon fason tou) te definitivman pa te kreye pa rezo :). Bliye tout sa ou te konnen sou rezo a - li pap itil ou!
Li se yon ti kras ekzajere, men li apeprè transmèt santi a ke mwen te toujou ap fè eksperyans, pou 3 ane ki sot pase yo, k ap travay ak ACI.

Epi nan ka sa a, ACY se pa sèlman yon opòtinite pou konstwi yon pwosesis kontwòl chanjman (ki enpòtan sitou nan ka ACI, paske li sipoze fè pati santral ak pi enpòtan nan sant done w la), men li ba ou tou. yon koòdone itilizatè-zanmitay pou kreye konfigirasyon.

Enjenyè yo sou pwojè sa a sèvi ak Excel pou konfigirasyon ACI olye pou yo YAML pou egzakteman menm rezon yo. Gen, nan kou, avantaj nan itilize Excel:

  • NIP ou nan yon sèl dosye
  • bèl siy ki bèl pou kliyan an gade
  • ou ka itilize kèk zouti excel

Men, gen yon sèl mwens, e nan opinyon mwen li depase avantaj yo. Kontwole chanjman ak kowòdone travay ekip vin pi difisil.

ACY se aktyèlman yon aplikasyon nan apwòch yo menm ke mwen te itilize pou 3yèm pati a konfigirasyon ACI.

Sous: www.habr.com

Add nouvo kòmantè