KubeSail ومجموعة Kubernetes المجانية للمطورين



في بداية العام ، تم إنشاء خدمة ويب KubeSail جديدة ، تم إنشاؤها من قبل اثنين من عشاق Kubernetes الأمريكيين ، الذين تم تعيينهم على "جعل فوائد Kubernetes متاحة لجميع المطورين". ولتحقيق ذلك ، اقترحوا مجموعة K8s في شكل خدمة مُدارة ، يوجد ضمنها خطة تعريفة مجانية.

يعترف مؤلفو KubeSail بأن Kubernetes قد أصبح بالفعل معيار بناء البنية التحتية ، يعترفون بعتبة عالية للدخول ، مما "يثير الشكوك حول ما إذا كانت فوائد هذه التكنولوجيا ستغطي تكاليف [التدريب والبدء]". من أجل التخفيف من هذا العيب ، فإنها توفر خدمة سهلة الاستخدام ، يجب أن تكون النسخة المجانية منها "مفيدة لتعلم مشاريع Kubernetes أو الهوايات التي لا تساوي تكلفة 140 دولارًا / شهرًا ، كما هو الحال في [Amazon] EKS".

خطط تعرفة KubeSail الحالية هي كما يلي:



... وأسعار مع قيود مرنة على وحدة المعالجة المركزية / الذاكرة ووعد التخزين قريبا.

ما هو أفضل من الخيارات الأخرى؟


هذا ما يقوله المطورون أنفسهم (وليس فقط) ، والإجابة على أسئلة قراء Reddit حول الاختلافات بين عرضهم وما هو موجود بالفعل.

مقارنة بتشغيل Minikube محليًا:

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

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

بالمقارنة مع بائعي Kubernetes الآخرين المدارة (تشمل الأمثلة GKE و Digital Ocean):

"DO أرخص حقًا من AWS [التي ترد مقارنة مع EKS أعلاه] ، لكن يجب أن أقول إننا ندعم تكوينات HA بمعدل مجاني (يمكنك تشغيل ثلاث حافظات صغيرة على ثلاث عقد) واستخدام آلات قوية للغاية مع SSD سريع محركات الأقراص واتصالات الشبكة ، لذلك أنا مستعد للمراهنة على أن الحافظة على KubeSail ستكون أسرع من مثيل 2 جيجابايت في DO! على الرغم من أن التنافس مع DO سيكون صعباً للغاية ، فإننا سنركز على التدريب وواجهة المستخدم / الأدوات المساعدة. "

أكثر من K8s المدارة


على الرغم من أن الخدمة تركز أساسًا على المطورين ، إلا أنها قد تكون مفيدة أيضًا لمهندسي DevOps. بالإضافة إلى واجهة الويب البسيطة نفسها (ستتبع التفاصيل الخاصة بها أدناه) ، يعد المؤلفون بإصدار أدوات تطوير لـ Kubernetes والبرامج التعليمية التي من شأنها تبسيط نشر التطبيقات وتشغيلها في المجموعات. كان "أول ابتلاع" هنا هو الأداة المساعدة للنشر إلى kube ، المصممة لنشر تطبيقات Node.js في Kubernetes باستخدام أمر واحد (وحتى بدون الحاجة إلى إنشاء تهيئة لهذا - يتم طلب جميع البيانات اللازمة بشكل تفاعلي):

الصورة

لكن بالعودة إلى نظام K8s المدار بالفعل ، ما يقدمه لنا KubeSail.

العمل مع KubeSail


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

بعد تسجيل الدخول عبر حساب GitHub ، تطالبك واجهة الويب بالبدء في العمل فورًا ، أي طرح عمليات النشر الأولى إلى نظام Kubernetes الذي تم إنشاؤه:



سوف نختار أحد الأمثلة الجاهزة لهذا - QUOTE-OF-THE-MONTH . هذه خدمة اقتباس JSON عشوائية. النشر سريع (أقل من 10 ثوانٍ):



دعونا نتحقق من النتيجة ، مع الإشارة إلى نقطة النهاية التي يمكن الوصول إليها خارجيًا:

 $ curl https://qotm-2d7ab6efca.kubesail.io/ { "hostname": "qotm-5d9f776595-6qfmv", "ok": true, "quote": "A small mercy is nothing at all?", "time": "2019-02-21T02:54:15Z", "version": "2.0" } 

إنه يعمل! وهنا هي واجهة عمليات النشر التي تم تحميلها بالفعل إلى نظام المجموعة:



كما ترون ، يمكنك رؤية المعلومات الأساسية عن كل منهم: حدود الموارد ، المنافذ kubectl logs توجيهها ، إخراج السجل (بيانات من kubectl logs ).

إذا قمت بالنقر فوق رابط ACCOUNT (في الزاوية العلوية اليمنى من الواجهة) ، فيمكنك نشر نشر إضافي من أمثلة جاهزة (وهناك اثنان منهم فقط الآن: خدمة التسعير المذكورة بالفعل و nginx) أو يمكنك اختيار تهيئة جاهزة ( ~/.kube/config ) للفرصة العمل مع الكتلة من خلال kubectl المعتادة:



لاستكمال التجارب ، سنستخدم هذا التكوين ونشر نشرنا - على سبيل المثال ، من وثائق Kubernetes :

 $ kubectl create -f https://k8s.io/examples/controllers/nginx-deployment.yaml deployment.apps/nginx-deployment created $ kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE nginx 1/1 1 1 4h14m nginx-deployment 0/3 0 0 64s qotm 1/1 1 1 4h17m 

اتضح أن التوسع ، ولكن حدث خطأ ما؟ يسر واجهة KubeSail المساعدة:



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

 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 resources: limits: cpu: "100m" memory: "20Mi" requests: cpu: "10m" memory: "10Mi" 

... ومع ذلك ، فإن مصطنعة مثل هذا "التصحيح" لهذه المشكلة سرعان ما تجعل نفسها تشعر:



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

الحالة الحالية الرسمية لـ KubeSail هي نسخة تجريبية ، ويتطلع المؤلفون حقًا إلى تلقي تعليقات من أي مستخدمين لخدمتهم: كل من المطورين ومهندسي DevOps.

البدائل


أخيرًا ، دعني أذكرك أن هناك خدمات مجانية أخرى لتجربة Kubernetes ودراستها عبر الإنترنت. حول واحد منهم - العب مع Kubernetes ، باستخدام تقنية Docker-in-Docker (DIND) وتقديم وحدة تحكم في المتصفح - لقد كتبنا بالفعل مراجعة .

بالإضافة إلى ذلك ، أنشأ Katacoda ملعب Kubernetes مشابه للغاية.

وفي وثائق Kubernetes ، يمكنك العثور على قوائم كبيرة لكلا الطريقتين المحليتين لتثبيت / استخدام Kubernetes ، وللحلول المستضافة ، والتي يتجاوز عددها المتنوع اليوم الخيارات المألوفة من Amazon و Azure و Digital Ocean و Google (بالمناسبة ، قدمت KubeSail أيضًا لهذه القائمة) .

PS


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

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


All Articles