مراجعة Azure Well-Architected Framework - خدمة Azure Kubernetes (AKS)

توفر هذه المقالة أفضل الممارسات المعمارية لخدمة Azure Kubernetes (AKS). تستند الإرشادات إلى الركائز الخمس لتميز البنية:

  • الموثوقية
  • الأمان
  • تحسين التكلفة
  • التميز التشغيلي
  • كفاءة الأداء

نفترض أنك تفهم مبادئ تصميم النظام، وأن لديك معرفة عملية بخدمة Azure Kubernetes، وأنك على دراية جيدة بميزاتها. لمزيد من المعلومات، راجع Azure Kubernetes Service.

المتطلبات الأساسية

يمكن أن يساعد فهم ركائز Well-Architected Framework في إنتاج بنية سحابية عالية الجودة ومستقرة وفعالة. نوصي بمراجعة حمل العمل الخاص بك باستخدام تقييم Azure Well-Architected Framework Review .

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

الموثوقية

نعترف بحدوث حالات الفشل في السحابة. بدلاً من محاولة منع وقوع حالات الفشل كليًا، فإن الهدف هو تقليل آثار المكون الذي فشل. استخدم المعلومات التالية لتقليل المثيلات الفاشلة.

عند مناقشة الموثوقية مع خدمة Azure Kubernetes، من المهم التمييز بين موثوقية نظام المجموعةوموثوقية حمل العمل. موثوقية نظام المجموعة هي مسؤولية مشتركة بين مسؤول نظام المجموعة وموفر الموارد الخاص به، بينما موثوقية حمل العمل هي مجال المطور. لدى Azure Kubernetes Service اعتبارات وتوصيات لكلا الدورين.

في قائمة اختيار التصميموقائمة التوصيات أدناه، يتم إجراء استدعاءات للإشارة إلى ما إذا كان كل خيار قابلا للتطبيق على بنية نظام المجموعة أو بنية حمل العمل أو كليهما.

قائمة مراجعة التصميم

  • بنية نظام المجموعة: بالنسبة لأحمال العمل الهامة، استخدم مناطق التوفر لمجموعات AKS الخاصة بك.
  • بنية نظام المجموعة: خطط لمساحة عنوان IP للتأكد من أن مجموعتك يمكن أن تتوسع بشكل موثوق، بما في ذلك معالجة نسبة استخدام الشبكة لتجاوز الفشل في طبولوجيا متعددة المجموعات.
  • بنية نظام المجموعة: تمكين نتائج تحليلات الحاوية لمراقبة نظام المجموعة وتكوين التنبيهات للأحداث التي تؤثر على الموثوقية.
  • بنية حمل العمل: تأكد من إنشاء أحمال العمل لدعم التحجيم الأفقي والإبلاغ عن جاهزية التطبيق وصحته.
  • بنيات نظام المجموعة وأحمال العمل: تأكد من تشغيل حمل العمل الخاص بك على تجمعات عقدة المستخدم واختر SKU بالحجم المناسب. كحد أدنى، قم بتضمين عقدتين لتجمعات عقد المستخدم وثلاث عقد لتجمع عقدة النظام.
  • بنية نظام المجموعة: استخدم AKS Uptime SLA لتلبية أهداف التوفر لأحمال عمل الإنتاج.

توصيات تكوين AKS

استكشف جدول التوصيات التالي لتحسين تكوين AKS للموثوقية.

