د ترتیب مدیریت سره معجزې پرته د سرورونو تنظیم کولو په اړه یو تریلر

د نوي کال په رارسیدو وه. په ټول هیواد کې ماشومانو لا دمخه سانتا کلاز ته لیکونه لیږلي او یا یې د ځان لپاره ډالۍ کړې ، او د دوی اصلي اجرا کونکی ، یو له لوی پرچون پلورونکو څخه ، د پلور اپوټوسیس لپاره چمتووالی نیسي. د ډسمبر په میاشت کې، د دې ډاټا مرکز بار څو چنده زیاتیږي. له همدې امله، شرکت پریکړه وکړه چې د معلوماتو مرکز عصري کړي او د تجهیزاتو پر ځای د څو درجن نوي سرورونه په کار واچوي چې د دې خدمت ژوند پای ته رسیږي. دا کیسه د واورې د تودوخې د شالید په وړاندې پای ته رسیږي، او تریلر پیل کیږي.

د ترتیب مدیریت سره معجزې پرته د سرورونو تنظیم کولو په اړه یو تریلر
تجهیزات د پلور د لوړوالي څخه څو میاشتې دمخه سایټ ته ورسیدل. د عملیاتو خدمت ، البته ، پوهیږي چې څنګه او څه شی په سرورونو کې تنظیم کړئ ترڅو دوی د تولید چاپیریال ته راوړي. مګر موږ اړتیا لرو چې دا اتومات کړو او انساني فکتور له منځه یوسو. سربیره پردې ، سرورونه د SAP سیسټمونو سیټ مهاجرت دمخه ځای په ځای شوي چې د شرکت لپاره مهم و.

د نوي سرورونو کمیسیون کول په کلکه د وخت نیټې پورې تړلي و. او د دې حرکت کول د یو ملیارد ډالۍ لیږد او د سیسټمونو مهاجرت دواړه له خطر سره مخ کول دي. حتی یو ټیم چې د فادر فراسټ او سانټا کلاز څخه جوړ دی نشي کولی نیټه بدله کړي - تاسو کولی شئ په کال کې یوازې یو ځل د ګودام مدیریت لپاره د SAP سیسټم انتقال کړئ. د دسمبر له 31 څخه تر جنوري 1 پورې، د پرچون پلورونکي لوی ګودامونه، په ټولیز ډول د 20 فوټبال میدانونو اندازه، د 15 ساعتونو لپاره خپل کار ودروي. او دا د نظام د حرکت لپاره یوازینۍ دوره ده. موږ د سرورونو معرفي کولو پر مهال د خطا لپاره هیڅ ځای نه درلود.

اجازه راکړئ روښانه کړم: زما کیسه د وسیلو او ترتیب مدیریت پروسې منعکس کوي چې زموږ ټیم یې کاروي.

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

د OS نصبولو مدیریت

لومړۍ کچه په فزیکي او مجازی سرورونو کې د عملیاتي سیسټمونو نصبولو اداره کولو سیسټم دی. دا د OS بنسټیز تشکیلات رامینځته کوي، د انسان فکتور له منځه یوسي.

د دې سیسټم په کارولو سره، موږ د نور اتومات کولو لپاره مناسب OS سره د معیاري سرور مثالونه ترلاسه کړل. د "تولید" په جریان کې دوی لږترلږه د محلي کاروونکو او عامه SSH کلیدونو او همدارنګه د OS منظم ترتیب ترلاسه کړ. موږ د CMS له لارې د سرورونو اداره کولو تضمین کولی شو او ډاډه یو چې د OS په کچه "لاندې" هیڅ حیرانتیا شتون نلري.

د نصب کولو مدیریت سیسټم لپاره "اعظمي" دنده دا ده چې په اتوماتيک ډول د BIOS/Firmware کچې څخه OS ته سرورونه تنظیم کړي. دلته ډیر څه د تجهیزاتو او تنظیم کولو دندو پورې اړه لري. د متفاوت تجهیزاتو لپاره، تاسو کولی شئ په پام کې ونیسئ REDFISH API. که ټول هارډویر د یو پلورونکي څخه وي، نو دا ډیری وختونه د چمتو شوي مدیریت وسیلو کارول خورا اسانه دي (د مثال په توګه، HP ILO امپلیفیر، DELL OpenManage، او نور).

