Garden v0.10.0: لا يحتاج الكمبيوتر المحمول إلى Kubernetes

ملحوظة. ترجمة.: مع عشاق Kubernetes من المشروع حدائق خارجية التقينا في حدث مؤخرا معرض KubeCon Europe 2019حيث تركوا انطباعًا جيدًا علينا. هذه المواد الخاصة بهم ، المكتوبة حول موضوع تقني حالي وبروح دعابة ملحوظة ، هي تأكيد واضح على ذلك ، وبالتالي قررنا ترجمتها.

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

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

Garden v0.10.0: لا يحتاج الكمبيوتر المحمول إلى Kubernetes
صورة مخزنة في موضوع للتأثير المتزايد

Minikube ، و kind ، و k3s ، و Docker Desktop ، و microk8s ، وما إلى ذلك. - أدوات ممتازة تم إنشاؤها من أجل استخدام Kubernetes بشكل ملائم قدر الإمكان ، والشكر لهم على ذلك. بجد. ولكن بغض النظر عن الطريقة التي تنظر إليها ، هناك شيء واحد واضح: Kubernetes غير مصمم للعمل على الكمبيوتر المحمول الخاص بي. والكمبيوتر المحمول نفسه غير مصمم للعمل مع مجموعة من الحاويات المنتشرة عبر طبقات من الأجهزة الافتراضية. المسكين يبذل قصارى جهده ، لكن من الواضح أنه لا يعجبه ، ويظهر استيائه من عواء المبردات ومحاولة حرق فخذيه عندما أضعه على ركبتيه بتهور.

دعنا نقول: كمبيوتر محمول - كمبيوتر محمول.

حدائق خارجية هي أداة مطور في نفس مكانة Skaffold و Draft. إنه يبسط ويسرع عملية تطوير واختبار تطبيقات Kubernetes.

منذ بداية العمل في الحديقة ، منذ حوالي 18 شهرًا ، عرفنا ذلك محلي يعد تطوير الأنظمة الموزعة حلاً مؤقتًا ، لذلك تتمتع Garden بالكثير من المرونة والأساس المتين.

نحن الآن جاهزون لدعم كل من بيئات Kubernetes المحلية والبعيدة. أصبح العمل أسهل بكثير: يمكن الآن إجراء التجميع والنشر والاختبار في مجموعة بعيدة.

بالمختصر:

باستخدام Garden v0.10 ، يمكنك أن تنسى تمامًا مجموعة Kubernetes المحلية ولا تزال تحصل على استجابة سريعة للتغييرات في الكود. كل هذا مجاني ومفتوح المصدر.

Garden v0.10.0: لا يحتاج الكمبيوتر المحمول إلى Kubernetes
استمتع بنفس الراحة عبر البيئات المحلية والبعيدة

هل حصلت على انتباهك؟

وأنا سعيد بذلك ، لأن لدينا العديد من الميزات المثيرة للاهتمام! الاستخدام العام لمجموعات التطوير له آثار أوسع ، خاصة بالنسبة للفرق التعاونية وخطوط أنابيب CI.

كيف ذلك؟

بادئ ذي بدء ، تتم مشاركة أداة الإنشاء داخل المجموعة - سواء كانت خدمة Docker daemon القياسية أو Kaniko - بالإضافة إلى التسجيل داخل المجموعة للمجموعة بأكملها. يمكن لفريقك مشاركة مجموعة مطوّرة ، مع توفر ذاكرات التخزين المؤقت للبناء والصور لجميع المطورين. نظرًا لأن Garden يعين علامات للصور بناءً على تجزئات المصدر ، يتم تحديد العلامات والطبقات بشكل فريد ومتسق.

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

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

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

ماذا عن CI؟

معظمنا معتاد على حقيقة أن CI و dev المحلي هما عالمان منفصلان يجب تهيئتهما بشكل منفصل (ولا يستخدمان ذاكرة تخزين مؤقت مشتركة). يمكنك الآن دمجها والتخلص من الفائض:

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

في الأساس ، يتحول CI الخاص بك إلى روبوت مطور يعمل في نفس البيئة التي تعمل فيها.

Garden v0.10.0: لا يحتاج الكمبيوتر المحمول إلى Kubernetes
عناصر النظام ؛ تطوير واختبار سلس

يمكنك تبسيط تكوينات خطوط أنابيب CI بشكل ملحوظ. للقيام بذلك ، ما عليك سوى تشغيل Garden from CI للبنى والاختبارات وعمليات النشر. نظرًا لأنك أنت و CI تستخدمان نفس البيئة ، فمن غير المرجح أن تواجه مشكلات CI.

حفر من خلال سطور لا حصر لها من التكوينات والنصوص ، ثم الدفع ، والانتظار ، والأمل والتكرار اللانهائي ... كل هذا في الماضي. أنت تتطور فقط. لا حركات اضافية.

ولتوضيح الأمور: عندما تقوم أنت أو أي عضو آخر في الفريق ببناء أو اختبار شيء ما باستخدام Garden ، حدث نفس الشيء لـ CI. إذا لم تقم بتغيير أي شيء منذ إجراء الاختبار ، فلن تحتاج إلى إجراء اختبارات (أو حتى إنشاءات) لـ CI. يقوم Garden بعمل كل شيء بنفسه ثم ينتقل إلى مهام أخرى مثل إعداد بيئة ما قبل الإطلاق ، ودفع القطع الأثرية ، وما إلى ذلك.

يبدو مغريا. كيف تجرب؟

مرحبًا بكم في مستودع GitHub الخاص بنا! قم بتثبيت Garden والعب بالأمثلة. بالنسبة لأولئك الذين يستخدمون الحديقة بالفعل أو يرغبون في التعرف عليها بشكل أفضل ، نقدمها دليل Kubernetes البعيد. انضم إلينا على القناة #garden في Slack Kubernetesإذا كانت لديك أسئلة أو مخاوف أو تريد الدردشة فقط. نحن مستعدون دائمًا للمساعدة ونرحب بتعليقات المستخدمين.

PS من المترجم

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

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

إضافة تعليق