أتمتة لأصغر. جزء صفر. تخطيط

لقد انتهى وضع SDSM ، لكن الرغبة غير المنضبطة في الكتابة لا تزال قائمة.



لسنوات عديدة ، عانى أخونا من أداء العمل الروتيني ، وعبر أصابعه قبل ارتكابه ، ونقص النوم بسبب التراجع الليلي.
لكن الأوقات المظلمة تقترب من نهايتها.

مع هذه المقالة ، سوف أبدأ سلسلة حول كيف أرى الأتمتة.
في هذه العملية ، سنتعامل مع مراحل الأتمتة ، وتخزين المتغيرات ، وإضفاء الطابع الرسمي على التصميم ، مع RestAPI ، NETCONF ، YANG ، YDK وسنبرمج كثيرًا.
هذا يعني بالنسبة لي أن أ) هذه ليست حقيقة موضوعية ، ب) ليس من دون شك أفضل طريقة ج) قد يتغير رأيي حتى أثناء الحركة من أول إلى آخر مقالة - أن نكون صادقين ، من مرحلة المسودة إلى المنشور أعيد كتابة كل شيء مرتين بشكل كامل.


محتوى


  1. أهداف
    1. الشبكة تشبه كائن واحد
    2. اختبار التكوين
    3. الإصدارات
    4. خدمات المراقبة والشفاء الذاتي

  2. أموال
    1. نظام الجرد
    2. نظام إدارة الفضاء IP
    3. نظام وصف خدمات الشبكة
    4. آلية تهيئة الجهاز
    5. البائع نموذج التكوين لاأدري
    6. سائق خاص بالمورد
    7. آلية تسليم التكوين للجهاز
    8. CI / CD
    9. آلية النسخ الاحتياطي والانحراف
    10. نظام الرصد

  3. استنتاج




سأحاول الحفاظ على ADSM بتنسيق مختلف قليلاً عن SDSM. سيستمر ظهور المقالات المرقمة التفصيلية الكبيرة ، وسننشر بينهما ملاحظات صغيرة من التجربة اليومية. سأحاول محاربة الكمال هنا وليس لعق كل واحد منهم.

كم هو مضحك أنه في المرة الثانية عليك أن تذهب بنفس الطريقة.

أولاً ، اضطررت إلى كتابة مقالات حول الشبكة نفسها بسبب حقيقة أنها لم تكن في موقع RuNet.

الآن لم أتمكن من العثور على وثيقة شاملة من شأنها تنظيم المناهج الخاصة بالأتمتة واستخدام أمثلة عملية بسيطة لتحليل التقنيات المذكورة أعلاه.

ربما أكون مخطئا ، لذلك ، ورمي روابط لموارد مناسبة. ومع ذلك ، فإن هذا لن يغير تصميمي على الكتابة ، لأن الهدف الرئيسي لا يزال هو تعلم شيء ما بنفسي ، وجعل الحياة أسهل بالنسبة لجارتي هي مكافأة لطيفة تداعب الجين لنشر التجربة.


سنحاول أن نأخذ مركز بيانات LAN DC متوسط ​​الحجم ونضع خطة الأتمتة بالكامل.
سأفعل بعض الأشياء في المرة الأولى تقريبًا معك.

في الأفكار والأدوات الموصوفة هنا ، لن أكون أصليًا. ديمتري فيجول لديه قناة ممتازة مع تيارات حول هذا الموضوع .
المقالات في العديد من الجوانب سوف تتداخل معهم.


يحتوي LAN DC على 4 وحدات تحكم المجال (DC) ، وحوالي 250 مفتاح تبديل ، ونصف دزينة من أجهزة التوجيه ، وجدران حماية.
ليس فيسبوك ، ولكن يكفي التفكير مليا في الأتمتة.
ومع ذلك ، هناك رأي مفاده أنه إذا كان لديك أكثر من جهاز ، فأنت بحاجة بالفعل إلى الأتمتة.
في الواقع ، من الصعب أن نتخيل أنه يمكن لأي شخص الآن العيش بدون مجموعة من النصوص عالية الركبة على الأقل.
على الرغم من أنني سمعت أن هناك مثل هذه المكاتب حيث يتم الاحتفاظ عناوين IP في Excel ، ويتم تكوين كل من الآلاف من أجهزة الشبكة يدويا ولها تكوين فريد من نوعه. هذا ، بالطبع ، يمكن أن ينتهى كفن معاصر ، لكن مشاعر المهندس ستهين بالتأكيد.