په فزیکي سرورونو کې د OS نصبولو لپاره، موږ پیژندل شوی کوبلر کارولی، کوم چې د عملیاتي خدماتو سره موافق شوي نصب شوي پروفایلونو سیټ تعریفوي. کله چې زیربنا ته نوی سرور اضافه شي، انجنیر د سرور MAC پته په کوبلر کې اړین پروفایل سره تړلې. کله چې د لومړي ځل لپاره په شبکه کې بوټ کول، سرور یو لنډمهاله پته او یو تازه OS ترلاسه کړ. بیا دا هدف VLAN/IP ادرس ته لیږدول شوی او هلته کار ته دوام ورکوي. هو، د VLAN بدلول وخت نیسي او همغږۍ ته اړتیا لري، مګر دا د تولید چاپیریال کې د سرور ناڅاپي نصبولو په وړاندې اضافي محافظت چمتو کوي.

موږ د هاشي کارپ پیکر په کارولو سره چمتو شوي ټیمپلیټونو پراساس مجازی سرورونه رامینځته کړل. دلیل ورته و: د OS نصبولو پر مهال د ممکنه انساني غلطیو مخنیوي لپاره. مګر، د فزیکي سرورونو برعکس، پیکر د PXE، د شبکې بوټ کولو، او VLAN بدلونونو اړتیا له منځه وړي. دا د مجازی سرورونو رامینځته کول اسانه او اسانه کړي.

د ترتیب مدیریت سره معجزې پرته د سرورونو تنظیم کولو په اړه یو تریلر
وريجې. 1. د عملیاتي سیسټمونو نصبولو اداره کول.

د رازونو اداره کول

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

که تاسو له پیل څخه نه وټاکئ چې دا رازونه چیرې او څنګه ذخیره کړئ ، نو د معلوماتو امنیت اړتیاو شدت پورې اړه لري ، د ذخیره کولو لاندې میتودونه احتمال لري:

  • په مستقیم ډول د تنظیم کولو کنټرول کوډ کې یا په ذخیره کې فایلونو کې؛
  • په ځانګړو ترتیبونو مدیریت وسیلو کې (د مثال په توګه، د ځواب وړ والټ)؛
  • په CI/CD سیسټمونو کې (Jenkins/TeamCity/GitLab/etc.) یا د تنظیم کولو مدیریت سیسټمونو کې (د ځواب وړ ټاور/Ansible AWX)؛
  • رازونه هم په "لاسي" لیږدول کیدی شي. د مثال په توګه، دوی په یو مشخص ځای کې ایښودل شوي، او بیا دوی د ترتیب مدیریت سیسټمونو لخوا کارول کیږي؛
  • د پورته مختلف ترکیبونه.

هر میتود خپل زیانونه لري. اصلي راز رازونو ته د لاسرسي لپاره د پالیسیو نشتوالی دی: دا ناشونې یا ستونزمنه ده چې معلومه شي چې څوک کولی شي ځینې رازونه وکاروي. بله نیمګړتیا د لاسرسي پلټنې او د ژوند بشپړ دورې نشتوالی دی. څنګه ژر تر ژره ځای په ځای کړئ، د بیلګې په توګه، عامه کیلي چې په کوډ او یو شمیر اړوندو سیسټمونو کې لیکل شوي؟