التوصية الميزة
بنيات نظام المجموعة وأحمال العمل: التحكم في جدولة الجراب باستخدام محددات العقدة والترابط. يسمح لجدول Kubernetes بعزل أحمال العمل منطقيًا حسب الأجهزة الموجودة في العقدة. على عكس التفاوتات، يمكن جدولة الجرابات التي لا تحتوي على محدد عقدة مطابقة على العقد المسماة، والتي تسمح للموارد غير المستخدمة على العقد للاستهلاك، ولكنها تعطي الأولوية للقرون التي تحدد محدد العقدة المطابقة. استخدم ترابط العقدة لمزيد من المرونة، مما يسمح لك بتحديد ما يحدث إذا تعذر مطابقة الجراب مع العقدة.
بنية نظام المجموعة: تأكد من الاختيار الصحيح للمكون الإضافي للشبكة استنادا إلى متطلبات الشبكة وتحجيم نظام المجموعة. يعد Azure CNI مطلوبًا لسيناريوهات معينة، على سبيل المثال، تجمعات العقد المستندة إلى Windows ومتطلبات الشبكات المحددة ونُهج شبكة Kubernetes. راجع Kubenet مقابل Azure CNI لمزيد من المعلومات.
بنيات نظام المجموعة وأحمال العمل: استخدم AKS Uptime SLA لمجموعات درجات الإنتاج. تضمن الاتفاقية على مستوى الخدمة لخدمة AKS وقت التشغيل ما يلي:
- 99.95% توفر نقطة نهاية خادم Kubernetes API لمجموعات AKS التي تستخدم مناطق قابلية الوصول إلى Azure، أو
- 99.9% قابلية الوصول إلى نظم مجموعات AKZ التي لا تستخدم قابلية الوصول إلى المناطق.
بنيات نظام المجموعة وأحمال العمل: تكوين مراقبة نظام المجموعة باستخدام نتائج تحليلات الحاوية. تساعد نتائج تحليلات الحاوية في مراقبة صحة وأداء وحدات التحكم والعقد والحاويات المتوفرة في Kubernetes من خلال واجهة برمجة تطبيقات المقاييس. يتيح التكامل مع Prometheus جمع مقاييس التطبيق وأحمال العمل.
بنية نظام المجموعة: استخدم مناطق التوفر لزيادة المرونة داخل منطقة Azure عن طريق توزيع عقد عامل AKS عبر مراكز بيانات منفصلة فعليا. من خلال نشر تجمعات العقد عبر مناطق متعددة، ستستمر العقد في تجمع عقدة واحدة في العمل حتى إذا تعطلت منطقة أخرى. إذا كانت متطلبات الموقع المشترك موجودة، يمكن استخدام توزيع AKS منتظم يستند إلى VMSS في منطقة واحدة أو مجموعات مواضع التقارب لتقليل زمن انتقال العقدة الداخلية.
بنية نظام المجموعة: اعتماد استراتيجية متعددة المناطق من خلال توزيع مجموعات AKS الموزعة عبر مناطق Azure المختلفة لتحقيق أقصى قدر من التوفر وتوفير استمرارية الأعمال. يجب أن تستفيد أحمال العمل التي تواجه الإنترنت من Azure Front Door أو Azure Traffic Manager لتوجيه نسبة استخدام الشبكة عالميا عبر مجموعات AKS.
بنيات نظام المجموعة وأحمال العمل: حدد طلبات موارد Pod وحدودها في بيانات توزيع التطبيق، وفرضها باستخدام نهج Azure. تعد وحدة المعالجة المركزية للحاوية وحدود موارد الذاكرة ضرورية لمنع استنفاد الموارد في مجموعة Kubernetes الخاصة بك.
بنيات نظام المجموعة وأحمال العمل: حافظ على تجمع عقدة النظام معزولا عن أحمال عمل التطبيق. تتطلب تجمعات عقدة النظام وحدة SKU للجهاز الظاهري من 2 vCPUs على الأقل وذاكرة 4 غيغابايت، ولكن يوصى ب 4 وحدات معالجة مركزية ظاهرية أو أكثر. راجع تجمعات عُقَد المستخدم والنظام للحصول على المتطلبات التفصيلية.
بنيات نظام المجموعة وأحمال العمل: افصل التطبيقات عن تجمعات العقد المخصصة بناء على متطلبات محددة. قد تشترك التطبيقات في نفس التكوين وتحتاج إلى أجهزة ظاهرية ممكنة لوحدة معالجة الرسومات أو وحدة المعالجة المركزية أو الأجهزة الظاهرية المحسنة للذاكرة أو القدرة على التوسع إلى الصفر. تجنب عددا كبيرا من تجمعات العقد لتقليل الحمل الإضافي للإدارة.
بنية نظام المجموعة: استخدم بوابة NAT للمجموعات التي تقوم بتشغيل أحمال العمل التي تقوم بإجراء العديد من الاتصالات الصادرة المتزامنة. لتجنب مشكلات الموثوقية مع قيود موازن تحميل Azure مع نسبة استخدام الشبكة الصادرة المتزامنة العالية، نحن بوابة NAT بدلا من ذلك لدعم نسبة استخدام الشبكة للخروج الموثوق بها على نطاق واسع.

لمزيد من الاقتراحات، راجع مبادئ ركيزة الموثوقية.

نهج Azure

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

بنية نظام المجموعة وأحمال العمل

  • تحتوي المجموعات على فحوصات حالة الاستعداد أو الحياة التي تم تكوينها لمواصفات الجراب الخاص بك.

بالإضافة إلى تعريفات نهج Azure المضمنة، يمكن إنشاء نهج مخصصة لكل من مورد AKS والوظيفة الإضافية لنهج Azure ل Kubernetes. يسمح لك هذا بإضافة قيود موثوقية إضافية ترغب في فرضها في نظام المجموعة وبنية حمل العمل.

الأمان

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

للتعرف على دعم ومتطلبات DoD Impact Level 5 (IL5) مع AKS، راجع متطلبات عزل Azure Government IL5.

عند مناقشة الأمان مع Azure Kubernetes Service، من المهم التمييز بين أمان نظام المجموعةوأمان حمل العمل. أمان نظام المجموعة هو مسؤولية مشتركة بين مسؤول نظام المجموعة وموفر الموارد الخاص به، بينما أمان حمل العمل هو مجال المطور. لدى Azure Kubernetes Service اعتبارات وتوصيات لكلا الدورين.

في قائمة اختيار التصميموقائمة التوصيات أدناه، يتم إجراء استدعاءات للإشارة إلى ما إذا كان كل خيار قابلا للتطبيق على بنية نظام المجموعة أو بنية حمل العمل أو كليهما.

