المقدمة من بولاريس للحفاظ على مجموعات Kubernetes صحية

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



يسعدني تقديم Polaris ، وهو مشروع مفتوح المصدر يساعد في الحفاظ على صحة مجموعة Kubernetes. أنشأنا Polaris لأتمتة بعض من أفضل الممارسات التي تستخدمها ReactiveOps للحفاظ على التشغيل الآمن والموثوق به للمجموعات عبر عدد كبير من العملاء. حان الوقت لفتح المصدر.

مرارًا وتكرارًا شهدنا كيف أدت العيوب الطفيفة في التكوين إلى حدوث مشكلات خطيرة منعت المهندسين من النوم ليلًا. هناك شيء بسيط تمامًا - على سبيل المثال ، تكوين طلبات الموارد المفقودة بسبب النسيان - يمكن أن يؤدي إلى توقف القياس التلقائي ويؤدي إلى ترك أعباء العمل بدون موارد. في السابق ، أدت إشرافات التكوين البسيطة إلى انقطاع الإنتاج ، ولكن الآن يمكن لـ Polaris منعها تمامًا.

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

يحتوي Polaris على عنصرين رئيسيين:

  1. لوحة معلومات توفر معلومات حول كيفية تكوين عمليات النشر الموجودة في الكتلة بشكل صحيح ؛
  2. اختبار تجريبي على الويب يمنع النشر من الانتشار ، والذي لا يفي بالمعايير المقبولة.

بولاريس لوحة القيادة


تم إنشاء لوحة في Polaris للحصول على فرصة بسيطة وواضحة لمعرفة حالة النشر الحالية في Kubernetes وتلقي توصيات للتحسينات. يوفر نظرة عامة كاملة على الكتلة ، كما يقسم النتائج إلى فئات ومساحات الأسماء والنشر.



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

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

بولاريس webhook


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

بمجرد إصلاح المشكلات التي تم تحديدها بواسطة لوحة المعلومات ، يمكنك استخدام ربط الويب حتى لا يقل التكوين مرة أخرى عن المعيار المحدد. لن يسمح ربط الويب بالنشر في مجموعة من عمليات النشر التي يحتوي تكوينها على انحرافات كبيرة (مستوى "الخطأ").

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

الابتداء


آمل أنه نظرًا لأنك لا تزال تقرأ هذا الإعلان ، فإن Polaris هي أداة قد تجدها مفيدة. تريد أن تجرب لوحة القيادة نفسك؟ من السهل جدًا نشر لوحة في مجموعة. يتم تثبيته مع الحد الأدنى من الحقوق (للقراءة فقط) ، وتبقى جميع البيانات في الداخل. لنشر Dashboard باستخدام kubectl ، قم بما يلي:

kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yaml 

أنت الآن بحاجة إلى تكوين إعادة توجيه المنفذ للوصول إلى Dashboard عبر المنفذ المحلي 8080:

 kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80 

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

هذه مجرد البداية.


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

إذا كان لديك انطباع بأن Polaris قد يكون مفيدًا - يرجى قضاء بعض الوقت لتجربته. يسعدنا قبول أي أفكار أو تعليقات أو أسئلة أو طلبات سحب. يمكنك الاتصال بنا على موقع المشروع أو على GitHub أو على Twitter .

PS من المترجم


اقرأ أيضًا في مدونتنا:

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


All Articles