أهداف


الآن سنضع الأهداف الأكثر تجريدًا:
  • الشبكة تشبه كائن واحد
  • اختبار التكوين
  • حالة الشبكة الإصدار
  • خدمات المراقبة والشفاء الذاتي

في وقت لاحق من هذه المقالة سوف نحلل مما يعني أننا سوف نستخدم ، وفي ما يلي ، الأهداف والوسائل بالتفصيل.

الشبكة تشبه كائن واحد


العبارة المحددة للدورة ، على الرغم من أنها قد لا تبدو مهمة للوهلة الأولى: سنقوم بتكوين الشبكة ، وليس الأجهزة الفردية .
على مدار الأعوام القليلة الماضية ، شهدنا تحولًا في التركيز على كيفية التعامل مع الشبكة ككيان واحد ، ومن ثم حددت الشبكات والشبكات التي تعتمد على النوايا والشبكات المستقلة التي تأتي في حياتنا.
بعد كل شيء ، ما هو مطلوب عالميا من قبل التطبيقات من الشبكة: الاتصال بين النقطتين A و B (حسنا ، في بعض الأحيان + B-Z) والعزلة عن التطبيقات والمستخدمين الآخرين.



وبالتالي ، فإن مهمتنا في هذه السلسلة هي بناء نظام يدعم التكوين الحالي للشبكة بالكامل ، والذي تم تحويله بالفعل إلى التكوين الحالي على كل جهاز وفقًا لدوره وموقعه.
يشير نظام إدارة الشبكة إلى أنه لإجراء تغييرات نلجأ إليها ، ويقوم بدوره بحساب الحالة المطلوبة لكل جهاز وتكوينه.
وبالتالي ، فإننا نعمل على تقليل استخدام CLI في أيدينا إلى الصفر تقريبًا - يجب إضفاء الطابع الرسمي على أي تغييرات في إعدادات الجهاز أو تصميم الشبكة وتوثيقها - وعندها فقط يتم طرحها على عناصر الشبكة الضرورية.
هذا ، على سبيل المثال ، إذا قررنا أنه من الآن فصاعدًا ، يجب أن تعلن مفاتيح تبديل الحامل في قازان عن شبكتين بدلاً من واحدة ،
  1. أولاً نوثق التغييرات في الأنظمة
  2. نحن نولد التكوين المستهدف لجميع أجهزة الشبكة
  3. نبدأ برنامج تحديث تكوين الشبكة ، الذي يحسب ما يجب إزالته على كل عقدة ، وما يجب إضافته ، ويصل العقد إلى الحالة المطلوبة.

في الوقت نفسه ، بأيدينا نقوم بإجراء تغييرات فقط في الخطوة الأولى.


اختبار التكوين


من المعروف أن 80٪ من المشكلات تحدث أثناء تغييرات التكوين - دليل غير مباشر على ذلك هو أنه خلال إجازات رأس السنة الجديدة ، عادة ما يكون كل شيء هادئًا.
لقد شهدت شخصيا عشرات من فترات التوقف العالمية بسبب خطأ بشري: الأمر الخطأ ، تم تنفيذ التكوين في الفرع الخطأ ، ونسي المجتمع ، هدم MPLS على الصعيد العالمي على جهاز التوجيه ، وتكوين خمس قطع من الحديد ، ولم يلاحظ الخطأ السادس ، ارتكبت التغييرات القديمة التي قام بها شخص آخر . سيناريوهات الظلام مظلمة.

الأتمتة سوف تسمح لنا لارتكاب أخطاء أقل ، ولكن على نطاق أوسع. لذلك لا يمكنك إنشاء جهاز واحد ، ولكن الشبكة بالكامل في آن واحد.

من وقت سحيق ، فحص أجدادنا صحة التغييرات التي تم إجراؤها بالعين الحاد والبيض الصلب وكفاءة الشبكة بعد طرحها.
هؤلاء الأجداد ، الذين أدى عملهم إلى التوقف عن العمل وخسائر كارثية ، تركوا عددًا أقل من النسل ويجب أن يموتوا بمرور الوقت ، ولكن التطور عملية بطيئة ، وبالتالي لا يقوم الجميع بفحص التغيرات في المختبر من قبل.
ومع ذلك ، في طليعة أولئك الذين أتمتة عملية اختبار التكوين ، وتطبيقه على الشبكة. بمعنى آخر ، لقد استعارت إجراء CI / CD ( التكامل المستمر ، النشر المستمر ) من المطورين.
في جزء واحد ، سوف ننظر في كيفية تنفيذ هذا باستخدام نظام التحكم في الإصدار ، وربما جيثب.