قائمة مراجعة التصميم

  • بنية نظام المجموعة: استخدم الهويات المدارة لتجنب إدارة مبادئ الخدمة وتدويرها.
  • بنية نظام المجموعة: استخدم التحكم في الوصول المستند إلى دور Kubernetes (RBAC) مع Microsoft Entra ID للوصول الأقل امتيازا وتقليل منح امتيازات المسؤول لحماية التكوين والوصول إلى البيانات السرية.
  • بنية نظام المجموعة: استخدم Microsoft Defender للحاويات باستخدام Azure Sentinel للكشف عن التهديدات والاستجابة لها بسرعة عبر نظام المجموعة وأحمال العمل التي تعمل عليها.
  • بنية نظام المجموعة: نشر نظام مجموعة AKS خاص لضمان بقاء نسبة استخدام الشبكة لإدارة نظام المجموعة إلى خادم API الخاص بك على شبكتك الخاصة. أو استخدم قائمة السماح لخادم API للمجموعات غير الخاصة.
  • بنية حمل العمل: استخدم جدار حماية تطبيق ويب لتأمين نسبة استخدام الشبكة HTTP(S).
  • بنية حمل العمل: تأكد من تقوية البنية الأساسية لبرنامج ربط العمليات التجارية CI/CID باستخدام الفحص المدرك للحاويات.

التوصيات

استكشف جدول التوصيات التالي لتحسين تكوين AKS للأمان.

التوصية الميزة
بنية نظام المجموعة: استخدم تكامل Microsoft Entra. يؤدي استخدام Microsoft Entra ID إلى مركزية مكون إدارة الهوية. يتم تحديث أي تغيير في حساب المستخدم أو حالة المجموعة تلقائيا في الوصول إلى نظام مجموعة أجهزة كمبيوتر AKS. يحتاج مطورو ومُلاك التطبيقات في مجموعة Kubernetes إلى الوصول إلى موارد مختلفة.
بنية نظام المجموعة: المصادقة مع Microsoft Entra ID إلى Azure Container Registry. تتيح AKS و Microsoft Entra ID المصادقة باستخدام Azure Container Registry دون استخدام imagePullSecrets الأسرار. راجع المصادقة باستخدام Azure Container Registry من Azure Kubernetes Service لمزيد من المعلومات.
بنية نظام المجموعة: تأمين نسبة استخدام الشبكة إلى خادم API الخاص بك باستخدام نظام مجموعة AKS الخاصة. بشكل افتراضي، تنتقل نسبة استخدام الشبكة بين تجمعات العقد وخادم واجهة برمجة التطبيقات إلى شبكة Microsoft الأساسية؛ باستخدام نظام مجموعة خاص، يمكنك التأكد من بقاء نسبة استخدام الشبكة إلى خادم واجهة برمجة التطبيقات على الشبكة الخاصة فقط.
بنية نظام المجموعة: بالنسبة لمجموعات AKS غير الخاصة، استخدم نطاقات IP المعتمدة لخادم API. عند استخدام المجموعات العامة، لا يزال بإمكانك الحد من نسبة استخدام الشبكة التي يمكن أن تصل إلى خادم واجهة برمجة تطبيقات المجموعات باستخدام ميزة نطاق IP المعتمد. قم بتضمين مصادر مثل عناوين IP العامة لوكلاء إنشاء التوزيع وإدارة العمليات ونقطة خروج تجمعات العقد (مثل Azure Firewall).
بنية نظام المجموعة: حماية خادم واجهة برمجة التطبيقات باستخدام التحكم في الوصول استنادا إلى الدور Microsoft Entra. يعد تأمين الوصول إلى Kubernetes API Server وهو أحد أهم الأشياء التي يمكنك القيام بها لتأمين مجموعتك. دمج التحكم في الوصول المستند إلى الدور (RBAC) في Kubernetes مع Microsoft Entra ID للتحكم في الوصول إلى خادم واجهة برمجة التطبيقات. تعطيل الحسابات المحلية لفرض جميع الوصول إلى نظام المجموعة باستخدام الهويات المستندة إلى Microsoft Entra ID.
بنية نظام المجموعة: استخدم نهج شبكة Azure أو Calico. تأمين حركة مرور الشبكة والتحكم فيها بين القرون في نظام مجموعة.
بنية نظام المجموعة: تأمين المجموعات والقرون باستخدام نهج Azure. يمكن أن يساعد نهج Azure في تطبيق الإنفاذ والضمانات على نطاق واسع على مجموعاتك بطريقة مركزية ومتسقة. يمكنه أيضاً التحكم في الوظائف التي يتم منحها وما إذا كان ما يتعارض مع نهج الشركة.
بنية نظام المجموعة: تأمين وصول الحاوية إلى الموارد. تقييد الوصول إلى الإجراءات التي يمكن للحاويات القيام بها. وفّر أقل عدد من الأذونات، وتجنب استخدام الجذر، أو زيادة الامتيازات.
بنية حمل العمل: استخدم جدار حماية تطبيق ويب لتأمين نسبة استخدام الشبكة HTTP(S). لفحص نسبة استخدام الشبكة الواردة بحثا عن الهجمات المحتملة، استخدم جدار حماية تطبيق ويب مثل Azure Web Application Firewall (WAF) على Azure Application Gateway أو Azure Front Door.
بنية نظام المجموعة: التحكم في نسبة استخدام شبكة خروج نظام المجموعة. تأكد من أن نسبة استخدام الشبكة الصادرة لنظام المجموعة تمر عبر نقطة أمان شبكة مثل Azure Firewall أو وكيل HTTP.
بنية نظام المجموعة: استخدم هوية حمل عمل Microsoft Entra مفتوح المصدر وSecrets Store CSI Driver مع Azure Key Vault. حماية البيانات السرية والشهادات وسلاسل الاتصال وتدويرها في Azure Key Vault بتشفير قوي. يوفر سجل تدقيق الوصول، ويحافظ على البيانات السرية الأساسية خارج البنية الأساسية لبرنامج ربط العمليات التجارية للتوزيع.
بنية نظام المجموعة: استخدم Microsoft Defender للحاويات. مراقبة وصيانة أمان المجموعات والحاويات وتطبيقاتها.

