ما هي Azure Kubernetes Service؟
لنبدأ ببعض التعريفات وجولة سريعة حول Azure Kubernetes (AKS). ينبغي أن تساعدك هذه النظرة العامة على تحديد ما إذا كانت AKS خيارًا مناسبًا لاستراتيجية إدارة النقل بالحاويات لديك.
ما هي الحاوية؟
الحاوية عبارة عن وحدة ذرية من البرمجيات التي تُنشئ حزم التعليمات البرمجية والتبعيات والتكوين الخاص بتطبيق معين. تجعلنا الحاويات قادرين على تقسيم التطبيقات المتجانسة إلى خدمات فردية تشكل الحل. من خلال إعادة تصميم تطبيقنا، سنستطيع توزيع هذه الخدمات المنفصلة عبر الحاويات.

لماذا تُستخدم الحاوية؟
فلنفترض أن حل إدارة الأسطول لديم يتضمن ثلاثة تطبيقات رئيسية:
موقع ويب لتتبع الأسطول ويتضمن خرائط ومعلومات عن الأصول التي يتم تعقبها.
خدمة معالجة بيانات تعمل على جمع المعلومات المرسلة من المركبات المتعقبة ومُعالجتها.
قاعدة بيانات MSSQL لتخزين معلومات التتبع والمستخدم التي سجلها موقع الويب.
تُدرك أنه يتعين عليك توسيع الحل الخاص بك لتلبية طلبات العملاء. يتمثل أحد الخيارات في توزيع جهاز ظاهري (VM) جديد في كل تطبيق ثم توزيع التطبيقات في الأجهزة الظاهرية. ومع ذلك، عند القيام بذلك ستكون مسؤولاً عن إدارة كل جهاز ظاهري إضافي. على سبيل المثال، يجب عليك التأكد من تثبيت وتكوين إصدارات وتبعيات نظام التشغيل (OS) الصحيح لكل تطبيق. يجب عليك أيضًا التأكد من تثبيت وترقية الإصدارات الصحيحة من التطبيقات. إذا حدثت أخطاء، يجب عليك التأكد من قدرتك على العودة إلى الحالة السابقة من التثبيت بأقل قدر من تعطيل الحل لديك.

تُعتبر عملية التوزيع الواردة أعلاه أمرًا مرهقًا، وتكون أحيانا عرضة للخطأ ولا تتيح تغيير حجم الخدمات الفردية بسهولة. على سبيل المثال، قد تجد أنك غير قادر على تغيير حجم خدمة التخزين المؤقت المستخدمة في تطبيق الويب بسهولة. تساعد الحاويات في حل هذه الأنواع من المشاكل.
يمنحنا مفهوم الحاوية ثلاث مزايا رئيسية:
الحاوية غير قابلة للتغيير - تتسم الحاوية بطبيعية غير متغيرة، مما يجعل من الممكن توزيعها وتشغيلها بشكل موثوق وبنفس السلوك من بيئة حساب إلى أخرى. تُعتبر صورة الحاوية التي تم اختبارها في بيئة تأكيد الجودة هي نفس صورة الحاوية التي تم توزيعها إلى الإنتاج.
الحاوية خفيفة الوزن - تستطيع التفكير في الحاوية باعتبارها إحدى صور الأجهزة الظاهرية، لكنها أصغر. يتم عادة تثبيت صورة الجهاز الظاهري على مضيف فعلي. تحتوي الصورة على كل من نظام التشغيل والتطبيق الذي تود تشغيله. في المقابل، لا تحتاج الحاوية إلى نظام تشغيل، حيث تقتصر حاجتها على التطبيق. تعتمد الحاوية دائمًا على المضيف الذي قام بتثبيت نظام التشغيل للخدمات الخاصة بـ Kernel. تُعتبر الحاويات أقل كثافة من حيث الموارد، ويمكن تثبيت حاويات متعددة على نفس بيئة الحساب.
بدء تشغيل الحاوية سريع - تستطيع الحاويات بدء التشغيل في غضون ثوانٍ قليلة وليس عدة دقائق، مثل الأجهزة الظاهرية.
تجعل المزايا المذكورة أعلاه الحاويات خيارًا شائعًا للمطورين وعمليات تكنولوجيا المعلومات على حد سواء.
ما هي إدارة الحاويات؟

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