بمجرد أن تعتاد على فكرة CI / CD للشبكة ، فإن طريقة التحقق من التكوين من خلال تطبيقه على شبكة الإنتاج بين عشية وضحاها ستظهر لك في وقت مبكر من الجهل. حول كيفية التوصل إلى رأس حربي بمطرقة.


يمثل استمرار العضوية للأفكار حول نظام إدارة الشبكة و CI / CD الإصدار الكامل للتكوين.

الإصدارات


سنفترض أنه مع أي تغييرات ، حتى الأكثر طفيفة ، حتى على جهاز غير واضح ، تنتقل الشبكة بالكامل من حالة إلى أخرى.
ونحن دائما لا ننفذ الأمر على الجهاز ، نغير حالة الشبكة.
الآن دعنا نحصل على هذه الحالات ونسميها إصدارات؟

دعنا نقول أن الإصدار الحالي هو 1.0.0.
هل تم تغيير عنوان IP لواجهة الاسترجاع على أحد الشروط؟ هذه نسخة بسيطة - احصل على الرقم 1.0.1.
استعرض سياسات استيراد المسار في BGP - أكثر خطورة بقليل - بالفعل 1.1.0
قررنا التخلص من IGP والتحول فقط إلى BGP - وهذا تغيير جذري في التصميم - 2.0.0.

في الوقت نفسه ، قد يكون لدى وحدات تحكم المجال DC إصدارات مختلفة - الشبكة قيد التطوير ، يتم تثبيت معدات جديدة ، في مكان ما يتم إضافة مستويات جديدة من العمود الفقري ، في مكان ما - لا ، إلخ.

سنتحدث عن الإصدار الدلالي في مقالة منفصلة.

أكرر - أي تغيير (باستثناء أوامر تصحيح الأخطاء) هو تحديث للإصدار. يجب إخطار المسؤولين بأي انحرافات عن الإصدار الحالي.

الأمر نفسه ينطبق على التراجع عن التغييرات - ليس هذا هو إلغاء الأوامر الأخيرة ، وهذا ليس التراجع عن طريق نظام تشغيل الجهاز - وهذا هو ما يجعل الشبكة بأكملها إلى إصدار جديد (قديم).

خدمات المراقبة والشفاء الذاتي


هذه المهمة البديهية في الشبكات الحديثة تذهب إلى مستوى جديد.
في كثير من الأحيان ، يمارس مقدمو الخدمات الكبار النهج الذي يقضي بضرورة إنهاء الخدمة المتساقطة بسرعة وإثارة خدمة جديدة بدلاً من اكتشاف ما حدث.
تعني كلمة "جدا" أنه من جميع الجوانب ، من الضروري التشويه بغزارة مع المراقبة ، والتي في غضون ثوانٍ ستكتشف أدنى انحرافات عن القاعدة.
وهنا لا تكفي المقاييس المعتادة ، مثل تحميل واجهة أو إمكانية الوصول إلى عقدة. لا يكفي والتتبع اليدوي للضابط واجب بالنسبة لهم.
بالنسبة إلى العديد من الأشياء ، يجب أن يكون هناك شفاء ذاتي بشكل عام - تضيء أدوات التحكم باللون الأحمر وتنفجر في مكانها ، حيث تؤلمها.

وهنا أيضًا ، لا نراقب الأجهزة الفردية فحسب ، بل نراقب أيضًا صحة الشبكة ككل ، كلاهما صندوقًا أبيضًا واضحًا نسبيًا ، وهو صندوق أسود أكثر تعقيدًا بالفعل.