لمزيد من الاقتراحات، راجع مبادئ الركيزة الأمنية.

يساعد Azure Advisor على ضمان خدمة Azure Kubernetes وتحسينها. يقدم توصيات حول مجموعة فرعية من العناصر المدرجة في قسم النهج أدناه، مثل المجموعات التي لم يتم تكوين RBAC لها، أو تكوين Microsoft Defender المفقود، أو الوصول غير المقيد إلى الشبكة إلى خادم API. وبالمثل، فإنه يقدم توصيات حمل العمل لبعض عناصر مبادرة أمان الجراب. راجع التوصيات.

تعريفات السياسة

يوفر نهج Azure تعريفات نهج مضمنة مختلفة تنطبق على كل من مورد Azure وAKS مثل تعريفات النهج القياسية، واستخدام الوظيفة الإضافية لنهج Azure ل Kubernetes، أيضا داخل نظام المجموعة. تأتي العديد من نهج موارد Azure في كل من التدقيق/الرفض، ولكن أيضا في متغير Deploy If Not Exists .

هناك عدد كبير من النهج، ويتم تلخيص السياسات الرئيسية المتعلقة بهذه الركيزة هنا. للحصول على طريقة عرض أكثر تفصيلا، راجع تعريفات النهج المضمنة ل Kubernetes.

بنية نظام المجموعة

  • Microsoft Defender للنهج المستندة إلى السحابة
  • وضع المصادقة ونهج التكوين (Microsoft Entra ID وRBAC وتعطيل المصادقة المحلية)
  • نهج الوصول إلى شبكة API Server، بما في ذلك نظام المجموعة الخاصة

بنية نظام المجموعة وأحمال العمل

  • مبادرات أمان مجموعة Kubernetes أحمال العمل المستندة إلى Linux
  • تضمين نهج قدرة الحاوية والحاويات مثل AppArmor وsysctl وقبعات الأمان وSELinux و seccomp والحاويات المتميزة وبيانات اعتماد واجهة برمجة تطبيقات نظام مجموعة التحميل التلقائي
  • نهج التحميل وبرامج تشغيل وحدة التخزين ونظام الملفات
  • نهج شبكات Pod/Container، مثل شبكة المضيف والمنفذ وعناوين IP الخارجية المسموح بها وHTTPs وموازنات التحميل الداخلية

غالبا ما تستخدم عمليات توزيع خدمة Azure Kubernetes أيضا Azure Container Registry لمخططات Helm وصور الحاوية. يدعم Azure Container Registry أيضا مجموعة واسعة من نهج Azure التي تمتد عبر قيود الشبكة والتحكم في الوصول Microsoft Defender للسحابة، والتي تكمل بنية AKS آمنة.

بالإضافة إلى النهج المضمنة، يمكن إنشاء نهج مخصصة لكل من مورد AKS والوظيفة الإضافية لنهج Azure ل Kubernetes. يسمح لك هذا بإضافة قيود أمان إضافية تريد فرضها في نظام المجموعة وبنية حمل العمل.

لمزيد من الاقتراحات، راجع مفاهيم أمان AKS وقم بتقييم توصيات تقوية الأمان الخاصة بنا استنادا إلى معيار CIS Kubernetes.

تحسين التكلفة

يتعلق تحسين التكلفة بفهم خيارات التكوين المختلفة وأفضل الممارسات الموصى بها لتقليل النفقات غير الضرورية وتحسين الكفاءات التشغيلية. قبل اتباع الإرشادات الواردة في هذه المقالة، نوصي بمراجعة الموارد التالية:

عند مناقشة تحسين التكلفة مع خدمة Azure Kubernetes، من المهم التمييز بين تكلفة موارد نظام المجموعةوتكلفة موارد حمل العمل. موارد نظام المجموعة هي مسؤولية مشتركة بين مسؤول نظام المجموعة وموفر الموارد الخاص بهم، بينما موارد حمل العمل هي مجال المطور. لدى Azure Kubernetes Service اعتبارات وتوصيات لكلا الدورين.