Kubernetes عبارة عن نظام أساسي متنقل مفتوح المصدر قابل للتوسيع، ويعمل ذلك النظام على أتمتة توزيع أحمال العمل الموضوعة داخل حاويات وتحجيمها وإدارتها. يعمل Kubernetes على التخلص من إدارة الحاويات المعقدة ويوفر لنا التكوين التصريحي لمزامنة الحاويات في بيئات حساب مختلفة. من خلال هذا النظام الأساسي للمزامنة، نحصل على نفس سهولة الاستخدام والمرونة المتوفرة في النظام الأساس كخدمة (PaaS) وخدمة تأجير البنية التحتية (IaaS).
يجعلك Kubernetes قادرًا على عرض مركز البيانات لديك على شكل حاسوب واحد كبير. لا يُساورنا قلق بشأن كيفية ومكان توزيع حاوياتنا، وإنما يتمحور قلقنا حول توزيع تطبيقاتنا وتوسيعها حسب الحاجة.
ومع ذلك، قد يكون ذلك الرأي مضللاً بعض الشيء بسبب وجود بعض الجوانب التي ينبغي أخذها في الاعتبار:
لا يُعتبر Kubernetes نظامًا أساسيًا كخدمة بشكل كامل. ولا يعمل إلا على مستوى الحاوية ولا يقدم سوى مجموعة مشتركة من مزايا النظام الأساسي كخدمة.
لا يتسم Kubernetes بالتجانس. إنه ليس تطبيقًا واحدًا مثبتًا. بعض الجوانب مثل التوزيع والتحجيم وموازنة التحميل والتسجيل والمراقبة تُعتبر كلها اختيارية. تتحمل مسؤولية إيجاد أفضل حل يُناسب احتياجاتك لمعالجة هذه الجوانب.
لا يحد Kubernetes من أنواع التطبيقات ممكنة التشغيل. إذا أمكن تشغيل تطبيقك في حاوية، فإنه يُمكن تشغيله على Kubernetes. يحتاج المطورون إلى فهم مفاهيم مثل بنية الخدمات المصغرة، وذلك لتحقيق الاستخدام الأمثل لحلول الحاويات.
لا يوفر Kubernetes برامج وسيطة ولا أطر عمل معالجة البيانات ولا قواعد البيانات ولا تخزين مؤقت ولا أنظمة تخزين نظام المجموعة. يتم تشغيل كافة هذه العناصر كحاويات أو كجزء من عرض خدمة آخر.
يتم تكوين توزيع Kubernetes على شكل نظام مجموعة. يتكون نظام المجموعة من جهاز رئيسي واحد على الأقل وجهاز عامل واحد أو أكثر. بالنسبة إلى عمليات توزيع الإنتاج، يكون التكوين الرئيسي المفضل هو توزيع رئيسي متعدد ذي قابلية وصول عالية يضم من ثلاثة إلى خمسة توزيعات رئيسية على شكل نسخ مماثلة. يمكن أن تكون هذه الأجهزة أجهزة مادية أو أجهزة ظاهرية. يُطلق على هذه الأجهزة العاملة عقد أو عقد عاملة.
بالرغم من وجود كل المزايا التي يوفرها Kubernetes، ضع في اعتبارك أنك مسؤول عن الحفاظ على نظام مجموعة Kubernetes لديك. على سبيل المثال، تحتاج إلى إدارة ترقيات نظام التشغيل وتثبيت Kubernetes وترقياته. يمكنك أيضًا إدارة تكوين الأجهزة من الأجهزة المضيفة مثل شبكة الاتصال والذاكرة والتخزين.
ملاحظة
أحيانًا تًختصر Kubernetes إلى K8s. يُمثل الرقم 8 الأحرف الثمانية بداية من K إلى s من كلمة K[ubernete]s.
ما هي Azure Kubernetes Service؟

تعمل Azure Kubernetes Service (AKS) على إدارة بيئة Kubernetes المستضافة لديك وتجعل من السهل توزيع التطبيقات الموضوعة داخل حاويات وإدارتها في Azure. يتم تمكين بيئة AKS لديك وبها مزايا مثل التحديثات التلقائية والإصلاح الذاتي والتحجيم السهل. يُدار نظام مجموعة Kubernetes الرئيسي بواسطة Azure ويكون ذلك مجانًا. تُدير أنت العقد العاملة في نظام المجموعة ولا تدفع سوى ثمن الأجهزة الظاهرية التي يتم تشغيل العقد عليها.
تستطيع إنشاء نظام المجموعة الخاص بك في مدخل Microsoft Azure أو استخدام Azure CLI. عند إنشاء نظام المجموعة، تستطيع استخدام قوالب إدارة الموارد لأتمتة إنشاء نظام المجموعة. باستخدام هذه القوالب، تستطيع تحديد مزايا مثل الشبكة المتقدمة وتكامل دليل Azure (AD) النشط والمراقبة. ثم تُستخدَم هذه المعلومات لأتمتة توزيع نظام المجموعة نيابة عنك.
عند استخدام AKS، نحصل على مزايا Kubernetes مفتوحة المصدر بدون تعقيد أو تكبد نفقات عامة تشغيلية مقارنة بتشغيل نظام مجموعة Kubernetes المُخصص لدينا.
هل تحتاج إلى مساعدة؟ راجع دليل استكشاف الأخطاء وإصلاحها الذي نقدمه أو يمكنك توفير ملاحظات معينة عبر الإبلاغ عن مشكلة.