موږ مرکزي پټ ذخیره د HashiCorp Vault کارولې. دا موږ ته اجازه راکړئ:

  • رازونه خوندي وساتئ. دوی کوډ شوي دي، او حتی که څوک د والټ ډیټابیس ته لاسرسی ومومي (د مثال په توګه، دا د بیک اپ څخه بیرته راګرځولو سره)، دوی به ونشي کولی هلته ذخیره شوي رازونه ولولي؛
  • رازونو ته د لاسرسي لپاره پالیسۍ تنظیم کړئ. یوازې هغه رازونه چې دوی ته "مختص شوي" د کاروونکو او غوښتنلیکونو لپاره شتون لري؛
  • رازونو ته د پلټنې لاسرسی. د رازونو سره هر ډول کړنې د والټ پلټنې لاګ کې ثبت شوي؛
  • د رازونو سره د کار کولو بشپړ "ژوند دوره" تنظیم کړئ. دوی کولی شي رامینځته شي، لغوه شي، د ختمیدو نیټه وټاکل شي، او داسې نور.
  • د نورو سیسټمونو سره یوځای کول اسانه دي چې رازونو ته لاسرسی ته اړتیا لري؛
  • او همدارنګه د پای څخه تر پایه کوډ کول، د OS او ډیټابیس لپاره یو ځل پاسورډونه، د مجاز مرکزونو سندونه، او داسې نور.

اوس راځئ چې د مرکزي تصدیق او واک سیسټم ته لاړ شو. د دې پرته دا ممکنه وه، مګر په ډیرو اړوندو سیسټمونو کې د کاروونکو اداره کول خورا غیر معمولي دي. موږ د LDAP خدمت له لارې تصدیق او جواز ترتیب کړی دی. که نه نو، والټ باید په دوامداره توګه مسله وکړي او د کاروونکو لپاره د تصدیق ټیکونو تعقیب وساتي. او د کاروونکو حذف کول او اضافه کول به په لټون بدل شي "ایا ما دا کارن حساب هرچیرې جوړ کړی / حذف کړی؟"

موږ خپل سیسټم ته بله کچه اضافه کوو: د رازونو مدیریت او مرکزي تصدیق/تصدیق:

د ترتیب مدیریت سره معجزې پرته د سرورونو تنظیم کولو په اړه یو تریلر
وريجې. 2. د رازونو مدیریت.

د تنظیم کولو مدیریت

موږ اصلي ته ورسیدو - د CMS سیسټم. زموږ په قضیه کې، دا د ځواب وړ او Red Hat Ansible AWX ترکیب دی.

د ځواب وړ ، شیف ، پوپټ ، سالټ سټیک پرځای کارول کیدی شي. موږ د څو معیارونو پراساس ځواب ورکوونکی غوره کړ.

  • لومړی، دا استقامت دی. د کنټرول لپاره د چمتو شوي ماډلونو سیټ تاثر ورکوي. او که تاسو دا کافي نلرئ ، تاسو کولی شئ په GitHub او Galaxy کې لټون وکړئ.
  • دوهم، په اداره شوي تجهیزاتو کې د اجنټانو نصب او ملاتړ ته اړتیا نشته، ثابت کړئ چې دوی د بار سره مداخله نه کوي، او د "بک مارک" نشتوالی تاییدوي.
  • دریم، ځواب د ننوتلو لپاره ټیټ خنډ لري. یو وړ انجینر به د محصول سره د کار کولو په لومړۍ ورځ په لفظي ډول د کاري لوبو کتاب ولیکي.

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

د دې ډول مسلو لوی برخه د Red Hat لخوا حل کیږي د ځواب وړ برج، یا د هغه د خلاصې سرچینې اپ سټریم پروژه د ځواب وړ AWX. له همدې امله موږ دا د پیرودونکي لپاره غوره کړه.

او زموږ د CMS سیسټم پورټریټ ته یو بل لمس. د ځواب وړ لوبو کتاب باید د کوډ ذخیره کولو مدیریت سیسټمونو کې زیرمه شي. موږ یې لرو GitLab CE.

نو، تشکیلات پخپله د Ansible/Ansible AWX/GitLab د ترکیب لخوا اداره کیږي (شکل 3 وګورئ). البته، AWX/GitLab د یو واحد تصدیق سیسټم سره مدغم شوی، او د ځواب وړ لوبو کتاب د HashiCorp والټ سره مدغم شوی. تشکیلات یوازې د ځواب ورکونکي AWX له لارې د تولید چاپیریال ته ننوځي ، په کوم کې چې ټول "د لوبې قواعد" مشخص شوي: څوک کولی شي څه تنظیم کړي ، چیرې د CMS لپاره د تنظیم کولو مدیریت کوډ ترلاسه کړي ، او داسې نور.

