1 - المعجم

2 - توثيق كوبيرنيتيس

كوبيرنيتيس هو محرك تنسيق حاويات مفتوح المصدر لنشر التطبيقات المعبأة في حاويات وتوسيع مواردها و تعدادها و إدارتها. مؤسسة الحوسبة السحابية المتأصلة تستضيف المشروع مفتوح المصدر.

2.1 - إصدارات التوثيق المتوفرة

يوثقُ هذا الموقع الإصدار الحالي والإصدارات الأربع السابقة من كوبيرنيتيس.

لا يرتبط وجود توثيقٍ لإصدارٍ معينٍ بالدعم الرسمي لهذا الإصدار. تعَرَّف على الإصدارات المدعومة، ومدةِ دعمها، على صفحة مُدَّة الدعم.

3 - دليل الاستخدام

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

يمكنك تحميل كوبرناتيز وتثبيت عنقود كوبرناتيز على جهازك المحلي، أو في السحابة، أو على مركز البيانات الخاص بك.

يمكن أيضًا تشغيل عدة مكونات كوبرناتيز مثل kube-apiserver أو kube-proxy في الحاويات داخل العنقود.

يستحسن تشغيل مكونات كوبرناتيز كحاويات أينما كان ذلك ممكنًا، ليدير كوبرناتيز مكوناته بنفسه. لاحظ أن المكونات المسؤولة عن تشغيل الحاويات، مثل kubelet، لا يمكن تضمينها في تلك الفئة.

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

بيئة التعلم

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

بيئة الإنتاج

عند تقييم الحل لبيئة الإنتاج، ضع في اعتبارك الجوانب التي تريد إدارتها بنفسك والتي تفضل تسليمها إلى مزود الخدمة.

لإدارة العنقود بنفسك، ينصح استخدام أداة النشر المدعومة رسميًا لكوبرناتيز وهي kubeadm.

تم تصميم كوبيرنيتيس مستوى التحكم ليعمل علي أنظمه لينكس. بإمكانك تشغيل أنظمة أخرى (مثل ويندوز) داخل العنقود بعد إعداده.

3.1 - بيئة التعلم

3.2 - تثبيت كوبيرنيتيس باستخدام أدوات النشر

هناك العديد من الطرق والأدوات لإعداد عناقيد الكوبيرنيتيس الخاصة بك في بيئات الإنتاج. على سبيل المثال:

  • kubeadm

  • kops: أداة لإعداد العناقيد آلياً. للحصول على البرامج التعليمية وأفضل الممارسات وخيارات التكوين ومعلومات حول التواصل مع المجتمع، يرجى مراجعة موقعهم.

  • مزيج من مكونات إدارة البنية التحتية للعناقيد، بما في ذلك مجموعة الأوامر، وقوائم المحتوى، وأدوات التوفير، والمعرفة المجالية، الخاصة بأنسيبل. يمكنك التواصل مع مجتمع kubespray على .سلاك (#kubespray)

3.2.1 - الإقلاع التمهيدي للعناقيد باستخدام كيوبئيديام (kubeadm)

3.3 - أفضل الممارسات

3.4 - الحلول السحابية الجاهزة

توفر هذه الصفحة قائمة بموفري الحلول السحابية المعتمدين من كوبيرنيتيس. من صفحة كل موفر، يمكنك معرفة كيفية تثبيت وإعداد عناقيد جاهزة للإنتاج.

4 - ملخص

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

هذه الصفحة هي نظرة عامة على كوبيرنيتيس.

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

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

الرجوع بالزمن

دعنا نلقي نظرة على فائدة كوبيرنيتيس من خلال الرجوع بالزمن.

تطور النشر

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

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

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

يحاكي كل جهاز إفتراضي جهاز حقيقي كامل بجميع مكوناته، بما في ذلك نظام التشغيل الخاص به.

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

أصبحت الحاويات شائعة لأنها توفر مزايا إضافية، مثل:

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

لماذا تحتاج إلى كوبيرنيتيس وماذا يستطيع أن يفعل

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

هنا يظهر كوبيرنيتيس للإنقاذ! يوفر لك كوبيرنيتيس إطار عمل لتشغيل الأنظمة الموزعة بمرونة، إذ يعتني بتوسيع تطبيقك وتجاوز أعطاله، ويوفر أنماط لنشره، وأكثر من ذلك. على سبيل المثال، يمكن لكوبيرنيتيس إدارة نشر تجريبي (كناري) لنظامك بسهولة.

كوبيرنيتيس يتيح لك:

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

كوبيرنيتيس ليس

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

كوبيرنيتيس:

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

ما القادم؟

5 - برامج تعليمية

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

العناصر الأساسية

الإعدادات

التطبيقات عديمة الحالة

التطبيقات ذات الحالة

الخدمات

الأمن

ما القادم؟

إذا كنت ترغب في كتابة درس تعليمي، يرجى الاطلاع على أنواع صفحات المحتوى للحصول على معلومات حول نوع صفحة الدرس التعليمي.

5.1 - مرحبًا، مينيكيوب

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

الأهداف

  • نشر تطبيق تجريبي على عنقود مينيكيوب.
  • تشغيل التطبيق.
  • عرض سجلات التطبيق.

قبل أن تبدأ

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

ملاحظة:

قم بتنفيذ التعليمات فقط في الخطوة 1، التثبيت. الباقي مغطى في هذه الصفحة.

كما يتعين عليك تثبيت kubectl. يرجى مراجعة تثبيت الأدوات للحصول على تعليمات التثبيت.

إنشاء عنقود مينيكيوب

minikube start

فتح لوحة المعلومات

افتح لوحة معلومات كوبيرنيتيس. يمكنك فعل ذلك بطريقتين مختلفتين:

افتح *سطر أوامر جديد، وقم بتشغيل:

# ابدأ سطر أوامر جديد واترك هذا الأمر يعمل.
minikube dashboard

الآن، قم بالتبديل إلى سطر الأوامر حيث قمت بتشغيل minikube start.

نشر التطبيق

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

  1. استخدم أمر kubectl create لإنشاء نشر يدير حجيرة. تعمل الحجيرة على حاوية مبنية على صورة دوكر الآتية:

    # شَغِل صورة حاوية تتضمن خادم شبكة الويب لفحص النظام
    kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.39 -- /agnhost netexec --http-port=8080
    
  2. عرض النشر:

    kubectl get deployments
    

    :سيبدو الناتج مشابهاً للتالي

    NAME         READY   UP-TO-DATE   AVAILABLE   AGE
    hello-node   1/1      1            1           1m
    
  3. عرض الحجيرات:

    kubectl get pods
    

    :سيبدو الناتج مشابهاً للتالي

    NAME                          READY     STATUS    RESTARTS   AGE
    hello-node-5f76cf6ccf-br9b5   1/1       Running   0          1m
    
  4. عرض أحداث العنقود:

    kubectl get events
    
  5. عرض إعدادات kubectl:

    kubectl config view
    
  6. عرض سجلات التطبيق لحاوية في حجيرة.

    kubectl logs hello-node-5f76cf6ccf-br9b5
    

    :سيبدو الناتج مشابهاً للتالي

    I0911 09:19:26.677397       1 log.go:195] Started HTTP server on port 8080
    I0911 09:19:26.677586       1 log.go:195] Started UDP server on port  8081
    

