‫حتى الآن ، ناقشنا أن YAML ، يمكن أن
‫يكون هناك ... هناك أربعة كائنات جذرية ، وقد
‫تحدثنا عن ثلاثة منها باختصار.
‫هذا كل شيء عن المواصفات.
‫تفاصيل ما تريده أن تفعله ، صحيحة.
‫كان لدينا أولًا واجهة برمجة التطبيقات ، لذا فنحن نعرف إصدار
‫API الذي نتحدث إليه. نحن نعلم ما هو المورد الذي
‫نريد التحدث إليه وسنعبث معه.
‫ثم نعرف الاسم في البيانات الوصفية.
‫لقد حصلنا على ذلك. بعد ذلك ، المواصفات
‫هي عالم كامل لاستكشافه.
‫الأمر الأول الذي أريدك أن تتعلمه هو ببساطة
‫كيفية سرد جميع المفاتيح المختلفة التي
‫يمكنك وضعها لنوع مورد معين.
‫الأمر الأول الذي أحتاجه لتعلم شرح
‫kubectl ، ثم نوع المورد.
‫هذا هو النوع في YAML.
‫ثم - متسلسل.
‫سيُظهر لك هذا جميع المفاتيح المختلفة
‫التي يدعمها في ملف YAML.
‫فقط للخدمات ، يمكنك أن ترى أنها
‫تعود بكثرة. إنه أمر ساحق إلى حد ما.
‫هناك الكثير هناك.
‫بالطبع ، لا يخبرنا ما تفعله هذه الأشياء.
‫لكن هذه على الأقل قائمة سريعة
‫بكل منهم. ما هو جيد بالنسبة لي هو
‫عندما أقوم بإنشاء مبنى YAML الخاص بي هو إذا كنت لا أتذكر اسم
‫هذا الشيء بالضبط ، الطابع الزمني للإنشاء.
‫هل هو إنشاء طابع زمني؟
‫هل هو جمع؟ هل هو فردي؟
‫يمكنك فقط استخدام هذا كنظرة سريعة.
‫لكن هذا لن يخبرك بما تفعله هذه الأشياء ، أو أي منها
‫مطلوب أو أي شيء من هذا القبيل.
‫يمكننا التعمق باستخدام أمر مختلف قليلاً والحصول على
‫مزيد من التفاصيل.
‫لنقم بتوضيح kubectl للخدمات
‫مرة أخرى ، لكن هذه المرة ، سنستخدم رمز النقطة للتنقل
‫في YAML.
‫سأقول إنني أهتم فقط بالمواصفات.
‫أنا معك أ. المواصفات.
‫هذه المرة ، أعود فقط المفاتيح الفرعية للمواصفات
‫ثم وصفًا بسيطًا عنها.
‫ثم ، ما نوع القيمة التي يدعمونها ، صحيح.
‫سواء كانت منطقية؟ هل هي خريطة للأشياء؟
‫أشياء من هذا القبيل ، صحيح. إنها مجرد إشارة صغيرة لطيفة.
‫سيساعدك هذا من الانتقال إلى
‫التوثيق. يمكنك تجنب ذلك قليلاً
‫من خلال النظر هنا. قد يكون هذا كثيرًا ، خاصةً
‫عندما تريد البحث عن سمة واحدة فقط.
‫يمكنك الاستمرار في الحفر أسفل تدوين النقطة.
‫إذا فعلنا المواصفات. النوع ، هذا هو مفتاح
‫معين داخل خدمات YAML يخبرنا عن
‫نوع موازن التحميل.
‫إذا كنت تتذكر هذا من الحديث عن الخدمات في وقت سابق من هذه
‫الدورة التدريبية ، فقد يكون هذا هو عنوان IP للكتلة ، افتراضيًا.
‫إذا تركته فقط ، فسيقوم فقط بعمل عنوان IP للكتلة ،
‫أو منفذ عقدة ، أو موازن التحميل.
‫هذا هو المكان الذي ستحدد فيه ذلك.
‫أنت تعلم أنه يجب أن يكون أسفل المواصفات
‫ثم مفتاح النوع في ملف YAML الخاص بك.
‫في هذه الحالة ، يمكننا البدء في كتابة YAML ، صحيح.
‫نحن نعلم أن النوع سيكون خدمة.
‫نسخة API ، كما تقول هنا ، هي v1 لهذا
‫النوع. يمكنك أيضًا التحقق من ذلك باستخدام
‫أمر إصدارات api كما فعلنا سابقًا.
‫ثم يمكنك وضع القيمة الخاصة بك.
‫هذا يسرد قيمة العمل ، لذا فأنت تعلم أن عنوان
‫IP للكتلة برأس مال C و IP كبير ، أشياء من هذا القبيل
‫، صحيح. يمنعك من الذهاب وربما
‫البحث في جميع أنحاء الإنترنت.
‫أنت لا تعرف أبدًا ما إذا كان شخص ما سيكون قديمًا أم صحيحًا
‫على الإطلاق.
‫هذه هي الطريقة التي أحب القيام بها.
‫فقط لإظهار المدى الذي يمكن أن يصل إليه هذا الرمز النقطي.
‫إذا نظرنا إلى مواصفات النشر ، لأنها
‫تحتوي على أنواع فرعية ، وهو شيء
‫لم نتحدث عنه. يمكن أن يكون لديك مورد ككائن
‫فرعي لمورد آخر.
‫في هذه الحالة ، وحدات التخزين الصحيحة لتخزين البيانات.
‫يمكن أن يكون لدينا العديد من الأحجام التي نريدها داخل
‫عملية النشر ، والتي ستقوم بعد ذلك بتوصيلها
‫بالحاويات. هذه بالتأكيد أنواع مواردهم
‫الخاصة ، حق ، من حيث الحجم.
‫في هذه الحالة ، سنرى المواصفات مرتين.
‫إذا كان لي أن تضغط على إدخال في
‫هذا الأمر للنشر. المواصفات ، أحد الأشياء الموجودة
‫هناك سيكون النموذج.
‫ثم يمكنني كتابة النموذج.
‫ثم يسرد جميع المفاتيح المختلفة التي
‫يمكنني وضعها هناك ، وأحدها هو محدد للقالب.
‫من الناحية الفنية ، نحن في المواصفات.
‫ثم أسفل تلك المواصفات لقالب البود ، نظرًا لأن
‫النشر له مواصفاته الخاصة ، ثم يكون
‫قالب البودات أسفل تلك المواصفات.
‫ثم
‫يحتوي على مواصفات للحاويات ، وقد يكون لدي مجلدات هنا.
‫لذا وحدات التخزين ثم nfs لأن هذا نوع من الحجم
‫يمكنني استخدامه.
‫ثم الخادم الذي سأستخدمه بالداخل في NFS.
‫ها نحن ذا. يمكنني الحصول على الوصف والمعلومات
‫حول الإصدارات. بالمناسبة ، هذا هو شيء آخر مع Kubernetes
‫هو أن الوثائق الموجودة في سطور الأوامر قديمة بعض الشيء
‫عندما يتعلق الأمر بالإصدارات وهذا هو سبب استخدامي دائمًا لأمر
‫إصدارات واجهة برمجة التطبيقات ، إلى جانب موارد واجهة برمجة
‫التطبيقات. لأن هذه هي الطريقة القديمة
‫للقيام بذلك من قبل. لديهم الآن التطبيقات الجديدة
‫/ v1 لعمليات النشر. لقد عرفت ذلك فقط لأنني كنت
‫أستكشف سبب حدوث ذلك على هذا النحو واتضح أنهم يحتفظون
‫بهذه الطريقة في الوثائق حتى يتم إهمالها تمامًا.
‫على أي حال ، يمكنك أن ترى كيف سأعمل في النهاية
‫في طريقي إلى أسفل الأنبوب باستخدام تدوين نقطي.
‫سأكون مجرد نشر. ثم أود أن أنظر إلى ذلك.
‫وبعد ذلك سأفعل. المواصفات ، وما إلى ذلك وهلم جرا.
‫ستكون هذه هي الطريقة التي أجد بها في النهاية المفاتيح
‫والقيم الصحيحة لوضعها في YAML الخاص بي.
‫يمكنك دائمًا استخدام أمثلة الآخرين.
‫ما ستنتهي به على الأرجح هو أنك ستبدأ
‫ببعض الأمثلة مني أو من الوثائق.
‫بعد ذلك ، سترغب في معرفة ما إذا كان يمكنك
‫الانتقال من ملف الفانيليا النقي باستخدام
‫طريقي هنا. ثم ستنتهي بموردك
‫الصغير ، صحيح. نسختك الصغيرة من
‫كل هذه الموارد YAMLs. هذا هو مستودع المعرفة
‫الخاص بك. سيكون هذا هو ما تستخدمه في شركتك.
‫قد يكون لديك حتى معايير لكيفية إنشاء عمليات
‫النشر والمعايير الخاصة بكيفية إنشاء الخدمات.
‫ربما سيكون لديهم تسميات خاصة أو تعليقات توضيحية عليها ، والتي
‫لم نتحدث عنها بعد.
‫ربما سيكون لديهم ميزات قالب خاصة.
‫على أي حال. هناك الكثير الذي يمكنك القيام به هناك
‫، ولكن ينتهي الأمر بمعظم الفرق بإعدادات افتراضية خاصة بهم في
‫نوع من أنواع الريبو التي يسحبون منها بدلاً من الكتابة بالكامل من نقطة الصفر.
‫الصحيح. نحن لا نفعل ذلك مع التأليف
‫ونحن بالتأكيد لن نرغب في القيام بذلك مع
‫YAML هنا في Kubernetes. آخر نصيحة سأقدمها لك هنا هي أنه
‫إذا كنت من جانب المطور أكثر من الأشياء ، فستقدر
‫دائمًا وثائق واجهة برمجة التطبيقات ، والتي يمكنك الحصول
‫على كل هذه البيانات نفسها منها.
‫ليس بالضرورة بطريقة يفهمها الشخص
‫الأكثر تركيزًا على التشغيل.
‫لقد جئت من كلتا الخلفيات ، لكن يمكنني بالتأكيد
‫أن أرى كيف يمكن أن تكون وثائق API مخيفة بعض الشيء
‫لشخص لم يعتاد على قراءة التباهي وكل هذه
‫الأنواع الأخرى من التوثيق لواجهات برمجة التطبيقات.
‫هنا ، سأختار ، على سبيل المثال ، مرجع
‫Kubernetes لواجهة برمجة التطبيقات تحت
‫115 ، لذلك تم إصداره.
‫يمكنني أن أرى هنا ، على اليسار ، قائمة بكل واجهة
‫برمجة تطبيقات عبء العمل.
‫ستكون هذه هي معظم الأشياء
‫التي ستتعامل معها. ثم هناك خدمة API.
‫تضاف هذه الأشياء إلى أعباء العمل لديك ، مثل الخدمات
‫أو نقطة النهاية أو نقطة الدخول أو أشياء
‫من هذا القبيل. ثم لديك التكوينات والتخزين هنا.
‫كلما تقدمت ، ستحصل في الواقع على المزيد من إصدارات واجهة برمجة
‫التطبيقات القديمة أو المهملة.
‫يمكنك استكشاف ما إذا كان ... سترى هنا مثل الكثير
‫من هذه ألفا وبيتا.
‫يمكنك معرفة نوع أي منها موجود.
‫إذا ذهبت للتو إلى النشر بسرعة حقيقية
‫وجئت إلى هنا ، فيمكنني الحصول على بعض أمثلة kubectl لما
‫قد يبدو عليه.
‫يمكنني أيضًا التمرير لأسفل هنا والبحث
‫عن المواصفات.
‫مواصفات شيء ما هو المكان الذي ستحصل فيه على كل
‫تلك التفاصيل التي كنا نبحث عنها سابقًا.
‫أسفل المواصفات ، سترى كل هذه الخيارات
‫المختلفة لهذا الكائن المحدد.
‫إذا تعمقت في قالب مواصفات النشر ، إذا كنت تتذكر
‫منذ فترة عندما كنت أتبع تدوين النقطة
‫، فسيتم إدخال ذلك في قالب pod.
‫ثم سننتقل هنا إلى ذلك وسترى كل هذه
‫الأشياء تقفز إلى هذا القالب ،
‫وهكذا دواليك. يتطلب منك البحث قليلاً
‫لمعرفة العناصر والمفاتيح التي تبحث عنها
‫والعثور عليها. أجد أنه من الأسهل قليلاً العمل
‫من سطر الأوامر ، لكن سطر الأوامر أيضًا لا يتعامل
‫مع الإصدارات.
‫إذا كان لديك إصدار مختلف من العميل ثم إصدار
‫الخادم الخاص بك ، فستحتاج بالتأكيد إلى إلقاء
‫نظرة على مستندات API لأن عميلك قد يكون على إصدار أقدم
‫أو أحدث مما يمكن لخادمك دعمه.
‫لا توجد طريقة حقيقية ، في سطر الأوامر الذي
‫أعرفه ، للحصول على إصدارات مختلفة من المعلومات.
‫إنه دائمًا إصدار عميلك فقط.