‫يا رجل. أراهن أنك كنت تنتظر الوصول
‫إلى سطر أوامر Kubernetes لفترة من الوقت الآن.
‫لكن لحسن الحظ ، لدينا بعض المفاهيم بعيدًا عن الطريق.
‫لذا ، دعنا ننتقل إلى سطر الأوامر.
‫أول شيء نحتاج إلى التأكد منه هو أنه
‫مهما فعلت مع إعداد Kubernetes ، فإنه يعمل.
‫الطريقة التي يمكننا بها القيام بذلك مشابهة لإصدار Docker وإصدار
‫Compose وأشياء من هذا القبيل.
‫يمكننا أن نذهب إلى الغلاف ونكتب
‫kubectl ، هذا هو إصدار K U B E C T
‫L. يجب أن تعود إلى الإصدارات.
‫هذا يشبه تمامًا Docker حيث تحصل على إصدار العميل
‫ثم إصدار الخادم.
‫تذكر أن كل أدوات سطر الأوامر هذه تقوم بالتحدث إلى واجهة
‫برمجة تطبيقات بعيدة.
‫في هذه الحالة ، من المحتمل أن تكون واجهة برمجة التطبيقات على جهازك.
‫تمامًا كما هو الحال مع Docker و Swarm و Compose ، يمكن
‫لسطر أوامر kubectl أيضًا التحدث إلى Kubernetes
‫API عن بُعد.
‫الآن بعد أن استعدت إصدارات خادم العميل
‫، من الجيد أن تبدأ. إذا حصلت على خطأ ، فمن المحتمل
‫أن يكون ذلك بسبب عدم ظهور إصدار الخادم ويقول إنه لا
‫يمكنه الاتصال. هذا يعني أنه بطريقة ما
‫، تم تكوينك بشكل خاطئ ولا يمكن لـ CLI المحلي الخاص بك التحدث إلى
‫خوادم Kubernetes. أود إما التحقق من كيفية
‫نشره للتأكد من أنه يعمل.
‫ربما إذا كنت تستخدم Docker Desktop ، فأنت بحاجة إلى
‫بدء Docker ثم التأكد أيضًا من الإعدادات التي
‫يعمل بها Kubernetes. إذا كانت هناك طريقة أخرى ، فما عليك
‫سوى التحقق من فيديو التثبيت. إذا كانت لديك أي مشاكل في ذلك ، فتواصل مع
‫الأسئلة والأجوبة أو في Slack.
‫حسنا. هناك طريقتان لنشر البودات في
‫Kubernetes حقًا. هناك القيام بذلك في سطر الأوامر
‫حيث تقوم بتحديد جميع الخيارات في سطر الأوامر.
‫أو هناك استخدام YAML.
‫قد يكون هذا مشابهًا من حيث المفهوم للخدمات والمكدسات
‫في Swarm ، ولكن بالطبع ، عندما تصل إليه حقًا ،
‫هناك الكثير من الأشياء المختلفة
‫تحت الأغطية. لذلك ، أنا أكره إجراء هذا القياس ، ولكن هذا
‫هو الخياران اللذان لديك حقًا هما إما سطر الأوامر أو YAML.
‫دعونا نركز على سطر الأوامر لبضع دقائق.
‫الأمر الأول الذي سنقوم بتشغيله هنا
‫هو kubectl run.
‫لذا ، فهو مشابه لجري الرصيف.
‫Nginx الخاص بي ، ويمكنك تسميته بأي شيء تريده.
‫هذا هو اسم النشر الخاص بك. وبعد ذلك - صورة ، وسوف
‫نحدد اسم الصورة هنا.
‫لنستخدم Nginx كما اعتدنا على العودة.
‫لمدة دقيقة ، دعنا نتجاهل التحذير الذي تم استهلاكه إذا
‫كنت تحصل على ذلك في بعض الإصدارات الحديثة
‫من Kubernetes. سنتحدث عن ذلك قليلاً.
‫لكن في الوقت الحالي ، دعنا نرى ما حدث للتو.
‫يمكننا استخدام ذلك مع kubectl get command.
‫kubectl الحصول على القرون.
‫ما يجب أن تراه هناك هو أنك كائن مسمى
‫، إلى جانب بعض الأحرف في نهايتها ، وسترى
‫أن 1 في 1 قيد التشغيل.
‫هذا مشابه جدًا لمفهوم الخدمات في Swarm
‫حيث قمنا افتراضيًا بتشغيل نسخة متماثلة
‫واحدة فقط.
‫يمكنك أن ترى اسمه هناك.
‫لماذا لدينا هذا الاسم الغريب؟
‫حسنًا ، هذا له علاقة بالطريقة التي يعمل بها
‫أمر kubectl run.
‫عندما تستخدم التشغيل كما هو الحال
‫الآن في الإصدار 1. 14 ، هذا تقنيًا باستخدام
‫وحدة تحكم النشر.
‫تقوم وحدة التحكم في النشر هذه بإنشاء وحدة تحكم ReplicaSet.
‫ثم تقوم وحدة التحكم ReplicateSet بإنشاء القرون.
‫في هذه الحالة ، إنها مجرد نسخة متماثلة واحدة.
‫إذن ، إنها جراب واحد فقط.
‫إذا حصلنا على kubectl حصلنا على كل شيء ،
‫فسترى كل الكائنات هناك مدرجة.
‫سترى القرون.
‫تجاهل الخدمة الآن.
‫سنتحدث عن ذلك قليلاً.
‫النشر وفي ReplicaSet.
‫يمكنك أن ترى هذه الطبقات المختلفة
‫من نموذج الكائن و Kubernetes تظهر هنا حيث قمنا للتو
‫بأمر واحد ، لكنها في الواقع أنشأت كائنات متعددة
‫لنا.
‫دعنا نذهب إلى لوحة الرسم الخاصة بي ونصف كيف ترتبط
‫هذه الكائنات ببعضها البعض.
‫كما رأيت في Kubernetes ، لدينا مستويات أكثر
‫من التجريد والتحكم مما فعلناه سابقًا في Swarm
‫أو في Docker نفسها.
‫في هذه الحالة ، عندما قمنا بتشغيل kubectl ، فإنه
‫، في الخلفية ، أنشأ تجريدات متعددة
‫ومختلفة تلقائيًا لنا.
‫لقد أنشأ الكبسولة ، لكنه أيضًا أنشأ مجموعة النسخ المتماثلة
‫حول ذلك ، وحول ذلك ، نشر.
‫دعنا نذهب إلى لوحة الرسم ، وسأريكم كيف ترتبط هذه الأفكار
‫التجريدية ببعضها البعض.
‫للتذكير ، لدينا عامل تشغيل يعمل في الأسفل.
‫ثم لدينا بعض الحاويات قيد التشغيل والتي تدير Kubernetes ،
‫ولن أتحدث عنها الآن.
‫دعنا نعرف فقط أن لدينا هذه المجموعة المختلفة
‫من الحاويات هنا فقط لتشغيل Kube.
‫عندما قمنا بتشغيل kubectl ، كان من الواضح أن ما
‫تم إنشاؤه كان حاوية Nginx الخاصة بنا ، وكان
‫هذا هو الجزء الذي نعرف عنه.
‫لكن المستويات المختلفة للتحكم ، أو التجريدات ، هي الجزء المثير
‫للاهتمام.
‫أول واحد هنا هو الكبسولة.
‫مرة أخرى ، يمكنه تشغيل حاوية واحدة أو أكثر داخل هذا الكبسولة.
‫كجزء من هذا الكبسولة ، كان بإمكانه إنشاء وحدات تخزين
‫إذا احتجنا إليها. أنشأت NIC للجراب.
‫الطريقة التي تم بها إنشاء هذا الكبسولة
‫كانت عندما كتبنا kubectl run ، فقد أنشأنا
‫النشر.
‫تقوم وحدة تحكم النشر بإدارة مجموعات النسخ المتماثلة.
‫لدينا مستويات متعددة من التجريد.
‫تم إنشاء هذا النشر ، وهو يقوم بأشياء مثل التحديثات
‫الدورية ، أو عمليات النشر الأزرق / الأخضر ، والكثير
‫من الأشياء الأخرى التي تفكر فيها عندما تفكر في
‫خدمات التنسيق مثل خدمات Swarm.
‫عندما تم إنشاء هذا النشر ، قام بإنشاء مجموعة متماثلة
‫لواحد.
‫هذا في حد ذاته هو وحدة تحكم أخرى.
‫تتمثل مهمة ReplicaSet في التأكد من تشغيل عدد
‫الكبسولات التي طلبناها حاليًا.
‫في هذه الحالة ، تركنا كل شيء على الوضع الافتراضي.
‫لذلك ، أنشأ النشر الخاص بنا مجموعة ReplicaSet واحدة ، وأنشأت
‫ReplicaSet تلك جرابًا واحدًا.
‫يمكننا التحكم في كل مستوى من هذه المستويات
‫المختلفة من التجريد. يمكننا كتابة أوامر
‫للتحكم في النشر. مجموعة النسخ المتماثلة ، أو
‫الحافظة نفسها مباشرةً ، ولكن عادةً في هذه المواقف
‫، ستدير دائمًا النشر نفسه.
‫ثم ستعتني بالباقي.
‫لإعطائك فكرة عن سبب وجود مجموعة النسخ المتماثلة
‫نفسها في المنتصف ، إذا أردنا إنشاء نسخة أخرى
‫من هذا الكبسولة ، تمامًا كما هو الحال عندما نقوم
‫بعمل نسخ متماثلة لخدمة Swarm.
‫في الرسم الخاص بي هنا ، قمت بإنشاء نسخة
‫من هذا الكبسولة.
‫سيكون ذلك إذا قمنا بتحجيم النسخ المتماثلة إلى نسختين.
‫تشبه إلى حد بعيد كيفية قيام Swarm بذلك.
‫وظيفة ReplicaSet ، مرة أخرى
‫، هي التأكد من أن جرابين يعملان بالقالب
‫المماثل. مهمة النشر هي إدارة
‫تكوين ReplicaSet.
‫قبل أن ننتقل إلى المحاضرة التالية ، دعنا نحذف كل هذه الموارد
‫التي أنشأناها للتو باستخدام الأمر run باستخدام
‫الأمر delete.
‫هذا يختلف عن Docker حيث كان Docker
‫لديه أمر الإزالة.
‫الآن ، نحن نستخدم أمر حذف مع kubectl.
‫ستلاحظ أننا نحدد نوع الكائن ثم
‫اسم نفسه. لذلك ، نقوم بعمل مساحة
‫النشر ، اسم النشر.
‫عندما تفعل ذلك ، ستحذف كل الأشياء الموجودة
‫تحتها. ReplicaSet ، القرون نفسها والحاويات
‫الموجودة فيها.
‫يمكننا التحقق من ذلك بسرعة بنفس الأمر الحصول على كل الأوامر.
‫سترى فقط عنوان IP الخاص بالمجموعة ، وهو خادم Kubernetes
‫نفسه.