ستاسو د شبکې زیربنا څنګه کنټرول کړئ. څلورم څپرکی. اتوماتیک. کينډۍ

دا مقاله د لړۍ شپږمه ده "څنګه ستاسو د شبکې زیربنا کنټرول کړئ." په لړۍ او لینکونو کې د ټولو مقالو مینځپانګه موندل کیدی شي دلته.

د څو موضوعاتو شاته پریښودلو سره، ما پریکړه وکړه چې یو نوی فصل پیل کړم.

زه به لږ وروسته امنیت ته راشم. دلته زه غواړم د یوې ساده خو اغیزمنې طریقې په اړه بحث وکړم، کوم چې زه ډاډه یم، په یوه بڼه یا بل ډول، د ډیرو لپاره ګټور کیدی شي. دا یوه لنډه کیسه ده چې څنګه اتومات کولی شي د انجنیر ژوند بدل کړي. موږ به د ټیمپلیټ کارولو په اړه وغږیږو. په پای کې زما د پروژو لیست شتون لري چیرې چې تاسو کولی شئ وګورئ چې دلته بیان شوي هرڅه څنګه کار کوي.

د شبکې لپاره DevOps

د سکریپټ سره د ترتیب رامینځته کول ، د IT زیربنا کې د بدلونونو کنټرول لپاره د GIT کارول ، ریموټ "اپلوډ کول" - دا نظرونه لومړی راځي کله چې تاسو د DevOps چلند تخنیکي پلي کولو په اړه فکر کوئ. ګټې ښکاره دي. مګر، له بده مرغه، نیمګړتیاوې هم شتون لري.

کله چې د 5 کلونو څخه ډیر دمخه، زموږ پراختیا کونکي موږ ته راغلل، د شبکې جوړونکي، د دې وړاندیزونو سره، موږ خوښ نه وو.

زه باید ووایم چې موږ په میراثي توګه یو بل ډول شبکه ترلاسه کړې چې د شاوخوا 10 مختلف پلورونکو څخه تجهیزات پکې شامل دي. دا اسانه وه چې ځینې شیان زموږ د غوره کلیک له لارې تنظیم کړئ ، مګر په نورو کې موږ د GUI کارولو ته ترجیح ورکړه. سربیره پردې ، په "ژوندی" تجهیزاتو کې اوږد کار موږ ته د ریښتیني وخت کنټرول زده کړل. د مثال په توګه، کله چې بدلونونه کول، زه د کلی له لارې مستقیم کار کولو کې ډیر آرام احساس کوم. پدې توګه زه کولی شم په چټکۍ سره وګورم چې یو څه غلط شوی او بدلونونه بیرته راګرځوي. دا ټول د دوی له افکارو سره په تضاد کې وو.

نورې پوښتنې هم راپورته کیږي ، د مثال په توګه ، انٹرفیس ممکن د سافټویر نسخې څخه نسخې ته یو څه بدلون ومومي. دا به په نهایت کې ستاسو سکریپټ د غلط "config" رامینځته کولو لامل شي. زه نه غواړم د "چلولو" لپاره تولید وکاروم.

یا، څنګه پوه شو چې د ترتیب کولو امرونه په سمه توګه پلي شوي او د غلطۍ په صورت کې څه باید وشي؟

زه نه غواړم ووایم چې دا ټولې مسلې د حل وړ ندي. یوازې د "A" ویل شاید د "B" ویلو لپاره هم معنی ولري ، او که تاسو غواړئ د بدلون کنټرول لپاره ورته پروسې وکاروئ لکه څنګه چې پراختیا کې وي ، نو تاسو اړتیا لرئ د تولید سربیره dev او سټیجینګ چاپیریال ولرئ. بیا دا طریقه بشپړه ښکاري. مګر دا به څومره لګښت ولري؟

مګر یو حالت شتون لري کله چې نیمګړتیاوې په عملي توګه له مینځه وړل کیږي، او یوازې ګټې پاتې دي. زه د ډیزاین کار په اړه خبرې کوم.

پروژه

د تیرو دوه کلونو لپاره زه په یوه پروژه کې برخه اخلم چې د لوی چمتو کونکي لپاره د معلوماتو مرکز رامینځته کړم. زه پدې پروژه کې د F5 او پالو الټو مسؤل یم. د سیسکو له نظره، دا "د دریمې ډلې تجهیزات" دي.

زما لپاره په شخصي توګه، پدې پروژه کې دوه جلا مرحلې شتون لري.

لومړی مرحله

لومړی کال زه بې پایه بوخت وم، ما د شپې او اونۍ په پای کې کار کاوه. ما نشو کولی خپل سر پورته کړم. د مدیریت او پیرودونکي فشار قوي او دوامداره و. په دوامداره معمول کې، ما حتی د پروسې د ښه کولو هڅه هم نشم کولی. دا نه یوازې د تجهیزاتو ترتیب او د ډیزاین اسنادو چمتو کولو په څیر ډیر نه و.