د ترتیب مدیریت سره معجزې پرته د سرورونو تنظیم کولو په اړه یو تریلر
وريجې. 3. د تنظیم کولو مدیریت.

د ازموینې مدیریت

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

که دا سمدلاسه ترسره نشي، نو د ترتیب لپاره لیکل شوي رولونه به یا د ملاتړ او تعدیل مخه ونیسي، یا به په تولید کې پیل شي. د دې درد درملنه معلومه ده، او دا پخپله پدې پروژه کې ثابته شوې ده:

  • هر رول د واحد ازموینې لخوا پوښل شوی؛
  • ازموینې په اوتومات ډول پرمخ ځي کله چې په کوډ کې کوم بدلون شتون ولري چې تنظیمات اداره کوي؛
  • د تشکیلاتو مدیریت کوډ کې بدلونونه یوازې د ټولو ازموینو او کوډ بیاکتنې په بریالیتوب سره تیرولو وروسته د تولید چاپیریال کې خوشې کیږي.

د کوډ پراختیا او ترتیب مدیریت آرام او د وړاندوینې وړ ګرځیدلی. د دوامداره ازموینې تنظیم کولو لپاره ، موږ د GitLab CI/CD اوزار کټ وکاراوه ، او واخیست ځواب وړ مالیکول.

هرکله چې د تشکیلاتو مدیریت کوډ کې بدلون شتون ولري ، GitLab CI/CD مالیکول ته زنګ وهي:

  • دا د کوډ ترکیب چک کوي،
  • د ډاکر کانټینر پورته کوي،
  • جوړ شوي کانټینر ته بدل شوی کوډ پلي کوي،
  • د ادراک لپاره رول چک کوي او د دې کوډ لپاره ازموینې پرمخ وړي (دلته د کثافاتو کچه د رول په کچه کې ده، انځور 4 وګورئ).

موږ د ځواب وړ AWX په کارولو سره د تولید چاپیریال ته تشکیلات وړاندې کړل. د عملیاتو انجنیرانو د مخکینۍ ټاکل شوي ټیمپلیټونو له لارې د تشکیلاتو بدلونونه پلي کړل. AWX په خپلواکه توګه د GitLab ماسټر څانګې څخه د کوډ وروستۍ نسخه هرکله چې کارول کیږي "غوښتنه کړې". پدې توګه موږ د تولید چاپیریال کې د نه ازمویل شوي یا زاړه کوډ کارول خارج کړل. په طبیعي توګه، کوډ یوازې د ازموینې، بیاکتنې او تصویب وروسته ماسټر څانګې ته داخل شو.

د ترتیب مدیریت سره معجزې پرته د سرورونو تنظیم کولو په اړه یو تریلر
وريجې. 4. په GitLab CI/CD کې د رولونو اتوماتیک ازموینه.

د تولید سیسټمونو عملیاتو پورې اړوند ستونزه هم شتون لري. په ریښتیني ژوند کې، یوازې د CMS کوډ له لارې د تشکیلاتو بدلونونه خورا ستونزمن دي. بیړني حالتونه رامینځته کیږي کله چې انجینر باید "دلته او اوس" ترتیب بدل کړي، پرته له دې چې د کوډ ایډیټ کولو، ازموینې، تصویب، او نور ته انتظار وکړي.

د پایلې په توګه، د لاسي بدلونونو له امله، توپیرونه د ورته تجهیزاتو په ترتیب کې څرګندیږي (د مثال په توګه، د sysctl ترتیبات د HA کلستر نوډونو کې په مختلف ډول ترتیب شوي). یا د تجهیزاتو اصلي ترتیب د CMS کوډ کې مشخص شوي څخه توپیر لري.