ما الذي نحتاجه لتنفيذ مثل هذه الخطط الطموحة؟
  • احصل على قائمة بجميع الأجهزة على الشبكة وموقعها وأدوارها ونماذجها وإصدارات البرامج.
    kazan-leaf-1.lmu.net، Kazan، leaf، Juniper QFX 5120، R18.3.
  • لديك نظام لوصف خدمات الشبكة.
    IGP ، BGP ، L2 / 3VPN ، السياسة ، ACL ، NTP ، SSH.
  • تكون قادرة على تهيئة الجهاز.
    اسم المضيف ، Mgmt IP ، Mgmt Route ، المستخدمون ، مفاتيح RSA ، LLDP ، NETCONF
  • قم بتكوين الجهاز وجلب التكوين إلى الإصدار المطلوب (بما في ذلك الإصدار القديم).
  • اختبار التكوين
  • تحقق دوريًا من حالة جميع الأجهزة بحثًا عن الانحرافات عن الجهاز الحالي وتعرف على من يجب.
    في الليل ، أضاف شخص بهدوء قاعدة إلى دوري أبطال آسيا .
  • مراقبة الأداء.




أموال


الأصوات معقدة بما يكفي لبدء تحليل المشروع إلى مكونات.

وسيكون هناك عشرة منهم:
  1. نظام الجرد
  2. نظام إدارة الفضاء IP
  3. نظام وصف خدمات الشبكة
  4. آلية تهيئة الجهاز
  5. البائع نموذج التكوين لاأدري
  6. سائق خاص بالمورد
  7. آلية تسليم التكوين للجهاز
  8. CI / CD
  9. آلية النسخ الاحتياطي والانحراف
  10. نظام الرصد


هذا ، بالمناسبة ، هو مثال على كيفية تغيير وجهة النظر حول أهداف الدورة - كان هناك 4 مكونات في مشروع المكونات.




في الرسم التوضيحي ، قمت بتصوير جميع المكونات والجهاز نفسه.
تتفاعل المكونات المتقاطعة مع بعضها البعض.
كلما زاد حجم الكتلة ، زاد الاهتمام الذي تحتاج إلى دفعه لهذا المكون.



المكون 1. نظام الجرد


من الواضح ، أننا نريد أن نعرف ما هي المعدات ، وأين تقف ، وما هو متصل بها.
نظام المخزون هو جزء لا يتجزأ من أي مؤسسة.
في معظم الأحيان ، بالنسبة لأجهزة الشبكة ، لدى المؤسسة نظام جرد منفصل يعمل على حل المزيد من المهام المحددة.
كجزء من سلسلة من المقالات ، سوف نسميها DCIM - إدارة البنية التحتية لمركز البيانات. على الرغم من أن مصطلح DCIM نفسه ، بالمعنى الدقيق للكلمة ، يتضمن أكثر من ذلك بكثير.

لمهامنا ، سنقوم بتخزين المعلومات التالية حول الجهاز فيه:
  • رقم المخزون
  • العنوان / الوصف
  • الطراز ( Huawei CE12800 ، Juniper QFX5120 ، إلخ )
  • المعلمات النموذجية ( لوحات ، واجهات ، الخ )
  • دور ( ورقة ، العمود الفقري ، راوتر الحدود ، وما إلى ذلك )
  • الموقع ( المنطقة ، المدينة ، مركز البيانات ، الرف ، الوحدة )
  • يربط بين الأجهزة
  • طوبولوجيا الشبكة




من الواضح تماماً أننا نريد أن نعرف كل هذا.
ولكن هل ستساعد الأتمتة؟
بالطبع
على سبيل المثال ، نعلم أنه في مركز البيانات هذا على مفاتيح Leaf ، إذا كان Huawei ، يجب تطبيق قوائم ACL لتصفية حركة مرور معينة على VLAN ، وإذا كانت Juniper ، ثم على الوحدة 0 من الواجهة الفعلية.
أو تحتاج إلى طرح خادم Syslog جديد لجميع الحدود في المنطقة.

فيه ، سنقوم بتخزين أجهزة الشبكات الافتراضية ، مثل أجهزة التوجيه الافتراضية أو عاكسات الجذر. يمكننا إضافة خادم DNS ، NTP ، Syslog ، وعمومًا كل ما يتعلق بالشبكة بطريقة أو بأخرى.


المكون 2. نظام إدارة مساحة IP


نعم ، وفي عصرنا هناك فرق من الأشخاص الذين يتتبعون البادئات وعناوين IP في ملف Excel. ولكن النهج الحديث لا يزال قاعدة بيانات ، مع واجهة على nginx / apache ، و API ووظائف واسعة لأخذ عناوين IP والشبكات في الحسبان مع الفصل في VRF.
IPAM - إدارة عناوين IP.

لمهامنا ، سنقوم بتخزين المعلومات التالية فيها:
  • VLAN
  • VRF
  • الشبكات / الشبكات الفرعية
  • عناوين IP
  • ربط العناوين بالأجهزة والشبكات إلى المواقع وأرقام شبكة محلية ظاهرية




مرة أخرى ، من الواضح أننا نريد أن نتأكد من أننا من خلال تخصيص عنوان IP جديد لاسترجاع ToR ، لن نتعثر من حقيقة أنه قد تم تخصيصه بالفعل لشخص ما. أو أننا استخدمنا نفس البادئة مرتين في نهايات مختلفة للشبكة.
ولكن كيف يساعد هذا في التشغيل الآلي؟
بسهولة.
نطلب بادئة في النظام مع دور الاسترجاع ، حيث توجد عناوين IP متاحة للتخصيص - إذا كان الأمر كذلك ، حدد العنوان ، إن لم يكن ، نطلب إنشاء بادئة جديدة.
أو عند إنشاء تكوين الجهاز ، يمكننا من نفس النظام معرفة VRF التي يجب أن تكون الواجهة فيها.
وعند بدء تشغيل خادم جديد ، ينتقل البرنامج النصي إلى النظام ، ويعرف في أي خادم رمز التبديل ، وفي أي منفذ وأي شبكة فرعية تم تعيينها للواجهة - سيحدد عنوان الخادم منه.



يطرح رغبة DCIM و IPAM للاندماج في نظام واحد حتى لا يكرر الوظائف ولا يخدم كيانين متشابهين.
لذلك سوف نفعل.


المكون 3. نظام وصف خدمات الشبكة


إذا كان النظامان الأولان يخزنان المتغيرات التي لا تزال بحاجة إلى استخدامها بطريقة أو بأخرى ، فإن الثالث يصف لكل دور جهاز كيفية تكوينه.
تجدر الإشارة إلى نوعين مختلفين من خدمات الشبكة:
  • بنية التحتية
  • العميل.


تم تصميم السابق لتوفير الاتصال الأساسية وإدارة الجهاز. وتشمل هذه VTY ، SNMP ، NTP ، Syslog ، AAA ، بروتوكولات التوجيه ، CoPP ، إلخ.
ويقوم الطرفان الآخران بتنظيم الخدمة للعميل: MPLS L2 / L3VPN ، GRE ، VXLAN ، VLAN ، L2TP ، إلخ.
بالطبع ، هناك أيضا حالات الحدود - حيث تشمل MPLS LDP ، BGP؟ نعم ، ويمكن استخدام بروتوكولات التوجيه للعملاء. ولكن هذا ليس مهما.

يتحلل كلا النوعين من الخدمات إلى بدائل التكوين:
  • واجهات المادية والمنطقية (العلامة / anteg ، mtu)
  • عناوين IP و VRF (IP ، IPv6 ، VRF)
  • ACLs وسياسات التعامل مع حركة المرور
  • البروتوكولات (IGP ، BGP ، MPLS)
  • سياسات التوجيه (قوائم البادئة ، المجتمع ، عوامل تصفية ASN).
  • خدمات الخدمات (SSH ، NTP ، LLDP ، Syslog ...)
  • وهلم جرا.

كيف بالضبط سوف نفعل هذا ، لن أضع في ذهني لذلك حتى الآن. سنتعامل في مقالة منفصلة.



إذا كان أقرب إلى الحياة ، فيمكننا إذن وصف ذلك
يجب أن يكون للمفتاح الورقي جلسات عمل BGP مع كافة مفاتيح Spine المتصلة ، واستيراد الشبكات المتصلة في العملية ، وقبول الشبكات فقط من بادئة معينة من مفاتيح Spine. حدد CoPP IPv6 ND إلى 10 pps ، إلخ.
في المقابل ، تعقد الدورات دورات مع جميع الهيئات المتصلة ، وتعمل كعاكسات للجذر ، ولا تتلقى منها سوى طرق بطول معين ومع مجتمع معين.


المكون 4. آلية تهيئة الجهاز


تحت هذا العنوان ، أدمج العديد من الإجراءات التي يجب أن تحدث حتى يظهر الجهاز على الرادارات ويمكن الوصول إليه عن بُعد.
  1. قم ببدء تشغيل الجهاز في نظام الجرد.
  2. تسليط الضوء على عنوان IP الإدارة.
  3. تكوين الوصول الأساسي إليها:
    اسم المضيف ، عنوان IP للإدارة ، الطريق إلى شبكة الإدارة ، المستخدمين ، مفاتيح SSH ، البروتوكولات - telnet / SSH / NETCONF