في قائمة اختيار التصميموقائمة التوصيات، يتم إجراء عمليات استدعاء للإشارة إلى ما إذا كان كل خيار قابلا للتطبيق على بنية نظام المجموعة أو بنية حمل العمل أو كليهما.

لتحسين تكلفة نظام المجموعة، انتقل إلى حاسبة أسعار Azure وحدد Azure Kubernetes Service من المنتجات المتوفرة. يمكنك اختبار التكوين وخطط الدفع المختلفة في الحاسبة.

قائمة مراجعة التصميم

  • بنية نظام المجموعة: استخدم وحدة SKU المناسبة للجهاز الظاهري لكل تجمع عقدة والمثيلات المحجوزة حيث من المتوقع السعة طويلة الأجل.
  • بنيات نظام المجموعة وأحمال العمل: استخدم طبقة القرص المدارة المناسبة وحجمه.
  • بنية نظام المجموعة: راجع مقاييس الأداء، بدءا من وحدة المعالجة المركزية والذاكرة والتخزين والشبكة، لتحديد فرص تحسين التكلفة حسب نظام المجموعة والعقد ومساحة الاسم.
  • بنية نظام المجموعة وأحمال العمل: استخدم التحجيم التلقائي لتوسيع النطاق عندما تكون أحمال العمل أقل نشاطا.

التوصيات

استكشف جدول التوصيات التالي لتحسين تكوين AKS الخاص بك للتكلفة.

التوصية الميزة
بنيات نظام المجموعة وأحمال العمل: محاذاة تحديد SKU وحجم القرص المدار مع متطلبات حمل العمل. تضمن مطابقة اختيارك مع متطلبات حمل العمل عدم الدفع مقابل الموارد غير الضرورية.
بنية نظام المجموعة: حدد نوع مثيل الجهاز الظاهري الصحيح. يعد تحديد نوع مثيل الجهاز الظاهري المناسب أمرا بالغ الأهمية لأنه يؤثر مباشرة على تكلفة تشغيل التطبيقات على AKS. يمكن أن يؤدي اختيار مثيل عالي الأداء دون استخدام مناسب إلى إنفاق هدر، بينما يمكن أن يؤدي اختيار مثيل قوي إلى مشكلات في الأداء وزيادة وقت التعطل. لتحديد نوع مثيل الجهاز الظاهري الصحيح، ضع في اعتبارك خصائص حمل العمل ومتطلبات الموارد واحتياجات التوفر.
بنية نظام المجموعة: حدد الأجهزة الظاهرية استنادا إلى بنية Arm. يدعم AKS إنشاء عقد عامل ARM64 Ubuntu، بالإضافة إلى مزيج من عقد بنية Intel وARM داخل نظام مجموعة يمكن أن يحقق أداء أفضل بتكلفة أقل.
بنية نظام المجموعة: حدد Azure Spot Virtual Machines. تسمح لك أجهزة Spot الظاهرية بالاستفادة من سعة Azure غير المستغلة بخصومات كبيرة (تصل إلى 90٪ مقارنة بأسعار الدفع أولا بأول). إذا احتاج Azure إلى استعادة السعة، فإن البنية الأساسية ل Azure تخلي عقد Spot.
بنية نظام المجموعة: حدد المنطقة المناسبة. نظرا للعديد من العوامل، تختلف تكلفة الموارد لكل منطقة في Azure. قم بتقييم متطلبات التكلفة وا لزمن الانتقال والتوافق للتأكد من أنك تقوم بتشغيل حمل العمل الخاص بك بفعالية من حيث التكلفة ولا يؤثر على المستخدمين النهائيين أو إنشاء رسوم إضافية للشبكات.
بنية حمل العمل: الحفاظ على الصور الصغيرة والمحسنة. يساعد تبسيط صورك على تقليل التكاليف نظرا لأن العقد الجديدة تحتاج إلى تنزيل هذه الصور. أنشئ الصور بطريقة تسمح ببدء تشغيل الحاوية في أقرب وقت ممكن للمساعدة في تجنب فشل طلب المستخدم أو المهلات أثناء بدء تشغيل التطبيق، مما قد يؤدي إلى الإفراط في التوفير.
بنية نظام المجموعة: تمكين التحجيم التلقائي لنظام المجموعة لتقليل عدد عقد العامل تلقائيا استجابة لسعة الموارد الزائدة. يتيح لك تقليص عدد العقد تلقائيا في نظام مجموعة AKS تشغيل مجموعة فعالة عندما يكون الطلب منخفضا ويتوسع عند إرجاع الطلب.
بنية نظام المجموعة: تمكين التوفير التلقائي للعقدة لأتمتة تحديد VM SKU. يعمل التوفير التلقائي للعقدة على تبسيط عملية تحديد SKU ويقرر، استنادا إلى متطلبات موارد الجراب المعلقة، التكوين الأمثل للجهاز الظاهري لتشغيل أحمال العمل بأكثر الطرق كفاءة وفعالية من حيث التكلفة.
بنية حمل العمل: استخدم التحجيم التلقائي للجراب الأفقي. اضبط عدد القرون في التوزيع اعتمادا على استخدام وحدة المعالجة المركزية أو مقاييس التحديد الأخرى، والتي تدعم عمليات توسيع نظام المجموعة.
بنية حمل العمل: استخدم التحجيم التلقائي للجراب العمودي (معاينة). قم بتصنيم القرون الخاصة بك وقم بتعيين الطلبات والحدود ديناميكيا استنادا إلى الاستخدام التاريخي.
بنية حمل العمل: استخدم Kubernetes Event Driven Autoscaling (KEDA). المقياس استنادا إلى عدد الأحداث التي تتم معالجتها. اختر من بين كتالوج غني من أكثر من 50 متدرج KEDA.
بنيات نظام المجموعة وأحمال العمل: اعتماد الانضباط المالي السحابي والممارسة الثقافية لدفع ملكية استخدام السحابة. أساس تمكين تحسين التكلفة هو انتشار نظام مجموعة توفير التكاليف. غالبا ما يستخدم نهج العمليات المالية (FinOps) لمساعدة المؤسسات على تقليل تكاليف السحابة. إنها ممارسة تتضمن التعاون بين فرق التمويل والعمليات والهندسة لدفع المواءمة حول أهداف توفير التكاليف وتحقيق الشفافية في تكاليف السحابة.
بنية نظام المجموعة: التسجيل للحصول على حجوزات Azure أو خطة توفير Azure. إذا كنت تخطط بشكل صحيح للسعة، فإن حمل العمل الخاص بك يمكن التنبؤ به وهو موجود لفترة طويلة من الوقت، أو التسجيل للحصول على حجز Azure أو خطة توفير لتقليل تكاليف الموارد بشكل أكبر.
بنية نظام المجموعة: تكوين مراقبة نظام المجموعة باستخدام نتائج تحليلات الحاوية. تساعد نتائج تحليلات الحاوية على توفير رؤى قابلة للتنفيذ حول مجموعاتك الخاملة والموارد غير المخصصة. تدعم نتائج تحليلات الحاوية أيضا جمع مقاييس Prometheus وتتكامل مع Azure Managed Grafana للحصول على عرض شامل للتطبيق والبنية الأساسية الخاصة بك.
بنية نظام المجموعة: تكوين الوظيفة الإضافية AKS Cost Analysis. يمكنك ملحق نظام مجموعة تحليل التكلفة من الحصول على نظرة ثاقبة دقيقة على التكاليف المرتبطة بموارد Kubernetes المختلفة في مجموعاتك أو مساحات الأسماء الخاصة بك.