لومړنۍ ازموینې پیل شوې، او زه به حیران شم چې څومره کوچنۍ تېروتنې او غلطۍ شوې وې. البته، هر څه کار کاوه، مګر په نوم کې یو ورک شوی لیک شتون درلود، په کمانډ کې ورک شوی کرښه شتون درلود ... ازموینې روانې وې، او زه لا دمخه د غلطیو، ازموینې او اسنادو سره په دوامداره، ورځنۍ مبارزه کې وم. .

دا یو کال دوام وکړ. پروژه، تر هغه ځایه چې زه پوهیږم، د هرچا لپاره اسانه نه وه، مګر په تدریج سره پیرودونکي ډیر او مطمین شول، او دې کار دا ممکنه کړه چې اضافي انجنیران وګمارل شي چې پخپله د معمول برخه اخیستلو توان ولري.

اوس موږ کولی شو یو څه شاوخوا وګورو.
او دا د دویم پړاو پیل و.

دوه مرحله

ما پریکړه وکړه چې پروسه اتومات کړم.

هغه څه چې زه په هغه وخت کې د پراختیا کونکو سره زما د اړیکو څخه پوهیدم (او موږ باید درناوی وکړو، موږ یو پیاوړی ټیم درلود) دا دی چې د متن بڼه، که څه هم په لومړي نظر کې د DOS عملیاتي سیسټم نړۍ څخه یو څه ښکاري، یو شمیر لري. د قیمتي ملکیتونو څخه
نو، د مثال په توګه، د متن بڼه به ګټوره وي که تاسو غواړئ د GIT او د هغې ټولو مشتقاتو څخه پوره ګټه واخلئ. او ما غوښتل.

ښه، داسې ښکاري چې تاسو کولی شئ په ساده ډول یو ترتیب یا د امرونو لیست ذخیره کړئ، مګر بدلونونه کول خورا ستونزمن دي. برسېره پردې، د ډیزاین په جریان کې یو بل مهم کار شتون لري. تاسو باید اسناد ولرئ چې ستاسو ډیزاین په بشپړ ډول تشریح کوي (د ټیټې کچې ډیزاین) او ځانګړي پلي کول (د شبکې پلي کولو پلان). او په دې حالت کې، د ټیمپلیټ کارول خورا مناسب انتخاب ښکاري.

نو، کله چې د YAML او Jinja2 کاروئ، د YAML فایل د ترتیب کولو پیرامیټونو سره لکه IP پتې، BGP AS شمیرې، ... په بشپړ ډول د NIP رول پوره کوي، پداسې حال کې چې د Jinja2 ټیمپلیټونه د ډیزاین سره مطابقت لري ترکیب شامل دي، دا په اصل کې یو دی. د LLD انعکاس.

د YAML او Jinja2 زده کولو لپاره دوه ورځې وخت ونیو. یو څو ښه مثالونه کافي دي چې پوه شي چې دا څنګه کار کوي. بیا یې د ټولو ټیمپلیټونو رامینځته کولو لپاره شاوخوا دوه اونۍ وخت واخیست چې زموږ ډیزاین سره سمون لري: یوه اونۍ د پالو الټو لپاره او بله اونۍ د F5 لپاره. دا ټول په کارپوریټ ګیتاب کې ځړول شوي.

اوس د بدلون پروسه داسې ښکاري:

  • د YAML فایل بدل کړ
  • د کینډۍ (Jinja2) په کارولو سره د ترتیب کولو فایل رامینځته کړی
  • په لرې پرتو ذخیره کې خوندي شوی
  • جوړ شوی ترتیب تجهیزاتو ته پورته کړ
  • ما یوه تېروتنه ولیدله
  • د YAML فایل یا Jinja2 ټیمپلیټ بدل کړ
  • د کینډۍ (Jinja2) په کارولو سره د ترتیب کولو فایل رامینځته کړی
  • ...

دا څرګنده ده چې په لومړي سر کې ډیر وخت د ترمیم لپاره مصرف شوی و، مګر د یوې یا دوو اونیو وروسته دا یو نادره شوه.

یو ښه ازموینه او د هرڅه ډیبګ کولو فرصت د نومونې کنوانسیون بدلولو لپاره د پیرودونکي هیله وه. هغه کسان چې د F5 سره کار کوي د وضعیت په ښه والي پوهیږي. مګر زما لپاره دا ټول خورا ساده وو. ما د YAML فایل کې نومونه بدل کړل، د تجهیزاتو څخه یې ټول ترتیبات حذف کړل، یو نوی یې جوړ کړ او اپلوډ یې کړ. هرڅه، د بګ فکسونو په شمول، 4 ورځې وخت نیسي: د هرې ټیکنالوژۍ لپاره دوه ورځې. له هغې وروسته، زه د راتلونکي مرحلې لپاره چمتو وم، د بیلګې په توګه د DEV او سټینګ ډیټا مرکزونو جوړول.