ملاحظة:

لمزيد من المعلومات حول أوامر kubectl، انظر نظرة عامة على kubectl.

إنشاء خدمة

تتاح الحجيرة طبيعياً فقط عبر عنوان بروتوكول الإنترنت (IP) الداخلي للعنقود. لإتاحة حاوية hello-node خارج الشبكة الافتراضية للعنقود، يجب عليك إبراز الحجيرة كخدمة كوبيرنيتيس.

  1. قم بإبراز الحجيرة للإنترنت العام باستخدام أمر kubectl expose:

    kubectl expose deployment hello-node --type=LoadBalancer --port=8080
    

    العلم --type=LoadBalancer يشير إلى أنك تريد بإبراز خدمتك خارج العنقود.

    الكود التطبيقي داخل صورة الاختبار يستمع فقط على منفذ TCP 8080. إذا استخدمت kubectl expose لتعريض منفذ مختلف، لن يتمكن العملاء من الاتصال بذلك المنفذ الآخر.

  2. عرض الخدمة التي أنشأتها:

    kubectl get services
    

    :سيبدو الناتج مشابهاً للتالي

    NAME         TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
    hello-node   LoadBalancer   10.108.144.78   <pending>     8080:30369/TCP   21s
    kubernetes   ClusterIP      10.96.0.1       <none>        443/TCP          23m
    

    على مزودي الخدمة السحابية التي تدعم موزع الحمل، سيتم توفير عنوان (ب إي) خارجي للوصول إلى الخدمة. في حالة استخدام مينيكيوب، يجعل النوع LoadBalancer الخدمة متاحة من خلال الأمر minikube service.

  3. قم بتشغيل الأمر التالي:

    minikube service hello-node
    

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

تفعيل الإضافات