لمزيد من الاقتراحات، راجع مبادئ ركيزة تحسين التكلفةوتحسين التكاليف في خدمة Azure Kubernetes.

تعريفات السياسة

على الرغم من عدم وجود نهج مضمنة تتعلق بتحسين التكلفة، يمكن إنشاء نهج مخصصة لكل من مورد AKS والوظيفة الإضافية لنهج Azure ل Kubernetes. يسمح لك هذا بإضافة قيود تحسين التكلفة الإضافية التي ترغب في فرضها في نظام المجموعة وبنية حمل العمل.

كفاءة السحابة

يتطلب جعل أحمال العمل أكثر استدامة وكفاءة في السحابة، الجمع بين الجهود حول تحسين التكلفة، والحد من انبعاثات الكربون، وتحسين استهلاك الطاقة. تحسين تكلفة التطبيق هو الخطوة الأولية في جعل أحمال العمل أكثر استدامة.

تعرف على كيفية بناء أحمال عمل AKS مستدامة وفعالة، في مبادئ هندسة البرمجيات المستدامة في خدمة Azure Kubernetes (AKS).

التميز التشغيلي

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

عند مناقشة التميز التشغيلي مع خدمة Azure Kubernetes، من المهم التمييز بين التميز التشغيلي للمجموعةوالتميز التشغيلي لحمل العمل. عمليات نظام المجموعة هي مسؤولية مشتركة بين مسؤول نظام المجموعة وموفر الموارد الخاص بهم، بينما عمليات حمل العمل هي مجال المطور. لدى Azure Kubernetes Service اعتبارات وتوصيات لكلا الدورين.

في قائمة اختيار التصميموقائمة التوصيات أدناه، يتم إجراء استدعاءات للإشارة إلى ما إذا كان كل خيار قابلا للتطبيق على بنية نظام المجموعة أو بنية حمل العمل أو كليهما.

