إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
عند تشغيل التطبيقات في خدمة Azure Kubernetes (AKS)، يمكنك قياس pods أو موارد pod أو العقد أو أحمال العمل المستندة إلى الحدث لمطابقة التغييرات في الطلب. تدعم AKS التحجيم اليدوي، والتحجيم التلقائي للجراب الأفقي (HPA)، والتحجيم التلقائي للجراب العمودي (VPA)، والتحجيم التلقائي للمجموعة، والتحجيم التلقائي المستند إلى أحداث Kubernetes (KEDA)، والتزويد التلقائي للعقدة، وتحجيم الاندفاع باستخدام مثيلات حاوية Azure (ACI).
اختر أسلوب التحجيم الصحيح
| أسلوب التحجيم | الأفضل ل | المقياس الرئيسي | دليل |
|---|---|---|---|
| أداة التحجيم التلقائي للجراب الأفقي (HPA) | أحمال العمل عديمة الحالة أو القابلة للتقسيم مع طلب متغير | استخدام وحدة المعالجة المركزية، RPS، عمق قائمة الانتظار | متى يجب استخدام التحجيم التلقائي للجراب الأفقي (HPA) في Kubernetes؟ |
| أداة التحجيم التلقائي للجراب العمودي (VPA) | أحمال العمل غير القابلة للتوازي؛ طلبات موارد الجراب بالتحجيم الصحيح | استخدام موارد وحدة المعالجة المركزية/الذاكرة | استخدام التحجيم التلقائي للجراب العمودي في AKS |
| أداة التحجيم التلقائي لنظام المجموعة | سعة على مستوى العقدة عندما تظل الحجيرات معلقة | وحدات الجراب المعلقة | استخدام التحجيم التلقائي لنظام المجموعة في AKS |
| التزويد التلقائي للعقدة (NAP) | أحمال العمل المعلقة التي تحتاج إلى سعة جهاز ظاهري بالحجم الصحيح | متطلبات موارد الجراب المعلقة | نظرة عامة على التوفير التلقائي للعقدة |
| كيدا | أحمال العمل المستندة إلى الحدث؛ تغيير الحجم إلى الصفر مطلوب | طول قائمة الانتظار، تراكم الحدث | نظرة عامة على الوظيفة الإضافية KEDA |
| تحجيم اندفاع ACI | أحمال عمل Linux مع طلب الاندفاع الذي يلبي قيود العقدة الظاهرية | الطلب على الاندفاع | إنشاء عقد ظاهرية باستخدام مثيلات حاوية Azure |
متى تستخدم كل طريقة تحجيم
- استخدم HPA عندما يمكن لحمل العمل تشغيل نسخ متماثلة متطابقة متعددة ويتقلب الطلب استنادا إلى وحدة المعالجة المركزية أو الذاكرة أو معدل الطلب.
- استخدم VPA عندما لا يمكن تحجيم حمل العمل أفقيا (غير قابل للتوازي) أو تحتاج إلى الحجم الصحيح لطلبات الموارد لجدولة أفضل.
- استخدم أداة التحجيم التلقائي لنظام المجموعة عندما يكون لديك تجمعات عقد معرفة مسبقا وتحتاج إلى إضافة العقد أو إزالتها استنادا إلى طلب pod المعلق.
- استخدم NAP عندما تريد تحديد VM SKU تلقائيا وتوفير العقدة دون تكوين تجمعات العقد يدويا.
- استخدم KEDA عندما يجب أن يستجيب التحجيم للأحداث الخارجية (قوائم الانتظار والتدفقات والرسائل) أو تحتاج إلى إمكانية التحجيم إلى الصفر.
- استخدم تحجيم اندفاع ACI عندما تحتاج إلى توسيع السعة بسرعة لأحمال عمل Linux دون انتظار توفير الجهاز الظاهري (عادة من 2 إلى 5 دقائق).
توصية سريعة
بالنسبة لمعظم أحمال العمل الإنتاجية، ابدأ ب AKS Automatic، الذي يقوم بتكوين NAP وVPA و KEDA مسبقا. في AKS Standard، يمكنك تمكين هذه الميزات وتكوينها بشكل صريح.
توسيع الحجيرات أو العقد يدويًا
يمكنك قياس النسخ المتماثلة والعقد يدويا لاختبار كيفية استجابة التطبيق الخاص بك للتغييرات في الموارد المتوفرة أو للحفاظ على كمية ثابتة من السعة. لتغيير الحجم يدويا، حدد النسخة المتماثلة المطلوبة أو عدد العقد. ثم يقوم Kubernetes بإنشاء أو إزالة الحجيرات، بينما يضيف AKS العقد أو يزيلها من تجمع العقدة القابل للتطبيق.
عند تقليص العقد، تستدعي AKS واجهة برمجة تطبيقات حساب Azure ذات الصلة لنوع حساب نظام المجموعة. بالنسبة للمجموعات المبنية على Virtual Machine Scale Sets، تحدد واجهة برمجة تطبيقات Virtual Machine Scale Sets العقد التي يجب إزالتها. لمزيد من المعلومات، راجع الأسئلة المتداولة حول Virtual Machine Scale Sets.
للبدء، راجع:
مقياس تلقائي للجراب الأفقي
استخدم HPA عندما يمكن لحمل العمل تشغيل نسخ متماثلة متطابقة متعددة ويتقلب الطلب. وهو يتوسع على وحدة المعالجة المركزية أو الذاكرة أو مقاييس التطبيق (الطلبات في الثانية أو زمن الانتقال) أو مقاييس قائمة الانتظار والتراكم الخارجية. عندما تتجاوز النسخ المتماثلة سعة العقدة الموجودة، استخدم إمكانية NAP التي تم تكوينها مسبقا في AKS Automatic أو قم بتكوين Cluster Autoscaler أو NAP في AKS Standard.
لا تستخدم HPA وVPA على نفس وحدة المعالجة المركزية أو مقاييس الذاكرة. لاستخدام كل من المقاييس التلقائية، استخدم VPA في وضع التوصية أو قم بتكوين HPA لاستخدام مقاييس مخصصة مميزة.
تعرف على المزيد: متى يجب استخدام التحجيم التلقائي للجراب الأفقي (HPA) في Kubernetes؟
راجع أيضا: استخدام التحجيم التلقائي للجراب العمودي في AKS لطلبات وحدة المعالجة المركزية والذاكرة ذات الحجم الصحيح.
أداة التحجيم التلقائي للجراب العمودي
يحلل التحجيم التلقائي للجراب العمودي وحدة المعالجة المركزية واستخدام الذاكرة ويوصي بطلبات الموارد المناسبة أو يطبقها. استخدم VPA للحجم الصحيح لأحمال العمل التي لا يمكن تغيير حجمها بكفاءة عن طريق إضافة النسخ المتماثلة أو لتحسين الجدولة واستخدام الموارد.
اعتمادا على وضع التحديث الخاص به، يمكن لتطبيق VPA توصيات عند إنشاء pods أو إخلائها وإعادة إنشاء pods مع طلبات الموارد المحدثة. راجع متطلبات توفر حمل العمل قبل السماح ل VPA بتطبيق التغييرات تلقائيا.
للبدء، راجع استخدام التحجيم التلقائي للجراب العمودي في AKS.
مدرج تلقائي للعنقود
يقوم التحجيم التلقائي لنظام المجموعة بضبط عدد العقد في تجمع عقدة وفقا لمتطلبات جدولة الجراب. يضيف العقد عندما لا يمكن جدولة الحجيرات بسبب سعة العقدة غير الكافية ويزيل العقد غير المستغلة بشكل كاف عندما يمكن تشغيل أحمال العمل الخاصة بها في مكان آخر.
يستخدم التحجيم التلقائي لنظام المجموعة بشكل شائع مع HPA. يقوم HPA بضبط عدد النسخ المتماثلة للجراب بناء على طلب حمل العمل، بينما يقوم التحجيم التلقائي لنظام المجموعة بضبط سعة العقدة لاستيعاب تلك القرون.
للبدء، راجع استخدام مقياس المجموعة التلقائي في AKS.
توسيع نطاق الأحداث
إذا لم يكن لدى تجمع العقدة موارد حوسبة كافية ل pod، يبقى pod معلقا. عندما يكتشف التحجيم التلقائي لنظام المجموعة القرون التي لا يمكن جدولتها بسبب قيود موارد تجمع العقدة، فإنه يزيد من عدد العقد في تجمع العقدة. يقوم Kubernetes بجدولة الحجيرات المعلقة بعد توفير العقد الجديدة وتصبح جاهزة.
قد يستغرق توفير العقد المستندة إلى الجهاز الظاهري عدة دقائق. بالنسبة لأحمال العمل ذات الطلب المفاجئ، ضع في اعتبارك استخدام العقد الظاهرية مثيلات حاوية Azure.
أحداث التحجيم
يراقب أداة التحجيم التلقائي لنظام المجموعة العقد للاستخدام غير المستغل بشكل جيد ويحدد ما إذا كان يمكن تشغيل pods الخاصة بها على العقد الأخرى. عندما لم تعد هناك حاجة إلى عقدة، يقوم Kubernetes بإعادة جدولة القرون الخاصة به ويزيل AKS العقدة من تجمع العقدة.
يمكن أن تؤدي عمليات التوسيع إلى تعطيل أحمال العمل مع انتقال الحجيرات بين العقد. قم بتشغيل نسخ متماثلة متعددة من الجراب وتكوين عناصر تحكم التوفر المناسبة لتقليل التعطيل.
مقياس الحركات التلقائي بواسطة أحداث Kubernetes
يعد التحجيم التلقائي المستند إلى الأحداث (KEDA) في Kubernetes مكونا مفتوح المصدر يتوسع في أحمال العمل استنادا إلى الأحداث. توسع KEDA Kubernetes بموارد مخصصة، بما في ذلك ScaledObject، التي تصف كيفية استجابة حمل العمل لمصدر حدث أو مقياس.
KEDA مفيد لأحمال العمل التي تعالج قوائم الانتظار أو التدفقات أو الرسائل أو تراكمات الأحداث الأخرى. يمكن توسيع نطاق أحمال العمل المدعومة إلى الصفر عندما لا تتوفر أحداث وزيادة النسخ المتماثلة مع نمو تراكم البيانات.
لا تجمع KEDA ScaledObject مع HPA منفصل لنفس حمل العمل. تقوم KEDA بإنشاء واستخدام HPA داخليا، بحيث تتنافس المقاييس التلقائية مع بعضها البعض.
للبدء، راجع نظرة عامة على الوظيفة الإضافية KEDA.
التزويد التلقائي للعقدة
يستخدم التوفير التلقائي للعقدة (NAP) مشروع Karpenter مفتوح المصدر لتوفير العقد وإدارتها وفقا لمتطلبات الجراب المعلقة. تحدد NAP جهازا ظاهريا مناسبا SKU وكمية العقدة لتلبية طلب حمل العمل في الوقت الحقيقي.
يبدأ NAP بمجموعة مسموح بها من وحدات SKU للجهاز الظاهري ويحدد السعة لأحمال العمل المعلقة. يمكنك تحديد حدود الموارد وجدولة التفضيلات للتحكم في كيفية توفير العقد وتوزيع أحمال العمل.
تحجيم مستوى التحكم والضمانات
تقوم AKS تلقائيا بتحجيم مكونات وحدة التحكم استنادا إلى حجم نظام المجموعة واستخدام موارد خادم API. ينطبق هذا التوجيه على AKS Automatic وAKS Standard. استخدم مستوى التسعير القياسي أو المميز لأعباء العمل الإنتاجية أو على نطاق واسع.
يحتوي Kubernetes على مغلف مقياس متعدد الأبعاد حيث يضع كل نوع مورد طلبات مختلفة على مستوى التحكم. على سبيل المثال، غالبا ما تراقب البيانات السرية بواسطة وحدات تحكم ووحدات تحكم متعددة تجري مكالمة أولية LIST ، ما يؤدي إلى إنشاء تحميل وحدة تحكم أكبر من الموارد التي تتم مراقبتها بشكل متكرر. يمكن أن يقلل التحجيم بشكل كبير في بعد واحد من السعة في أبعاد أخرى. على سبيل المثال، يمكن أن يؤدي تشغيل مئات الآلاف من الحجيرات إلى تقليل معدل طفرة الجراب الذي تدعمه وحدة التحكم. للحصول على توصيات، راجع أفضل ممارسات عميل Kubernetes لمجموعات AKS واسعة النطاق.
للتحقق مما إذا كان مستوى التحكم قد تم توسيع نطاقه، افحص large-cluster-control-plane-scaling-status ConfigMap:
kubectl describe configmap large-cluster-control-plane-scaling-status -n kube-system
يؤكد وجود ConfigMap هذا أن AKS يتوسع في مستوى التحكم.
ضمانات وحدة التحكم
إذا لم يستقر تحجيم خادم API تلقائيا تحت حمولة عالية، يمكن ل AKS نشر حماية خادم API مدار. تعمل هذه الحماية من الملاذ الأخير على تقييد طلبات العميل غير التابعة للنظام لمنع وحدة التحكم من أن تصبح غير مستجيبة. استدعاءات خادم واجهة برمجة التطبيقات الهامة للنظام من مكونات مثل kubelet الاستمرار في العمل.
لتحديد ما إذا كان قد تم تطبيق حماية خادم API المدار، تحقق من aks-managed-apiserver-guardFlowSchema و PriorityLevelConfiguration:
kubectl get flowschemas
kubectl get prioritylevelconfigurations
يكون الحارس نشطا عند aks-managed-apiserver-guard ظهوره في كل من مخرجات الأمر.
إذا كانت هذه الموارد موجودة، فراجع خادم API ودليل استكشاف الأخطاء وإصلاحها etcd للحصول على إرشادات التخفيف.
الاندفاع إلى مثيلات حاوية Azure (ACI)
يمكنك دمج AKS مع مثيلات حاوية Azure للتعامل مع الزيادات السريعة في الطلب. يمكن أن ينشئ التحجيم التلقائي للجراب نسخا متماثلة أكثر مما يمكن أن يدعمه تجمع العقدة الحالي، بينما قد يستغرق توفير عقد إضافية مستندة إلى الجهاز الظاهري عدة دقائق. يوفر ACI سعة حساب دون الحاجة إلى عقد VM إضافية.
تدعم العقد الظاهرية (عقد Kubernetes الظاهرية المدعومة من ACI) مجموعات Linux والعقد وتتطلب نظام مجموعة AKS يستخدم شبكات Azure CNI. لا تدعم بعض السيناريوهات الشائعة، بما في ذلك نطاقات IP المعتمدة لخادم API، ووحدات التخزين الثابتة ومطالبات وحدة التخزين الثابتة، وIPv6، والهويات المدارة المرفقة بالعقد الظاهرية. راجع قيود العقدة الظاهرية قبل استخدام تحجيم اندفاع ACI.
يعتمد مكون العقد الظاهرية AKS على Virtual Kubelet ويعرض ACI كعقدة Kubernetes ظاهرية. يمكن ل Kubernetes جدولة الحجيرات المؤهلة من خلال العقدة الظاهرية لتشغيلها كمثيلات حاوية ACI بدلا من مباشرة على عقد جهاز AKS الظاهري.
تستخدم العقد الظاهرية شبكة فرعية أخرى في نفس الشبكة الظاهرية مثل نظام مجموعة AKS. يوفر هذا التكوين اتصال شبكة اتصال خاصة بين AKS و ACI مع السماح ل ACI بالعمل كملحق منطقي للمجموعة.
المحتوى ذو الصلة
استخدم الموارد التالية لتنفيذ أسلوب التحجيم الذي يناسب حمل العمل الخاص بك:
- تحجيم الجرابات أو العقد يدويا
- متى يجب استخدام التحجيم التلقائي للجراب الأفقي (HPA) في Kubernetes؟
- استخدام التحجيم التلقائي للجراب العمودي في AKS
- استخدام التحجيم التلقائي لنظام المجموعة في AKS
- استخدام الوظيفة الإضافية KEDA
- استخدام التوفير التلقائي للعقدة
- إنشاء عقد ظاهرية باستخدام مثيلات حاوية Azure
لمزيد من المعلومات حول مفاهيم Kubernetes وAKS الأساسية، راجع: