
في بداية العام ، تم إنشاء خدمة ويب 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
اقرأ أيضًا في مدونتنا: