ما هي مجموعة Kubernetes؟

مجموعة Kubernetes (K8s) هي مجموعة من العقد الحاسوبية، أو الآلات العاملة، التي تقوم بتشغيل التطبيقات الحاوية. الوضع في حاوية عبارة عن عملية نشر برمجيات تعتمد على وقت التشغيل وتجمع تعليمات التطبيق البرمجية مع جميع الملفات والمكتبات التي يحتاجها للعمل على أي بنية أساسية. Kubernetes هو برنامج مفتوح المصدر لتكوين الحاويات وتنسيقها وإدارتها بشكل مؤتمت، يمكنك من خلاله إدارة الحاويات وتنسيقها وجدولتها على نطاق واسع. يضع Kubernetes الحاويات في الكبسولات ويديرها على العقد. تحتوي كتلة Kubernetes، على الأقل، على عقدة رئيسية تشغّل حاويات pod ومستوى تحكّم لإدارة الكتلة. عندما تنشر Kubernetes، فأنت تكون بشكل أساسي تشغّل كتلة Kubernetes.

ما هي أساسيات Kubernetes؟

لفهم مجموعة Kubernetes، تحتاج أولاً إلى فهم أساسيات النقل بالحاويات باستخدام Kubernetes. 

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

Kubernetes هو برنامج مفتوح المصدر لتنسيق الحاويات يبسط إدارة الحاويات على نطاق واسع. يمكنه جدولة الحاويات وتشغيلها وبدأها وإغلاقها وأتمتة وظائف الإدارة. يحصل المطورون على مزايا النقل بالحاويات على نطاق واسع دون النفقات الإدارية العامة.

بعد ذلك، دعونا نلقي نظرة على بعض مفاهيم Kubernetes الأساسية.

Pod

pod هو الوحدة القياسية القابلة للنشر ضمن Kubernetes. تحتوي وحدات pod على حاوية واحدة أو أكثر، وداخل pod، تشترك الحاويات في نفس موارد النظام مثل التخزين والشبكات. تحصل كل pod على عنوان IP فريد. 

لا يتم عزل الحاويات الموجودة داخل وحدة pod. فكر في وحدة pod على أنها تشبه الجهاز الافتراضي (VM)، مع حاويات مشابهة للتطبيقات التي تعمل على VM. يمكن تنظيم وحدات pod ومجموعات pod من خلال إرفاق تصنيفات السمات بها، مثل تسمية «dev» أو «prod» لنوع البيئة. 

العقدة

العقدة هي آلة تقوم بتشغيل وحدات pod. يمكن أن تكون خادمًا فعليًا أو افتراضيًا، مثل مثيل Amazon EC2. تتضمن المكونات الموجودة على العقدة ما يلي:

  • Kubelet لإدارة العقد والحاويات
  • Kube-proxy لوكيل الشبكة
  • وقت تشغيل الحاوية

يجب تثبيت وقت تشغيل حاوية متوافق على العقدة لتشغيل الحاويات. تدعم Kubernetes العديد من أوقات تشغيل الحاويات، مثل واجهة وقت تشغيل حاوية Kubernetes والحاوية. 

مجموعة النسخ المتماثلة والنشر

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

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

الخدمة والدخول

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

ما هي مكونات مجموعة Kubernetes؟

مجموعة Kubernetes هي مجموعة من عقدة واحدة أو أكثر مع وحدة pod قيد التشغيل. داخل المجموعة، يقوم مستوى تحكم Kubernetes بإدارة العقد ووحدات pod.

تشمل مكونات مستوى التحكم ما يلي:

  • خادم Kubernetes API‏ (kube-apiserver) الذي يدير الاتصالات داخل المجموعة وإليه
  • التخزين (etcd) لتسجيل الحالة الثابتة للمجموعة
    المُجدوِل (kube-scheduler) لإدارة العقدة وموارد pod Kubernetes اللاحقة 

تشمل المكونات الأخرى مدير وحدة التحكم للعقدة والتحكم في الوظائف (kube-controller-manager)، ومدير وحدة التحكم السحابية للتكامل مع البنية التحتية السحابية العامة الخاصة بالمزود (cloud-controller-manager).

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

كيف يعمل المطورون مع مجموعة Kubernetes؟

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

التثبيت

لبدء استخدام أجهزة Linux الافتراضية، قم أولاً بتثبيت ما يلي على العقدة الرئيسية التي اخترتها (الجهاز الافتراضي):

  • Docker أو أي برنامج آخر لنقل الحاويات.
  • مفتاح المستودع ومستودع الكود الخاص بـ Kubernetes.
  • حزمة kubeadm لتمهيد الكتلة.
  • حزمة kubelet لتنسيق العقدة.
  • حزمة kubectl لسطر أوامر المجموعة.

قم بإجراء العملية على كل من عقد العامل المعينة الأخرى.

تهيئة المجموعة

لتهيئة المجموعة، قم بتشغيل الأمر kubeadm init على العقدة الرئيسية. يجب إضافة ملف تهيئة kube ونشر شبكات pod، عادةً باستخدام ملف YAML، قبل أن تصبح المجموعة جاهزة للعمل. يقوم الأمر kubeadm init بإخراج أمر join، والذي يمكن نسخه ولصقه في سطور أوامر العقدة الأخرى لعامل الجهاز الافتراضي. يسمح هذا لكل عقدة عاملة بالانضمام إلى المجموعة. 

العمل مع Kubernetes

باستخدام لوحة معلومات Kubernetes UI، يمكن للناشرين إنشاء التطبيقات ونشرها على المجموعة. بالنسبة إلى لوحة معلومات Kubernetes UI، قم بتشغيل الأمر kubectl proxy على الجهاز الرئيسي. ستكون واجهة المستخدم متاحة بعد ذلك على http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/.

ما هي إدارة مجموعة Kubernetes؟

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

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

كيف يمكن لـ AWS المساعدة في متطلبات مجموعة Kubernetes الخاصة بك؟

توفر AWS خدمات سحابية لتكوين مجموعات Kubernetes وتشغيلها وإدارتها: 

  • تساعدك سحابة الحوسبة المرنة لـ Amazon (Amazon EC2) على توفير Kubernetes وتشغيلها حسب اختيارك لأنواع المثيلات.
  • تساعدك خدمة Kubernetes المرنة بـ Amazon (Amazon EKS) على بدء تشغيل Kubernetes وتشغيلها وتوسيع نطاقها - دون الحاجة إلى توفير مثيلات رئيسية أو إدارتها باستخدام مستوى تحكم وما إلى ذلك. تأتي EKS مع أدوات إدارة المجموعات والتكامل المفيد مع شبكات AWS وخدمات الأمان.

ابدأ مع مجموعات Kubernetes على AWS من خلال إنشاء حساب مجاني اليوم.

الخطوات التالية على AWS

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

تمتع بالوصول الفوري إلى الطبقة المجانية من AWS.

تسجيل الاشتراك 
ابدأ في التطوير في وحدة التحكم

بدء الإنشاء في وحدة إدارة تحكم AWS.

تسجيل الدخول