قائمة مراجعة التصميم

  • بنية نظام المجموعة: استخدم التوزيع المستند إلى القالب باستخدام Bicep أو Terraform أو غيرها. تأكد من أن جميع عمليات التوزيع قابلة للتكرار وقابلة للتتبع ومخزنة في مستودع التعليمات البرمجية المصدر.
  • بنية نظام المجموعة: أنشئ عملية تلقائية لضمان تمهيد أنظمة المجموعات الخاصة بك بالتكوينات والنشرات الضرورية على مستوى المجموعة. غالبا ما يتم تنفيذ هذا باستخدام GitOps.
  • بنية حمل العمل: استخدم عمليات توزيع قابلة للتكرار وأتمتة لحمل العمل الخاص بك ضمن دورة حياة تطوير البرامج.
  • بنية نظام المجموعة: تمكين إعدادات التشخيص لضمان تسجيل مستوى التحكم أو تفاعلات خادم واجهة برمجة التطبيقات الأساسية.
  • بنيات نظام المجموعة وأحمال العمل: تمكين نتائج تحليلات الحاوية لجمع المقاييس والسجلات والتشخيصات لمراقبة توفر وأداء نظام المجموعة وأحمال العمل التي تعمل عليها.
  • بنية حمل العمل: يجب تصميم حمل العمل لإصدار بيانات تتبع الاستخدام التي يمكن جمعها، والتي يجب أن تتضمن أيضا حالات حيوية واستعداد.
  • بنيات نظام المجموعة وأحمال العمل: استخدم ممارسات هندسة الفوضى التي تستهدف Kubernetes لتحديد مشكلات موثوقية التطبيق أو النظام الأساسي.
  • بنية حمل العمل: تحسين حمل العمل الخاص بك للعمل والتوزيع بكفاءة في حاوية.
  • بنيات نظام المجموعة وأحمال العمل: فرض إدارة نظام المجموعة وأحمال العمل باستخدام نهج Azure.

التوصيات

استكشف جدول التوصيات التالي لتحسين تكوين AKS للعمليات.

التوصية الميزة
بنيات نظام المجموعة وأحمال العمل: مراجعة وثائق أفضل ممارسات AKS . لإنشاء التطبيقات وتشغيلها بنجاح في AKS، هناك اعتبارات رئيسية لفهمها وتنفيذها. تتضمن هذه المجالات ميزات متعددة المستأجرين والجدولة، وأمن المجموعة، والكمبيوتر الشخصي، أو استمرارية الأعمال والتعافي من الكوارث.
بنيات نظام المجموعة وأحمال العمل: راجع Azure Chaos Studio. يمكن أن يساعد Azure Chaos Studio في محاكاة الأخطاء وتشغيل حالات الإصلاح بعد كارثة.
بنيات نظام المجموعة وأحمال العمل: تكوين مراقبة نظام المجموعة باستخدام نتائج تحليلات الحاوية. تساعد نتائج تحليلات الحاوية في مراقبة أداء الحاويات من خلال جمع مقاييس الذاكرة والمعالج من وحدات التحكم والعقد والحاويات المتوفرة في Kubernetes من خلال واجهة برمجة تطبيقات المقاييس وسجلات الحاويات.
بنية حمل العمل: مراقبة أداء التطبيق باستخدام Azure Monitor. تكوين Application Insights للمراقبة المستندة إلى التعليمات البرمجية للتطبيقات التي تعمل في نظام مجموعة AKS.
بنية حمل العمل: تكوين استخراج مقاييس Prometheus باستخدام نتائج تحليلات الحاوية. توفر نتائج تحليلات الحاوية، التي تعد جزءا من Azure Monitor، تجربة إعداد سلسة لجمع مقاييس Prometheus. مرجع تكوين استخراج مقاييس Prometheus لمزيد من المعلومات.
بنية نظام المجموعة: اعتماد استراتيجية متعددة المناطق من خلال توزيع مجموعات AKS الموزعة عبر مناطق Azure المختلفة لتحقيق أقصى قدر من التوفر وتوفير استمرارية الأعمال. يجب أن تستفيد أحمال العمل التي تواجه الإنترنت من Azure Front Door أو Azure Traffic Manager لتوجيه نسبة استخدام الشبكة عالميا عبر مجموعات AKS.
بنية نظام المجموعة: تشغيل أنظمة المجموعات ومعايير تكوين القرون باستخدام نهج Azure. يمكن أن يساعد نهج Azure في تطبيق الإنفاذ والضمانات على نطاق واسع على مجموعاتك بطريقة مركزية ومتسقة. يمكنه أيضاً التحكم في الوظائف التي يتم منحها وما إذا كان ما يتعارض مع نهج الشركة.
بنية حمل العمل: استخدم إمكانات النظام الأساسي في عملية هندسة الإصدار. تدعم وحدات تحكم Kubernetes والدخول العديد من أنماط التوزيع المتقدمة لتضمينها في عملية هندسة الإصدار. ضع في اعتبارك أنماطا مثل عمليات النشر الزرقاء والأخضر أو إصدارات الكناري.
بنيات نظام المجموعة وأحمال العمل: بالنسبة لأحمال العمل الحرجة للمهام، استخدم عمليات النشر الزرقاء/الخضراء على مستوى الخوادم المخصصة. أتمتة مناطق التصميم ذات المهام الحرجة، بما في ذلك التوزيع والاختبار.

لمزيد من الاقتراحات، راجع مبادئ ركيزة التميز التشغيلي.

يقدم Azure Advisor أيضا توصيات بشأن مجموعة فرعية من العناصر المدرجة في قسم النهج أدناه، مثل إصدارات AKS غير المدعومة وإعدادات التشخيص غير المكونة. وبالمثل، فإنه يقدم توصيات حمل العمل حول استخدام مساحة الاسم الافتراضية.