يتضمن برنامج مينيكيوب مجموعة من الإضافات المدمجة التي يمكن تفعيلها، تعطيلها وفتحها في بيئة كوبيرنيتيس المحلية.

  1. سرد الإضافات المدعومة حالياً:

    minikube addons list
    

    :سيبدو الناتج مشابهاً للتالي

    addon-manager: enabled
    dashboard: enabled
    default-storageclass: enabled
    efk: disabled
    freshpod: disabled
    gvisor: disabled
    helm-tiller: disabled
    ingress: disabled
    ingress-dns: disabled
    logviewer: disabled
    metrics-server: disabled
    nvidia-driver-installer: disabled
    nvidia-gpu-device-plugin: disabled
    registry: disabled
    registry-creds: disabled
    storage-provisioner: enabled
    storage-provisioner-gluster: disabled
    
    1. تفعيل إضافة، على سبيل المثال، metrics-server:
    minikube addons enable metrics-server
    

    :سيبدو الناتج مشابهاً للتالي

    The 'metrics-server' addon is enabled
    
  2. عرض الحجيرة والخدمة التي أُنشِئت نتيجة تفعيل تلك الإضافة:

    kubectl get pod,svc -n kube-system
    

    :سيبدو الناتج مشابهاً للتالي

    NAME                                        READY     STATUS    RESTARTS   AGE
    pod/coredns-5644d7b6d9-mh9ll                1/1       Running   0          34m
    pod/coredns-5644d7b6d9-pqd2t                1/1       Running   0          34m
    pod/metrics-server-67fb648c5                1/1       Running   0          26s
    pod/etcd-minikube                           1/1       Running   0          34m
    pod/influxdb-grafana-b29w8                  2/2       Running   0          26s
    pod/kube-addon-manager-minikube             1/1       Running   0          34m
    pod/kube-apiserver-minikube                 1/1       Running   0          34m
    pod/kube-controller-manager-minikube        1/1       Running   0          34m
    pod/kube-proxy-rnlps                        1/1       Running   0          34m
    pod/kube-scheduler-minikube                 1/1       Running   0          34m
    pod/storage-provisioner                     1/1       Running   0          34m
    
    NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
    service/metrics-server         ClusterIP   10.96.241.45    <none>        80/TCP              26s
    service/kube-dns               ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP       34m
    service/monitoring-grafana     NodePort    10.99.24.54     <none>        80:30002/TCP        26s
    service/monitoring-influxdb    ClusterIP   10.111.169.94   <none>        8083/TCP,8086/TCP   26s
    
  3. تحقق من الناتج من metrics-server:

    kubectl top pods
    

    :سيبدو الناتج مشابهاً للتالي

    NAME                         CPU(cores)   MEMORY(bytes)   
    hello-node-ccf4b9788-4jn97   1m           6Mi             
    

    إذا رأيت الرسالة التالية، انتظر وحاول مرة أخرى:

    error: Metrics API not available
    
  4. تعطيل metrics-server:

    minikube addons disable metrics-server
    

    :سيبدو الناتج مشابهاً للتالي

    metrics-server was successfully disabled
    

إزالة الموارد

الآن يمكنك إزالة الموارد التي أنشأتها في عنقودك:

kubectl delete service hello-node
kubectl delete deployment hello-node

إيقاف عنقود مينيكيوب

minikube stop

اختياريًا، حذف خادم الافتراضي الخاص بـ مينيكيوب:

# اختياري
minikube delete

إذا كنت ترغب في استخدام مينيكيوب مرة أخرى لتعلم المزيد عن كوبيرنيتيس، فلا حاجة لحذفه.

الختام

تمت تغطية الجوانب الأساسية للحصول على عنقود مينيكيوب جاهزًا للتشغيل. أنت الآن جاهز لنشر التطبيقات.

ما القادم؟

5.2 - تعلم أساسيات كوبيرنيتيس.

أساسيات كوبيرنيتيس

نتناول في الدرس الآتي أساسيات كوبيرنيتيس، وهو نظام لإدارة العناقيد. ينقسم الدرس إلى عدة وحدات، تحتوي كل منها على بضع المفاهيم بالإضافة إلى برنامج تفاعلي يجسد تلك المفاهيم.

يمكنك تعلم الآتي من خلال تلك البرامج:

  • نشر تطبيق معبأ في حاوية على عنقود.
  • توسيع ذلك التطبيق.
  • تحديث التطبيق المعبأ في حاوية بإصدار جديد للبرنامج.
  • معالجة الأعطال في التطبيق.

القيمة المضافة من استخدام كوبيرنيتيس

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


5.2.1 - إنشاء عنقود

تعرف على كوبيرنيتيس cluster وإنشاء عنقود بسيط باستخدام مينيكيوب.

5.2.2 - نشر تطبيق

5.2.3 - استكشف تطبيقك

5.2.4 - إتاحة تطبيقك للعموم

5.2.5 - قم بتحجيم تطبيقك

5.2.6 - قم بتحديث تطبيقك

6 - دليل تعريب وثائق كوبيرنيتيس

دليل تعريب وثائق كوبيرنيتيس إلى اللغة العربية

معلومات المعجم التقني العربي

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

المعجم التقني العربي

Englishالعربية
Abstractionتجريد
Agile Software Developmentتطوير مرن للبرمجيات
Auto Scalingتوسع آلي
Bare-metal machineجهاز حقيقي مجرد
Cloud native technologiesتقنية الحوسبة السحابية الأصيلة
Clusterعنقود
Commandأمر
Container Imageصورة الحاوية
Containerحاوية
Containerizationتحوية
Dependencyتبعيات
Exposeإتاحة
Kubernetesكوبيرنيتيس
Load Balancerموزع الحمل
Machineجهاز
Minikubeمينيكيوب
Namespaceنطاق
Nodeعقدة
Open sourceمفتوح المصدر
Podحجيرة
Portمنفذ
publiclyللعموم
Scalingتحجيم
Serviceخدمة
Statefulذات الحالة
Statelessعديمة الحالة
Virtual Machineجهاز افتراضي