‫CRD ونمط المشغل.
‫هذا هو المكان الذي تبدأ فيه الأشياء في أن تصبح مثيرة للاهتمام
‫حقًا مع Kubernetes. لأنه عندما نبدأ في إضافة جميع
‫أدوات الجهات الخارجية هذه ، وهناك كل واجهات برمجة التطبيقات
‫هذه في Kubernetes لتوسيعها.
‫تصبح Kubernetes نفسها منصتها الخاصة لتقوم بأشياء
‫لم يتم تصميمها للقيام بها أو لم تعتقد أبدًا أنها
‫تستطيع القيام بها.
‫أولاً ، إذا لم تكن قد أدركت حتى الآن في هذه الدورة التدريبية
‫، فيمكنك إضافة أشياء تابعة لجهات خارجية إلى Kubernetes.
‫لا يستخدم فقط Kubernetes API.
‫الآن ، مع الموارد المخصصة ووحدات التحكم المخصصة ، يمكنك تغيير
‫واجهة برمجة التطبيقات.
‫يمكنك بالفعل استخدام
‫API لتوسيعها. بعد ذلك ، حتى kubectl ، في سطر
‫الأوامر ، يحصل على أوامر جديدة ، ويمكنه رؤية أنواع موارد
‫جديدة ووحدات تحكم جديدة. قبل بضع سنوات ، خرج
‫CoreOS بمقال لطيف يتحدث عن نمط المشغل
‫، والذي كان طريقتهم في تنفيذ الموارد المخصصة
‫ووحدات التحكم المخصصة معًا بطريقة
‫تسمح لك باستخدام برامج معقدة سابقًا في Kubernetes
‫، ولكن هذا Kubernetes هو على علم بهذا
‫البرنامج.
‫ربما
‫إذا كان لديك نظام مراقبة معقد مثل بروميثيوس
‫، وأردت نشره وتشغيله ، فابقه محدثًا ، وفعل
‫كل الأشياء به ، فأنت لا تريد بالضرورة
‫أن تتعلم كل الأجزاء المختلفة منه وكيف
‫يعملون في Kubernetes.
‫قد يحتاج البعض منهم StatefulSet.
‫قد يحتاج البعض إلى عمليات النشر والخدمات.
‫قد يحتاج البعض إلى نوع من وظيفة cron فيه.
‫أعني أن هناك كل هذه الأنواع المختلفة من الموارد التي
‫قد تحتاجها من أجل الحصول على حل مراقبة يعمل بكامل
‫طاقته.
‫هذا مجرد مثال واحد.
‫في الأساس ، هناك كل هذا البرنامج الآن الذي
‫يتبنى هذا النمط وينفذ الكود المخصص الخاص
‫به في Kubernetes لتوسيعه.
‫بشكل أساسي ، يمنحك أوامر kubectl
‫لتشغيل هذه الأدوات كما لو كانت جزءًا
‫أصليًا من Kubernetes نفسها.
‫يحدث هذا لجميع أنواع العناصر مفتوحة المصدر وهو أنه يمكنك
‫إضافة هذه الأشياء في ... في الموارد سترى مجموعة من القوائم
‫ومواقع الويب المختلفة ، يمكنك بالفعل العثور
‫على هذه الأشياء.
‫تعتقد أنها ملفات YAML معقدة حقًا
‫لا تسمح لك فقط بنشر شيء ما ثم يتم تشغيله فقط
‫، ولكن في الواقع تحصل على أوامر وواجهات
‫برمجة تطبيقات أخرى تمتد من Kubernetes
‫نفسها.
‫إنها منطقة مثيرة جدًا لأنها جديدة نوعًا
‫ما وتُظهر فقط كيف يتولى Kubernetes
‫كل شيء. ليس هناك حد لما
‫لا تستطيع إدارته والتحكم فيه.
‫أود أن أقول أنه من الواضح أنك لا تريد إضافة كل شيء
‫هنا لأن كل واحد من هؤلاء سيضيف معلوماته الخاصة
‫إلى Kubernetes في قاعدة بيانات ETCD ، ويوسع واجهة برمجة
‫التطبيقات ومستوى التحكم ، وكل هذه الأشياء.
‫قد تكون منطقة محتملة حيث
‫إذا أضفت الكثير ، سينتهي بك الأمر مع الكثير
‫من التعقيد في نظامك نفسه.
‫في الوقت الحالي ، على الأقل بالنسبة لأشياء
‫مثل المراقبة وقواعد البيانات والنسخ الاحتياطية
‫والتسجيل ، هذه هي المجالات التي سأركز فيها على
‫النظر في الحصول على CRD ونوع نمط المشغل
‫من عمليات النشر بدلاً من مجرد العثور على YAML الذي رأيته
‫على الإنترنت وأقول ، أريد نشر هذا
‫مع ملف YAML هذا.
‫هذا يعطيها المزيد من الذكاء.
‫هناك الكثير من الموارد في كل واحد
‫من هذه ، وبالطبع ، سيكون لكل منها تطبيق واستخدام
‫مختلف. أنا بالتأكيد أوصي بفحصها الآن بعد
‫أن كانت موجودة.