تعريفات السياسة

يوفر نهج Azure تعريفات نهج مضمنة مختلفة تنطبق على كل من مورد Azure وAKS مثل تعريفات النهج القياسية، واستخدام الوظيفة الإضافية لنهج Azure ل Kubernetes، أيضا داخل نظام المجموعة. تأتي العديد من نهج موارد Azure في كل من التدقيق/الرفض، ولكن أيضا في متغير Deploy If Not Exists .

هناك عدد كبير من النهج، ويتم تلخيص السياسات الرئيسية المتعلقة بهذه الركيزة هنا. للحصول على طريقة عرض أكثر تفصيلا، راجع تعريفات النهج المضمنة ل Kubernetes.

بنية نظام المجموعة

  • الوظيفة الإضافية لنهج Azure ل Kubernetes
  • نهج تكوين GitOps
  • نهج إعدادات التشخيص
  • قيود إصدار AKS
  • منع استدعاء الأمر

بنية نظام المجموعة وأحمال العمل

  • قيود نشر مساحة الاسم

بالإضافة إلى النهج المضمنة، يمكن إنشاء نهج مخصصة لكل من مورد AKS والوظيفة الإضافية لنهج Azure ل Kubernetes. يسمح لك هذا بإضافة قيود أمان إضافية تريد فرضها في نظام المجموعة وبنية حمل العمل.

كفاءة الأداء

كفاءة الأداء هي قدرة حمل عملك على تغيير الحجم لتلبية المطالب التي يضعها المستخدمون عليها بطريقة فعالة. نوصي بمراجعة مبادئ كفاءة الأداء.

عند مناقشة الأداء مع خدمة Azure Kubernetes، من المهم التمييز بين أداء نظام المجموعةوأداء حمل العمل. أداء نظام المجموعة هو مسؤولية مشتركة بين مسؤول نظام المجموعة وموفر الموارد الخاص به، بينما أداء حمل العمل هو مجال المطور. لدى Azure Kubernetes Service اعتبارات وتوصيات لكلا الدورين.

في قائمة اختيار التصميموقائمة التوصيات أدناه، يتم إجراء استدعاءات للإشارة إلى ما إذا كان كل خيار قابلا للتطبيق على بنية نظام المجموعة أو بنية حمل العمل أو كليهما.

قائمة مراجعة التصميم

أثناء تحديد خيارات التصميم لخدمة Azure Kubernetes، راجع مبادئ كفاءة الأداء.

  • بنيات نظام المجموعة وأحمال العمل: قم بإجراء وتكرار تمرين خطة سعة مفصل يتضمن SKU وإعدادات التحجيم التلقائي ومعالجة IP واعتبارات تجاوز الفشل.
  • بنية نظام المجموعة: تمكين مقياس المجموعة التلقائي لضبط عدد عقد العامل تلقائيا استجابة لمتطلبات حمل العمل.
  • بنية نظام المجموعة: استخدم التحجيم التلقائي للجراب الأفقي لضبط عدد الحجيرات في التوزيع اعتمادا على استخدام وحدة المعالجة المركزية أو مقاييس التحديد الأخرى.
  • بنيات نظام المجموعة وأحمال العمل: تنفيذ أنشطة اختبار التحميل المستمرة التي تمارس كل من pod وأداة التحجيم التلقائي لنظام المجموعة.
  • بنيات نظام المجموعة وأحمال العمل: افصل أحمال العمل إلى تجمعات عقد مختلفة مما يسمح بالتحجيم المستقل.

التوصيات

استكشف جدول التوصيات التالي لتحسين تكوين خدمة Azure Kubernetes للأداء.

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

لمزيد من الاقتراحات، راجع مبادئ ركيزة كفاءة الأداء.

تعريفات السياسة

يوفر نهج Azure تعريفات نهج مضمنة مختلفة تنطبق على كل من مورد Azure وAKS مثل تعريفات النهج القياسية، واستخدام الوظيفة الإضافية لنهج Azure ل Kubernetes، أيضا داخل نظام المجموعة. تأتي العديد من نهج موارد Azure في كل من التدقيق/الرفض، ولكن أيضا في متغير Deploy If Not Exists .

هناك عدد كبير من النهج، ويتم تلخيص السياسات الرئيسية المتعلقة بهذه الركيزة هنا. للحصول على طريقة عرض أكثر تفصيلا، راجع تعريفات النهج المضمنة ل Kubernetes.

بنية نظام المجموعة وأحمال العمل

  • حدود موارد وحدة المعالجة المركزية والذاكرة

بالإضافة إلى النهج المضمنة، يمكن إنشاء نهج مخصصة لكل من مورد AKS والوظيفة الإضافية لنهج Azure ل Kubernetes. يسمح لك هذا بإضافة قيود أمان إضافية تريد فرضها في نظام المجموعة وبنية حمل العمل.

الموارد الإضافية

إرشادات Azure Architecture Center

إرشادات إطار عمل استخدام السحابة

الخطوات التالية