هناك ثلاث طرق:
  • كل شيء يدوي تماما. يتم إحضار الجهاز إلى حامل حيث يقوده شخص عادي إلى النظام ، والاتصال بوحدة التحكم والتكوين. قد تعمل على شبكات ثابتة صغيرة.
  • ZTP - الصفر اللمس التموين. جاء الحديد ، وقفت ، وتلقى عنوانا عبر DHCP ، وذهب إلى خادم خاص ، وتكوين نفسه.
  • البنية التحتية لخوادم وحدة التحكم ، حيث يحدث التكوين الأولي من خلال منفذ وحدة التحكم في الوضع التلقائي.


سنتحدث عن الثلاثة في مقالة منفصلة.





المكون 5. نموذج التكوين البائع


حتى الآن ، كانت جميع الأنظمة خرقًا مبعثرة تقدم متغيرات ووصفًا إعلانيًا لما نود رؤيته على الشبكة. لكن عاجلاً أم آجلاً ، عليك التعامل مع التفاصيل.
في هذه المرحلة ، يتم دمج البدائل والخدمات والمتغيرات لكل جهاز معين في نموذج تكوين يصف بالفعل التكوين الكامل لجهاز معين ، فقط بطريقة مستقلة عن البائع.
ما يعطي هذه الخطوة؟ لماذا لا تقوم بتكوين الجهاز على الفور ، والذي يمكنك تعبئته ببساطة؟
في الواقع ، هذا يسمح لنا بحل ثلاث مشاكل:
  1. لا تتكيف مع واجهة محددة للتفاعل مع الجهاز. سواء كان CLI ، NETCONF ، RESTCONF ، SNMP - فإن النموذج سيكون هو نفسه.
  2. لا تحتفظ بعدد القوالب / البرامج النصية حسب عدد البائعين على الشبكة ، وفي حالة حدوث تغيير في التصميم ، قم بتغييره في عدة أماكن.
  3. قم بتنزيل التكوين من الجهاز (نسخ احتياطي) ، وقم بطرحه في نفس النموذج تمامًا وقارن مباشرة التكوين الهدف والتكوين المتاح لحساب الدلتا وإعداد تصحيح التكوين ، والذي سيغير فقط الأجزاء الضرورية أو لاكتشاف الانحرافات.




نتيجة لهذه المرحلة ، حصلنا على تكوين مستقل عن البائع.


المكون 6. واجهة البائع سائق معين


لا تعبّر عن نفسك بأمل أنه بمجرد أن تتمكن من تكوين tsiska ، سيكون ذلك ممكنًا بنفس طريقة العبور ، فقط أرسلهم بالضبط نفس المكالمات. على الرغم من تزايد شعبية صناديق whitebox وظهور الدعم لـ NETCONF و RESTCONF و OpenConfig ، فإن المحتوى المحدد الذي تقدمه هذه البروتوكولات يختلف عن البائع إلى البائع ، وهذا أحد اختلافاتهم التنافسية التي لن يفقدوها.
هذا هو نفسه تقريبا مثل OpenContrail و OpenStack ، اللذين لهما RestAPI كواجهة NorthBound ، ويتوقعان مكالمات مختلفة تماما.

لذلك ، في الخطوة الخامسة ، يجب أن يأخذ النموذج المستقل عن البائع الشكل الذي سينتقل إليه.
وهنا ، كل الوسائل جيدة (لا): CLI ، NETCONF ، RESTCONF ، SNMP في خريف بسيط.

لذلك ، نحتاج إلى برنامج تشغيل يترجم نتيجة الخطوة السابقة إلى التنسيق المطلوب لبائع معين: مجموعة من أوامر CLI وهيكل XML.





المكون 7. آلية تسليم التكوين للجهاز


لقد أنشأنا التكوين ، ولكن لا يزال يتعين تسليمه إلى الأجهزة - ومن الواضح أنه ليس باليد.
أولاً ، نواجه السؤال ، ما نوع النقل الذي سنستخدمه؟ والاختيار اليوم لم يعد صغيراً:
  • CLI (telnet، ssh)
  • SNMP
  • NETCONF
  • RESTCONF
  • REST API
  • OpenFlow (على الرغم من أنه تم إخراجه من القائمة ، لأن هذه طريقة لتقديم FIB ، وليس الإعدادات)


