11 أداة تجعل Kubernetes أفضل

11 أداة تجعل Kubernetes أفضل

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

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

Gatekeeper: إدارة السياسات

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

الجاذبية: مجموعات Kubernetes المحمولة

إذا كنت ترغب في طرح تطبيق على Kubernetes ، فإن العديد من التطبيقات لديها مخطط Helm يوجه هذه العملية ويؤتمتها. ولكن ماذا لو كنت تريد أن تأخذ مجموعة Kubernetes الخاصة بك "كما هي" وطرحها في مكان آخر؟

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

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

يمكن للإصدار الرئيسي الأخير ، Gravity 7 ، دفع صورة Gravity إلى مجموعة Kubernetes الحالية ، بدلاً من تدوير مجموعة جديدة تمامًا من الصورة. يمكن أن تعمل Gravity 7 أيضًا مع المجموعات المثبتة دون استخدام صورة Gravity. تدعم Gravity أيضًا SELinux ، وتعمل محليًا مع بوابة Teleport SSH.

كانيكو: حاويات بناء في كتلة Kubernetes

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

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

ملاحظة: Kaniko حاليًا (مايو 2020 ، تقريبا. مترجم) لا يمكن بناء حاويات Windows.

Kubecost: خيارات تكلفة بدء تشغيل Kubernetes

تركز معظم أدوات إدارة Kubernetes على سهولة الاستخدام والمراقبة وفهم السلوك داخل الكبسولة وما إلى ذلك. ولكن ماذا عن مراقبة التكلفة - بالروبل والكوبيكس - المرتبطة بإطلاق Kubernetes؟

كوبيكوست يعالج معلمات Kubernetes في الوقت الفعلي ، مما ينتج عنه معلومات تكلفة محدثة من تشغيل المجموعات لدى مزودي الخدمات السحابية الرئيسيين ، ويتم عرضها في لوحة بتكلفة شهرية لكل مجموعة. يتم تقسيم أسعار ذاكرة الوصول العشوائي (RAM) ووقت وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU) والنظام الفرعي للقرص حسب مكونات Kubernetes (حاوية ، جراب ، خدمة ، إلخ.)

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

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

KubeDB: تشغيل قواعد بيانات المعركة في Kubernetes

من الصعب أيضًا تشغيل قواعد البيانات بشكل مذهل في Kubernetes. ستجد مشغلي Kubernetes لـ MySQL و PostgreSQL و MongoDB و Redis ، لكن لديهم جميعًا عيوبًا. أيضًا ، لا تتناول مجموعة ميزات Kubernetes النموذجية معظم مشكلات قاعدة البيانات المحددة بشكل مباشر.

KubeDB يساعدك على إنشاء عبارات Kubernetes الخاصة بك لإدارة قاعدة البيانات. يعد تشغيل النسخ الاحتياطية والاستنساخ والمراقبة واللقطات وإنشاء قاعدة بيانات تعريفية من الأجزاء المكونة لها. لاحظ أن دعم الميزة يعتمد على قاعدة البيانات. على سبيل المثال ، يعمل إنشاء مجموعة مع PostgreSQL ، ولكن ليس مع MySQL (قد هناك ، كما أشير بحق com.dnbstd, تقريبا. مترجم).

قرد Kube: قرد الفوضى لـ Kubernetes

تعتبر الأعطال العشوائية هي الطريقة الأكثر خلوًا من الأخطاء في اختبار الإجهاد. تقع هذه النظرية في قلب Chaos Monkey من Netflix ، وهي أداة هندسية فوضوية تغلق بشكل عشوائي الأجهزة الافتراضية وحاويات بيئة الإنتاج من أجل "تحفيز" المطورين لبناء أنظمة أكثر مرونة. قرد kube - تطبيق نفس النظرية الأساسية لاختبار الضغط لعناقيد Kubernetes. إنه يعمل عن طريق القتل العشوائي للوحدات في المجموعة التي تحددها ، ويمكن أيضًا ضبطه للتشغيل في فترة زمنية محددة.

وحدة التحكم في دخول Kubernetes لـ AWS

يوفر Kubernetes موازن تحميل خارجي وخدمات شبكة المجموعة من خلال خدمة تسمى دخول توفر AWS ميزات موازنة الحمل ولكنها لا تجمعها تلقائيًا مع نفس ميزات Kubernetes. وحدة التحكم في دخول Kubernetes لـ AWS يسد هذه الفجوة.

يقوم تلقائيًا بإدارة موارد AWS لكل دخول في المجموعة ، وإنشاء موازنات الأحمال لموارد الإدخال الجديدة ، وحذف موازنات التحميل عند إزالة الموارد. يستخدم CloudFormation للتأكد من بقاء حالة الكتلة ثابتة. كما أنه يدعم إعدادات CloudWatch Alarm ويدير تلقائيًا العناصر الأخرى المستخدمة في المجموعة ، مثل شهادات SSL ومجموعات القياس التلقائي EC2.

Kubespray: التثبيت التلقائي لـ Kubernetes

كوبسبراي بأتمتة تثبيت مجموعة Kubernetes الجاهزة للإنتاج ، من التثبيت على خوادم الأجهزة إلى السحابات العامة الرئيسية. يستخدم Ansible (Vagrant اختياري) لبدء النشر وإنشاء مجموعة عالية التوفر من البداية مع اختيارك للوظائف الإضافية للشبكة (مثل Flannel و Calico وما إلى ذلك) على اختيارك لتوزيع Linux الشهير عند تثبيته على خوادم الأجهزة.

سكافولد: التطوير التكراري لـ Kubernetes

سكافولد - إحدى أدوات Google المستخدمة لتنظيم أقراص التطبيق المدمجة في Kubernetes. بمجرد إجراء تغييرات على الكود المصدري ، يكتشف Skaffold ذلك تلقائيًا ، ويبدأ في البناء والنشر ، ويحذرك في حالة وجود أي أخطاء. يعمل Skaffold بشكل كامل من جانب العميل ، لذلك قد يكون هناك القليل من الفروق الدقيقة مع التثبيت أو التحديث. يمكن استخدامه مع خطوط أنابيب CICD الحالية بالإضافة إلى التفاعل مع بعض أدوات البناء الخارجية ، وخاصة Google's Bazel.

Teresa: أبسط PaaS على Kubernetes

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

الإمالة: دفق تحديثات الحاوية إلى مجموعات Kubernetes

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

ملاحظة: كل هذه الأدوات لدينا مرارًا وتكرارًا جسر جنوبي بحثت بأيدينا الفضوليين. لتقديم ممارسات حقيقية بالفعل (نأمل!) في تكثيف خارج الإنترنت في فبراير. قاعدة Kubernetes 8-10 فبراير 2021. و Kubernetes ميجا من 12 إلى 14 فبراير. بصراحة ، فقدنا أيضًا الجو الدافئ والمشحون بالطاقة للتعلم دون اتصال بالإنترنت. بغض النظر عن مدى تقدم التقنيات ، فإنها لن تحل محل التواصل البشري المباشر والجو الخاص عندما يجتمع الأشخاص المتشابهون في التفكير.

المصدر: www.habr.com

إضافة تعليق