له همدې امله ، د دوامداره ازموینې سربیره ، موږ د تشکیلاتو توپیرونو لپاره د تولید چاپیریال چیک کوو. موږ ترټولو ساده انتخاب غوره کړ: د CMS ترتیب کوډ په "وچه چل" حالت کې چلول، دا د بدلونونو پلي کولو پرته، مګر د پالن شوي او حقیقي ترتیب تر منځ د ټولو توپیرونو خبرتیا سره. موږ دا په دوره توګه د تولید سرورونو کې د "—چیک" اختیار سره د ټولو ځواب وړ لوبو کتابونو په چلولو سره پلي کوو. د تل په څیر، ځواب ورکوونکی AWX د لوبې کتاب د پیل کولو او ساتلو مسولیت لري (5 شکل وګورئ):

د ترتیب مدیریت سره معجزې پرته د سرورونو تنظیم کولو په اړه یو تریلر
وريجې. 5. په ځواب ورکوونکي AWX کې د تشکیلاتو توپیرونه چک کوي.

د چکونو وروسته، AWX مدیرانو ته د توپیر راپور لیږي. دوی ستونزمن ترتیب مطالعه کوي او بیا یې د تعدیل شوي لوبو کتابونو له لارې حل کوي. دا څنګه موږ د تولید چاپیریال کې تنظیمات ساتو او CMS تل تازه او همغږي کیږي. دا ناخوښ "معجزات" له مینځه وړي کله چې د CMS کوډ په "تولید" سرورونو کې کارول کیږي.

موږ اوس د ازموینې یو مهم پرت لرو چې د ځواب وړ AWX/GitLab/مالیکول (شکل 6) څخه جوړ دی.

د ترتیب مدیریت سره معجزې پرته د سرورونو تنظیم کولو په اړه یو تریلر
وريجې. 6. د ازموینې مدیریت.

مشکل؟ زه بحث نه کوم. مګر د تشکیلاتو مدیریت دا ډول پیچلتیا د سرور تنظیماتو اتومات کولو پورې اړوند ډیری پوښتنو ته جامع ځواب شو. اوس د پرچون پلورونکي معیاري سرورونه تل په کلکه تعریف شوي ترتیب لري. CMS، د انجنیر برعکس، د اړینو ترتیباتو اضافه کول به هیر نکړي، کاروونکي رامینځته کړي او لسګونه یا سلګونه اړین ترتیبات ترسره کړي.

نن ورځ د سرورونو او چاپیریالونو په ترتیباتو کې هیڅ "پټ پوهه" شتون نلري. ټول اړین ځانګړتیاوې د لوبې کتاب کې منعکس شوي. نور خلاقیت او مبهم لارښوونې نشته: "دا د منظم اوریکل په څیر نصب کړئ، مګر تاسو اړتیا لرئ چې یو څو sysctl ترتیبات مشخص کړئ او د اړتیا وړ UID سره کاروونکي اضافه کړئ. په عملیاتو کې د هلکانو څخه پوښتنه وکړئ، دوی پوهیږي".

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

او البته، موږ د څو ورځو څخه تر ساعتونو پورې د سرورونو پیل کول ګړندي کړل.

ښه، پخپله د نوي کال په ماښام، کله چې ماشومان په خوښۍ سره ډالۍ خلاصوي او لویان د چایمز په څیر هیلې کوي، زموږ انجنیرانو د SAP سیسټم نوي سرورونو ته لیږدول. حتی سانتا کلاز به ووایي چې غوره معجزې هغه دي چې ښه چمتو شوي دي.

PS زموږ ټیم ډیری وختونه د دې حقیقت سره مخ کیږي چې پیرودونکي غواړي د امکان تر حده د ترتیب مدیریت ستونزې حل کړي. په عین حال کې، لکه څنګه چې د جادو په واسطه - د یوې وسیلې سره. مګر په ژوند کې هرڅه خورا پیچلي دي (هو، د سپینو زرو ګولۍ بیا نه دي سپارل شوي): تاسو باید د وسیلو په کارولو سره ټوله پروسه جوړه کړئ چې د پیرودونکي ټیم لپاره مناسب وي.

لیکوال: سرګي ارتیموف، د څانګې معمار د DevOps حلونه "جیټ انفوسیستم"

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

Add a comment