دعنا ننتقل هنا مع e. CLI هو Legacy. SNMP ... الكالينجيون.
لا يزال RESTCONF حيوانًا مجهولًا ؛ لا يدعمه REST API تقريبًا. لذلك ، سوف نركز على NETCONF في حلقة.

في الواقع ، كما فهم القارئ بالفعل ، لقد قررنا بالفعل على الواجهة في هذه المرحلة - تم تقديم نتيجة الخطوة السابقة بالفعل في شكل الواجهة التي تم اختيارها.

ثانياً ، ما الأدوات التي سنفعلها؟
هنا الخيار كبير أيضًا:
  • النصي المكتوبة ذاتيا أو منصة. نحن نسلح أنفسنا مع ncclient و asyncIO ونفعل كل شيء بأنفسنا. ما هي تكلفة بناء نظام نشر من البداية؟
  • Ansible مع مكتبة غنية من وحدات الشبكة.
  • الملح مع شبكته الهزيلة العمل وحزمة مع النابالم.
  • في الواقع نابالم ، الذي يعرف اثنين من البائعين وهذا كل شيء ، وداعا.
  • نورنير هو وحش آخر نستعد له للمستقبل.


لا يوجد حتى الآن اختيار المفضل - ونحن سوف الدوس.

ما هو المهم هنا؟ عواقب تطبيق التكوين.
بنجاح أم لا. بقي الوصول إلى قطعة من الأجهزة أم لا.
يبدو أن الالتزام سيساعد هنا في تأكيد والتحقق مما تم تنزيله على الجهاز.
هذا بالإضافة إلى التنفيذ الصحيح لـ NETCONF ، يضيق بشكل كبير نطاق الأجهزة المناسبة - لا تدعم العديد من الشركات المصنعة الالتزامات العادية. ولكن هذا مجرد واحد من المتطلبات الأساسية في طلب تقديم العروض . في النهاية ، لا يشعر أحد بالقلق من أنه لن يمر بائع روسي واحد تحت واجهة 32 * 100GE. أو المخاوف؟




المكون 8. CI / CD


في هذه المرحلة ، نحن مستعدون بالفعل لجميع أجهزة الشبكة.
أكتب "لكل شيء" لأننا نتحدث عن تعيين حالة الشبكة. وحتى إذا كنت بحاجة إلى تغيير إعدادات مفتاح واحد فقط ، يتم حساب التغييرات الخاصة بالشبكة بالكامل. من الواضح ، يمكن أن تكون صفرا لمعظم العقد.

ولكن ، كما ذكرنا سابقًا ، أعلاه ، لسنا بعض البرابرة من أجل تحريك كل شيء دفعة واحدة إلى المنتج.
يجب أن ينتقل التكوين الذي تم إنشاؤه أولاً عبر خط أنابيب CI / CD.
CI / CD لتقف على التكامل المستمر ، النشر المستمر. هذا هو النهج الذي ينشر فيه الفريق إصدارًا رئيسيًا أكثر من مرة واحدة كل ستة أشهر ، يستبدل الإصدار القديم تمامًا ، وينشر بانتظام وظائف جديدة على دفعات صغيرة ، يختبر كل منها بشكل شامل التوافق والأمان والأداء (التكامل).


للقيام بذلك ، لدينا نظام للتحكم في الإصدار يراقب تغييرات التكوين ، ومختبر حيث نتحقق مما إذا كانت خدمة العملاء معطلة ، ونظام مراقبة يتحقق من هذه الحقيقة ، والخطوة الأخيرة هي نشر التغييرات على شبكة الإنتاج.

باستثناء فرق تصحيح الأخطاء ، يجب أن تمر جميع التغييرات على الشبكة عبر CI / CD Pipeline - وهذا هو ضماننا لحياة هادئة ومهنة سعيدة طويلة.





المكون 9. نظام النسخ الاحتياطي والرفض


حسنًا ، لا يجب أن أتحدث عن النسخ الاحتياطية مرة أخرى.
سنقوم ببساطة بإضافتهم وفقًا للتاج أو بناءً على حقيقة تغيير التكوين في البوابة.

