قم بإنشاء Kubernetes EndpointSlices

Qm Bansha Kubernetes Endpointslices



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

ما المقصود بشريحة EndpointSlice في Kubernetes؟

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

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









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



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





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

الآن ، دعنا نتعلم كيف يمكننا إنشاء Kubernetes EndpointSlice.



كيف يتم إنشاء EndpointSlices في Kubernetes؟

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

يمكنك الحصول على الخطوات التي تتيح لك معرفة كيفية إنشاء EndpointSlices في مجموعة Kubernetes في الأمثلة التالية.

الخطوة 1: ابدأ تشغيل Minikube Cluster

الخطوة الأولى والأهم هي التأكد من أن كتلة minikube نشطة. لن تسمح لك مجموعة minikube غير النشطة بأداء أي عمل في بيئة Kubernetes ، لذا تأكد من أنها في الوضع النشط. للتأكد من تشغيل مجموعة minikube ، استخدم الأمر التالي:

> بدء minikube

إذا لم تبدأ مجموعة minikube الخاصة بك في وقت سابق أو إذا كانت في وضع السكون ، فإن هذا الأمر يوقظها ويقوم بتشغيلها. الآن ، لديك مجموعة minikube نشطة. أنت جاهز لإنشاء EndpointSlice في بيئة Kubernetes الخاصة بك.

الخطوة 2: قم بإنشاء نشر باستخدام ملف YAML

يتم استخدام ملف YAML بشكل شائع في Kubernetes لإنشاء عمليات النشر. يمكنك استخدام ملف YAML للنشر الموجود مسبقًا أو يمكنك إنشاء ملف جديد باستخدام الأمر التالي:

> nano endpoint.yaml

يؤدي هذا إلى إنشاء ملف YAML جديد باسم 'endpoint.yaml' حيث يمكنك حفظ تعريف النشر للتهيئة. راجع تعريف النشر في لقطة الشاشة التالية:

الخطوة 3: قم بإنشاء EndpointSlice باستخدام ملف YAML

الآن بعد أن أصبح لدينا ملف YAML يحتوي على تعريف النشر ، نستخدمه لإنشاء EndpointSlices في مجموعة Kubernetes الخاصة بنا. نحتاج إلى نشر ملف التكوين حتى نتمكن من الحصول على EndpointSlices في مجموعة Kubernetes. نستخدم الأمر التالي لنشر ملف التكوين:

> kubectl create -f endpoint.yaml

في بيئة Kubernetes ، يتم إنشاء الموارد باستخدام الأمر 'kubectl create'. ومن ثم ، فإننا نستخدم الأمر 'kubectl create' لإنشاء EndpointSlices من ملف تكوين YAML.

استنتاج

استكشفنا EndpointSlices في بيئة Kubernetes. يعد EndpointSlice في Kubernetes كائنًا يُستخدم لتتبع جميع نقاط نهاية الشبكة في مجموعة Kubernetes. إنه أفضل بديل لنقطة نهاية ضخمة ومنفردة في مجموعة Kubernetes نظرًا لأنه يتيح خيارات أفضل للتوسع وقابلية التوسع. تُمكِّن شرائح EndpointSlices مجموعة Kubernetes من تقديم أداء أفضل من خلال تقليل العمالة على العقد ومستوى التحكم. بمساعدة أحد الأمثلة ، تعلمنا كيفية إنشاء EndpointSlices في مجموعة Kubernetes.