‫إذا لم تكن قد أتيت مباشرة من المحاضرة الأخيرة
‫حول هذه المحاضرة ، فارجع إلى المحاضرة السابقة للتأكد
‫من أن لديك عملية النشر المناسبة بحيث يكون لديك السجلات
‫التي سنراها هنا بعد ثانية.
‫Snce لدينا نشر Apache هذا يعمل في الخلفية
‫، وله جرابان لأننا قمنا بتحجيم النسخ المتماثلة
‫إلى نسختين. يجب أن نكون قادرين على الحصول
‫على kubectl القرون ونرى النتائج.
‫بالطبع ، ستكون أسماء البودات الخاصة بك مختلفة
‫قليلاً عن أسماءي لأنها ستحتوي على أرقام وأحرف عشوائية
‫في نهايتها هناك. عندما أقوم بكتابته ،
‫فقط أدرك الكتلتين الأخيرتين أنك ستكتب شيئًا
‫مختلفًا بناءً على ما يظهره النشر الخاص بك.
‫هناك بعض الأوامر ، تمامًا مثل Swarm
‫ومع Docker نفسه. في هذه الحالة ، هناك أوامر
‫مختلفة لفهم ما يحدث في الحاوية وما يفعله
‫المنظم مع الحاويات.
‫الأول هو جذوع الأشجار.
‫الثاني هو وصف.
‫ليس لدينا أمر فحص تقنيًا في Kubernetes ، لكن الوصف
‫يفعل أكثر من ذلك بكثير.
‫أولاً ، لنجرب أمر السجلات.
‫قد يكون إنتاجك مختلفًا قليلاً عن إنتاجي.
‫ستلاحظ أن السطر الأول بعد أن كتبناه في نشر السجلات
‫/ my-apache.
‫تقول إنها عثرت على جرابين وباستخدام اسم
‫جراب ، أعطت اسم جراب محدد هناك.
‫هذا لأن أمر السجل الافتراضي لن
‫يسحب كل البودات المختلفة ويجمعها
‫معًا كما تفعل مع أوامر Docker
‫أو Swarm. فقط بشكل افتراضي سوف يسحب واحدة من هؤلاء.
‫بالنسبة لأوامر السجل الأخرى التي اعتدت عليها في
‫هذه الدورة التدريبية ، هناك الكثير من الخيارات بما في ذلك
‫- متابعة ، --tail.
‫هذه أشياء شائعة لتسجيل الأوامر في أي
‫نظام Linux.
‫إذا فعلنا نفس الأمر مع - ما عليك سوى اتباعه ، فسينتظر بعد ذلك
‫ظهور أي شيء جديد في سجلات ذلك الكبسولة.
‫ثم
‫--tail ، 1 يعني فقط إرجاع السطر الأخير فقط.
‫بهذه الطريقة لن تحصل على نفايات ضخمة من السجلات.
‫يمكنك التحكم في C للخروج من ذلك.
‫ماذا لو أردت أن ترى السجلات مجمعة
‫لعدة قرون؟
‫يمكنك بالتأكيد فعل ذلك. هذا ليس فقط أمر السجلات
‫الافتراضي. في هذه الحالة ، سيتعين علينا
‫استخدام شيء يسمى المحدد في Kubernetes ، وهي تقنية للاستيلاء على
‫العديد من البودات بناءً على ملصق يشاركونه
‫جميعًا.
‫الشيء الجميل هنا هو أنه عند استخدام
‫الأمر kubectl run ، فإنه يضيف تلقائيًا تسمية
‫باسم النشر إلى كل هذه البودات.
‫لذلك ، يمكننا استخدام نفس اسم النشر الخاص بي Apache لتحديد
‫جميع البودات التي تحمل هذا التصنيف.
‫لاحظ أن هذه مجرد مطابقة بسيطة
‫للتسمية هنا. لذلك ، إذا كان لديك عمليات
‫نشر أو حواجز أخرى تحمل هذه التسمية ، فسيتم أيضًا
‫تضمينها في هذا أيضًا. لذلك ، عليك أن تكون حريصًا في وضع العلامات
‫والتسمية الخاصة بك.
‫نحن نستخدم a -l هنا
‫لتحديد التسمية ، ونحدد التسمية التي
‫طبقها أمر التشغيل ، والتي كانت
‫Apache.
‫تمامًا مثل Swarm و Docker نفسه ، يمكن أن تكون أوامر
‫السجل هذه مفيدة جدًا لاستكشاف الأخطاء وإصلاحها بسرعة
‫ولكنها ليست بديلاً لنظام سجل كامل.
‫في Kubernetes ، بشكل افتراضي ، يمكنه فقط سحب
‫ما يصل إلى خمسة قرون في المرة الواحدة
‫عندما يستخدم نوع المحدد لسحب السجلات.
‫يمكنك دائمًا زيادة ذلك ، ولكن الحقيقة هي أنه يفرض
‫ضرائب على النظام لسحب ملفات السجل هذه من جميع
‫العقد المختلفة.
‫في الإنتاج ، ستحتاج إلى نظام تسجيل تابع لجهة خارجية
‫يجمع كل هذه السجلات ويخزنها بمرور الوقت
‫لاسترجاعها بشكل أسرع.
‫هذا صحيح حقًا في أي نظام تنسيق للحاويات ، سواء
‫كان Docker أو Swarm أو Kubernetes.
‫سيكون الأمر التالي هنا لوصف الأمر.
‫الأمر Description ، في هذه الحالة ، هو المكان الذي
‫نريد تحديد الحجرة نفسها.
‫نريد الحصول على حجرة محددة جدًا ، ولكن بعد ذلك نحتاج إلى
‫معرفة أسماء تلك الكبسولات أولاً.
‫لذا ، دعنا نحصل على البودات أولاً.
‫ثم يمكننا نسخ ولصق أحد هذه الأسماء في
‫أمر وصف.
‫اكتب pod أولاً.
‫سأستعيد تلك الكبسولة.
‫لست مضطرًا بالضرورة إلى تحديد ذلك الحجرة الواحدة.
‫يمكنني أن أقول القرون وستظهر كل القرون ، والتي قد تكون خطيرة
‫بعض الشيء إذا كان لديك الكثير من القرون.
‫يمكنك بالتأكيد وصف الموارد الأخرى والحصول على أنواع
‫مختلفة من النتائج بناءً على الكائن.
‫ما أردت تسليط الضوء عليه هنا هو أن
‫هذا سيكون مشابهًا لأمر الفحص في Swarm ،
‫أو في Docker نفسه. ولكنه يمنحها عرضًا أفضل قليلاً
‫على الشاشة بدلاً من JSON.
‫أثناء التمرير لأسفل في النتائج ، ستلاحظ أنه
‫ليس مجرد وصف حول الكائن المختلف ، ولكنه يسحب
‫أيضًا أشياء مثل الأحداث في
‫الأسفل ، وهي طريقة رائعة للحصول على حالة سريعة
‫للواقع الحالي لهذا الكائن.
‫لذلك ، في حال كنت تواجه مشكلة ، ربما مع جراب
‫يسحب صورة ، سترى هذا الحدث هنا حيث سيقول
‫إنه غير قادر على سحب الصورة.
‫هذا أمر شائع عندما تخطئ بطريق الخطأ في كتابة اسم
‫صورة أو شيء من هذا القبيل.
‫يمكن أن يكون هذا مفيدًا جدًا لتقنية استكشاف الأخطاء وإصلاحها
‫بسرعة دون الحاجة إلى تشغيل بعض الأحداث أو سجلات
‫تصحيح الأخطاء.
‫حسنا. بالنسبة لهذا الجزء
‫الأخير ، سأوضح لك كيف أن Kubernetes مرنة على غرار Swarm
‫حيث إذا قمت بحذف أحد المستويات الأدنى من التجريد ، في هذه
‫الحالة إذا قمت بحذف حجرة ، التجريد ذو المستوى الأعلى
‫، النشر و ReplicaSet ، ستتأكد من إعادة
‫إنشاء هذا الجراب.
‫هذا مشابه للطريقة التي سيتم بها إعادة إنشاء حاوية أو
‫مهمة في Swarm ، إذا قمت بحذفها ، بواسطة الخدمة.
‫سنقوم بذلك في نافذتين مختلفتين.
‫في النافذة الأولى ، سنستخدم get مع a -w.
‫سيعطينا ذلك تجربة مماثلة لأمر
‫الساعة. إذا رأيتني من قبل ، استخدم أمر
‫watch في هذه الدورة لمشاهدة أي أمر من أوامر Linux ، والذي
‫يعني بشكل أساسي تشغيل هذا الشيء في الخلفية ويمكنك
‫القيام بذلك في Linux.
‫لكن أمر الساعة هذا لا يتوفر دائمًا على جميع
‫أنظمة التشغيل. هنا ، يمكننا أن نحصل
‫على kubectl pods ولكن نضيف a -w والذي
‫سيجعلها تجلس هناك وتنتعش
‫كل بضع ثوانٍ.
‫الآن ، يمكننا الذهاب إلى
‫محطة مختلفة. سنقوم بحذف واحدة من تلك البودات.
‫أولاً. سنحتاج إلى نسخ الاسم
‫واستخدام kubectl
‫pod / اسم الكبسولة.
‫ستلاحظ أنه تم حذفه.
‫سنحصل بعد ذلك على سجل التشغيل هذا أعلى الأشياء
‫التي يتم تغييرها.
‫يعجبني أيضًا هذا الأمر أفضل قليلاً من أمر
‫الساعة لأن أمر الساعة ينعش الشاشة ، حيث يُظهر هذا تكرارًا مستمرًا
‫للتغييرات ، وهو أمر رائع
‫جدًا. في الأسفل ،
‫إذا حصلنا على قرون kubectl أخرى ، فسترى أننا
‫عدنا إلى اثنين.
‫مرة أخرى ، هذا نوع من جوانب الشفاء الذاتي
‫للمنسق. هذا أحد الأهداف الرئيسية لامتلاك واحد.
‫أخيرًا ، أود أن أشير إلى شيء ما هنا
‫حيث ربما تكون محميًا في الماضي من القيام ببعض الأشياء
‫الضارة في Docker a Swarm ، حيث إذا حاولت تغيير شيء ما
‫أو حذف شيء لا يجب عليك فعله ، فقد
‫يحذرك مسبقًا زمن.
‫يميل Kubernetes إلى السقوط على الجانب الآخر حيث يكون
‫أقل رأيًا حول كيفية استخدامه.
‫مما يعني أنه يمكنك في بعض الأحيان
‫القيام بأشياء لا يجب عليك القيام بها
‫، مثل المثال السابق لتعديل ReplicaSet بدلاً من تعديل النشر أعلاه.
‫يمكن أن يكون الشيء نفسه صحيحًا عند تغيير الكبسولة عندما لا يجب عليك
‫فعل ذلك. يجب عليك تغيير الكائن أعلاه.
‫هذا يؤكد فقط أنك بحاجة إلى فهم تفاصيل
‫ما تفعله حتى لا تحذف
‫أو تغير أو تعدل الشيء الخطأ بترتيب
‫خاطئ.
‫تذكر أن تفعل kubectl حذف النشر my-apache
‫للتنظيف من هذه المحاضرة.