ولكن الجزء الثاني هو أكثر إثارة للاهتمام - يجب أن يراقب شخص ما هذه النسخ الاحتياطية. وفي بعض الحالات ، يتعين على هذا الشخص أن يذهب ويدور كل شيء كما كان ، وفي حالات أخرى ، مواء شخص ما ، هذا الاضطراب.
على سبيل المثال ، إذا كان هناك مستخدم جديد غير مسجل في المتغيرات ، فعليك إزالته من الاختراق. وإذا كان من الأفضل عدم لمس قاعدة جدار الحماية الجديدة ، فربما قام شخص ما بتشغيل تصحيح الأخطاء ، أو ربما خدمة جديدة ، أو فوضى ، ولم يسجل وفقًا للقواعد ، لكن الأشخاص ذهبوا إليها بالفعل.

ما زلنا لا نبتعد عن بعض الدلتا الصغيرة على نطاق الشبكة بالكامل ، على الرغم من أنظمة التشغيل الآلي وأيدي الإدارة الفولاذية. لتصحيح المشاكل على أي حال ، لا أحد سيجلب التكوين للنظام. علاوة على ذلك ، قد لا يتم توفيرها حتى بواسطة نموذج التكوين.
على سبيل المثال ، قاعدة جدار حماية لحساب عدد الحزم على عنوان IP معين ، لتوطين المشكلة - تكوين مؤقت عادي تمامًا.






المكون 10. نظام الرصد


في البداية ، لم أكن سأغطي موضوع المراقبة - لا يزال موضوعًا ضخمًا ومثيراً للجدل ومعقدًا. ولكن على طول الطريق ، اتضح أن هذا جزء لا يتجزأ من الأتمتة. ولا يمكنك الالتفاف عليها حتى بدون ممارسة.

تطوير الفكر هو جزء عضوي من عملية CI / CD. بعد نشر التكوين على الشبكة ، نحتاج إلى أن نكون قادرين على تحديد ما إذا كان كل شيء على ما يرام الآن.
ولا يتعلق الأمر فقط بالرسوم البيانية الخاصة باستخدام واجهات أو توفر المضيف ، بل يتعلق أيضًا بأمور أكثر دقة - مدى توفر الطرق الضرورية والسمات عليها وعدد جلسات BGP وجيران OSPF وخدمات الجهوزية من البداية إلى النهاية.
لكن هل توقف syslogs على الخادم الخارجي عن الطي ، هل تعطل وكيل SFlow ، هل بدأت قطرات في قوائم الانتظار في النمو ، وهل انفصل الاتصال بين أي زوج من البادئات؟

في مقال منفصل ، ونحن نفكر في هذا.









استنتاج


كأساس ، لقد اخترت أحد تصميمات شبكة مراكز البيانات الحديثة - L3 Clos Fabric مع BGP كبروتوكول التوجيه.
هذه المرة سنقوم ببناء شبكة على Juniper ، لأن واجهة JunOs الآن هي vanlav.

لنقم بتعقيد حياتنا باستخدام أدوات Open Source فقط وشبكة متعددة البائعين - لذلك ، بصرف النظر عن Juniper ، على طول الطريق سأختار رجل محظوظ آخر.

خطة المنشورات القادمة شيء من هذا القبيل:
أولاً سأتحدث عن الشبكات الافتراضية. بادئ ذي بدء ، لأنني أريد ، وثانياً ، لأنه بدون هذا ، لن يكون تصميم شبكة البنية التحتية واضحًا للغاية.
ثم حول تصميم الشبكة نفسه: الطوبولوجيا ، التوجيه ، السياسات.
دعونا تجميع موقف المختبر.
دعونا نفكر وربما نتدرب على تهيئة الجهاز على الشبكة.
ثم عن كل مكون في تفاصيل حميمة.

ونعم ، أنا لا أعد بإنهاء هذه الدورة بأناقة بحل جاهز. :)

روابط مفيدة

  • قبل الخوض في هذه السلسلة ، يجب عليك قراءة كتاب ناتاشا سامويلينكو بيثون لمهندسي الشبكات . وربما ، تأخذ دورة .
  • سيكون من المفيد أيضًا قراءة RFC حول تصميم مصانع مركز البيانات من Facebook لتأليف بيتر لابوخوف.
  • توفر لك وثائق هندسة Tungsten Fabric (Open Contrail سابقًا) فكرة عن كيفية عمل Overlay SDN .


شكرا

الخانق الروماني. للتعليقات والتعديلات.
أرتيوم تشيرنوباي. ل KDPV.

Source: https://habr.com/ru/post/ar453516/


All Articles