شعار زيفيرنت

ما يجب أن تعرفه عن Kubernetes

التاريخ:

كانت Kubernetes موجودة منذ فترة وقد حققت قفزات كبيرة في السنوات الأخيرة. تم تطويره في الأصل بواسطة Google كجزء من بنيتها التحتية الداخلية - واليوم أصبح Kubernetes المعيار الفعلي لتنظيم الحاويات.

إذن ما هذا الشيء؟ ولماذا يجب أن تهتم باستخدامه؟ دعنا نستكشف.


مصدر الصورة: https://www.pexels.com/photo/codes-on-tilt-shift-lens-2004161/

نظام مفتوح المصدر

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

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

التحكم في الوصول المستند إلى الدور

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

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

تحجيم للغاية

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

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

التكوين التصريحي

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

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

تنسيق مدمج

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

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

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

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

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

تستفيد Kubernetes أيضًا من المكونات الحالية ، مثل Docker ، لتشغيل تطبيقاتك ، لذا فهي لا تعتمد على النظام الأساسي. يمكنك اختيار بيئة الاستضافة المناسبة لتطبيقك (مثل AWS و Google Cloud و Azure) ، ثم استخدام Kubernetes لنشرها هناك دون الحاجة إلى القلق بشأن عدم توافق مزود الاستضافة.

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

Kubernetes مرن أيضًا ، ويمكن تهيئته باستخدام طرق متعددة. يمكنك إما استخدام ملف التكوين الرسمي (kubernetes / أمثلة / config-rb.yml) ، أو يمكنك تحديد الواصف الخاص بك الذي يصف البودات والحاويات والمكونات الأخرى بطريقة أكثر فاعلية.


مصدر الصورة: https://www.pexels.com/photo/scientists-checking-data-3912469/

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

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

المصدر: ذكاء بيانات أفلاطون: PlatoData.io

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة

الدردشة معنا

أهلاً! كيف يمكنني مساعدك؟