دیو او سټینګ

سټینګ په حقیقت کې په بشپړ ډول تولید تولیدوي. دیو په پراخه کچه لرې شوی کاپي ده چې په عمده ډول په مجازی هارډویر کې رامینځته شوی. د نوي چلند لپاره یو مثالی حالت. که زه هغه وخت جلا کړم چې ما د ټولیز پروسې څخه تیر کړی، نو زه فکر کوم چې کار له 2 اونیو څخه زیات نه و اخیستی. اصلي وخت بل لوري ته انتظار کول او په ګډه د ستونزو په لټه کې دي. د دریمې ډلې پلي کول د نورو لخوا نږدې د پام وړ ندي. حتی وخت و چې یو څه زده کړئ او په هابري کې یو څو مقالې ولیکئ :)

راځئ چې لنډیز وکړو

نو، زه په لاندینۍ کرښه کې څه لرم؟

  • ټول هغه څه چې زه یې باید د تشکیلاتو بدلولو لپاره وکړم د ترتیب کولو پیرامیټونو سره یو ساده ، روښانه جوړښت شوی YAML فایل بدلول دي. زه هیڅکله د پیتون سکریپټ نه بدلوم او په ندرت سره (یوازې که کومه تېروتنه وي) زه د جنجا 2 هیټ لیټ بدلوم
  • د اسنادو له نظره، دا تقریبا یو مثالی حالت دی. تاسو اسناد بدل کړئ (YAML فایلونه د NIP په توګه خدمت کوي) او دا ترتیب تجهیزاتو ته اپلوډ کړئ. پدې توګه ستاسو اسناد تل تازه وي

دا ټول د دې حقیقت لامل شو

  • د تېروتنې کچه نږدې 0 ته راښکته شوې ده
  • 90 سلنه معمول له مینځه تللی
  • د تطبیق سرعت د پام وړ زیات شوی دی

تادیه، F5Y، ACY

ما وویل چې یو څو مثالونه کافي دي چې پوه شي چې دا څنګه کار کوي.
دلته د هغه څه لنډ (او البته تعدیل شوی) نسخه ده چې زما د کار په جریان کې رامینځته شوی.

د پيسو ورکړه = ځای پرځای کول Pسلام Aله دې څخه Yaml = پالو الټو له Yaml څخه
F5Y = ځای پرځای کول F5 له Yaml = F5 له Yaml (ډیر ژر راځي)
د ‏‎ACY = ځای پرځای کول ACزه له Yaml = F5 له Yaml

زه به د ACY په اړه یو څو ټکي اضافه کړم (د ACI سره مغشوش نه شئ).

هغه څوک چې د ACI سره کار کوي پوهیږي چې دا معجزه (او په ښه توګه هم) یقینا د شبکې کونکو لخوا نه وه رامینځته شوې :). هرڅه چې تاسو د شبکې په اړه پوهیدل هیر کړئ - دا به ستاسو لپاره ګټور نه وي!
دا یو څه مبالغه ده، مګر دا تقریبا هغه احساس څرګندوي چې زه په دوامداره توګه تجربه کوم، د تیرو 3 کلونو راهیسې، د ACI سره کار کول.

او پدې حالت کې ، ACY نه یوازې د بدلون کنټرول پروسې رامینځته کولو فرصت دی (کوم چې په ځانګړي توګه د ACI په قضیه کې مهم دی ، ځکه چې دا باید ستاسو د معلوماتو مرکز مرکزي او خورا مهم برخه وي) ، بلکه تاسو ته درکوي. د تشکیلاتو رامینځته کولو لپاره د کارونکي دوستانه انٹرفیس.

پدې پروژه کې انجینران د ورته موخو لپاره د YAML پرځای ACI تنظیم کولو لپاره اکسل کاروي. البته، د ایکسل کارولو ګټې شتون لري:

  • ستاسو NIP په یوه فایل کې
  • ښکلې نښې چې د پیرودونکي لپاره د لیدو لپاره خوښ دي
  • تاسو کولی شئ د ایکسل ځینې وسیلې وکاروئ

مګر یو منفي شتون لري، او زما په اند دا د ګټو څخه ډیر دی. د بدلونونو کنټرول او د ټیم کار همغږي کول خورا ستونزمن کیږي.

ACY په حقیقت کې د ورته طریقو غوښتنلیک دی چې ما د ACI تنظیم کولو لپاره د دریمې ډلې لپاره کارولی.

سرچینه: www.habr.com

Add a comment