مشاركة عبر


استخدام وحدة تحكم دخول بوابة التطبيق مع مجموعة خدمة Azure Kubernetes متعددة المستأجرين

Azure Application Gateway
Azure Key Vault
Azure Container Registry
خدمة Azure Kubernetes ‏(AKS)
Azure Bastion

يستخدم هذا الحل Azure Web Application Firewall (WAF) للمساعدة في توفير حماية مركزية لتطبيقات الويب التي تقوم بنشرها على مجموعة خدمة Azure Kubernetes (AKS) متعددة المستأجرين. يساعد WAF على الحماية من الاستغلالات والثغرات الأمنية الشائعة.

يمكنك استخدام نهج WAF على بوابة تطبيق Azure للمساعدة في حماية تطبيقات الويب من الهجمات الضارة، مثل حقن SQL والبرمجة النصية عبر المواقع. يساعد هذا الأسلوب على حماية تطبيقات الويب التي تعمل على نظام مجموعة AKS ويتم عرضها عبر وحدة تحكم دخول بوابة التطبيق (AGIC). تم تكوين نهج WAF على Application Gateway مسبقا باستخدام مجموعة القواعد الأساسية لمشروع أمان التطبيقات (OWASP) Open Worldwide (OWASP) ويدعم إصدارات OWASP CRS الأخرى. يمكنك أيضا إنشاء قواعد مخصصة.

بناء الأنظمة

رسم تخطيطي يوضح حل وحدة تحكم دخول بوابة التطبيق.

قم بتنزيل ملف Visio لهذه البنية.

‏‏سير العمل‬

  • تستخدم هذه البنية قالب Azure Resource Manager مصاحب (قالب ARM) لنشر شبكة ظاهرية جديدة تحتوي على أربع شبكات فرعية:

    • تستضيف AksSubnet نظام مجموعة AKS.
    • يستضيف VmSubnet جهازا ظاهريا ل jumpbox (VM) ونقاط نهاية خاصة.
    • يستضيف AppGatewaySubnet مستوى WAF2 لبوابة التطبيق.
    • يستضيف AzureBastionSubnet Azure Bastion.
  • يستخدم نظام مجموعة AKS هوية مدارة معرفة من قبل المستخدم لإنشاء المزيد من الموارد، مثل موازنات التحميل والأقراص المدارة، في Azure. يمكنك استخدام قالب ARM لنشر مجموعة AKS التي تحتوي على الميزات التالية:

  • يحتوي نظام مجموعة AKS على تجمعات العقد التالية:

    • يستضيف تجمع عقدة النظام وحدات النظام والخدمات الهامة فقط. تحتوي العقد العاملة على تلوث عقدة يمنع جدولة جرابات التطبيق في تجمع العقدة هذا.
    • يستضيف تجمع عقدة المستخدم أحمال عمل المستخدم والبيانات الاصطناعية.
  • يتم نشر جهاز ظاهري في نفس الشبكة الظاهرية التي تستضيف نظام مجموعة AKS. عند توزيع AKS كنظام مجموعة خاصة، يمكن لمسؤولي النظام استخدام هذا الجهاز الظاهري لإدارة نظام المجموعة عبر أداة Kubernetes command-line. يتم تخزين سجلات تشخيص التمهيد للجهاز الظاهري في حساب Azure Storage.

  • يوفر مضيف Azure Bastion اتصال Secure Shell (SSH) آمن وسلس بالجهاز الظاهري ل jumpbox، مباشرة في مدخل Microsoft Azure عبر طبقة مآخذ التوصيل الآمنة (SSL). يستخدم هذا الحل Azure Container Registry لإنشاء وتخزين وإدارة صور الحاوية والبيانات الاصطناعية، مثل مخططات Helm.

  • تتضمن البنية بوابة تطبيق تستخدمها وحدة تحكم الدخول. يتم نشر بوابة التطبيق إلى شبكة فرعية مخصصة وعرضها على الإنترنت العام عبر عنوان IP عام تشاركه جميع أحمال عمل المستأجر. يساعد نهج WAF في حماية أحمال عمل المستأجر من الهجمات الضارة.

    يرتبط نهج WAF ببوابة التطبيق على مستوى الجذر وعلى مستوى وحدة استماع HTTP. يتم تكوين النهج في وضع الوقاية ويستخدم OWASP 3.1 لحظر عمليات الاختراق والهجمات التي تكتشفها القواعد. يتلقى المهاجم استثناء وصول غير مصرح به 403، ويتم إغلاق الاتصال. يسجل وضع الوقاية هذه الهجمات في سجلات WAF.

  • تستخدم أحمال العمل التي تعمل على AKS مخزن مفاتيح كمخزن سري لاسترداد المفاتيح والشهادات والأسرار عبر مكتبة عميل أو برنامج تشغيل CSI لمخزن الأسرار أو Dapr. يتيح Azure Private Link لأحمال عمل AKS الوصول إلى حلول النظام الأساسي Azure كخدمة (PaaS)، مثل Azure Key Vault، عبر نقطة نهاية خاصة في الشبكة الظاهرية.

  • تتضمن هذه البنية نقاط نهاية خاصة للمكونات التالية:

    • حساب Azure Blob Storage
    • Container Registry
    • Key Vault
    • خادم واجهة برمجة التطبيقات لمجموعة Kubernetes، إذا كنت تستخدم مجموعة AKS خاصة
  • تتضمن البنية أيضا مناطق DNS خاصة لحل اسم المجال المؤهل بالكامل (FQDN) لخدمة PaaS إلى عنوان IP الخاص لنقطة النهاية الخاصة المقترنة به. تتضمن هذه البنية مناطق DNS خاصة لحل نقاط النهاية الخاصة إلى المكونات التالية:

    • حساب Blob Storage
    • Container Registry
    • Key Vault
    • واجهة برمجة تطبيقات خادم Kubernetes، إذا قمت بنشر نظام المجموعة كخاصة
  • يوجد ارتباط شبكة ظاهرية بين الشبكة الظاهرية التي تستضيف نظام مجموعة AKS ومناطق DNS الخاصة السابقة. تجمع مساحة عمل Log Analytics سجلات التشخيص والمقاييس من المصادر التالية:

    • مجموعة AKS
    • جهاز jumpbox الظاهري
    • Application Gateway
    • Key Vault
    • مجموعات أمان شبكة Azure

المكونات

  • إن Container Registryعبارة عن خدمة تسجيل Docker خاصة مُدارة وتستند إلى Docker Registry 2.0 مفتوح المصدر. يمكنك استخدام سجلات حاويات Azure مع البنية الأساسية لبرنامج ربط العمليات التجارية الحالية لتطوير الحاويات ونشرها. أو استخدم مهام Container Registry لإنشاء صور الحاوية في Azure. يمكنك البناء بناء على الطلب أو أتمتة البنيات بالكامل باستخدام المشغلات، مثل تثبيت التعليمات البرمجية المصدر وتحديثات الصورة الأساسية.

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

  • يساعد Key Vault على تخزين البيانات السرية والتحكم فيها بشكل آمن، مثل مفاتيح واجهة برمجة التطبيقات وكلمات المرور والشهادات ومفاتيح التشفير. يمكنك استخدام Key Vault لتوفير وإدارة ونشر شهادات أمان طبقة النقل العامة والخاصة (TLS) أو SSL بسهولة، واستخدامها مع Azure والموارد الداخلية المتصلة.

  • بوابة التطبيق هي موازن تحميل حركة مرور الويب التي يمكنك استخدامها لإدارة نسبة استخدام الشبكة الواردة التي تنتقل إلى تطبيقات الويب المتلقية للمعلومات وواجهات برمجة تطبيقات REST. تعمل موازنات التحميل التقليدية في طبقة النقل، وهي الطبقة 4 من Open Systems Interconnection (OSI)، للتعامل مع نسبة استخدام الشبكة التي تستخدم بروتوكول التحكم في الإرسال (TCP) وبروتوكول مخطط بيانات المستخدم (UDP). يقومون بتوجيه نسبة استخدام الشبكة استنادا إلى عنوان IP المصدر والمنفذ إلى عنوان IP الوجهة والمنفذ. بوابة التطبيق هي موازن تحميل في طبقة التطبيق، وهي طبقة OSI 7.

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

  • إن Azure Bastion هو نظام أساسي مُدار بالكامل كخدمة (PaaS) توفره داخل شبكتك الظاهرية. يساعد Azure Bastion على توفير بروتوكول سطح المكتب البعيد الآمن والسلس (RDP) واتصال SSH بالأجهزة الظاهرية في شبكتك الظاهرية، مباشرة من مدخل Microsoft Azure عبر TLS.

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

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

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

  • الأقراص المُدارة من Azure هي وحدات تخزين على مستوى عنصر حظر المستوى يديرها Azure على أجهزة Azure الظاهرية. تتضمن أنواع الأقراص Azure Ultra Disk Storage وAzure Premium SSD وAzure Standard SSD وAzure Standard HDD.

  • Blob Storage هو حل تخزين كائن Microsoft للسحابة. تم تحسين تخزين Blob النقطة لتخزين كميات هائلة من البيانات غير المهيكلة. البيانات غير المنظمة هي بيانات لا تلتزم بنموذج بيانات أو تعريف معين، مثل البيانات النصية أو البيانات الثنائية.

  • يوفر Private Link نقطة نهاية خاصة في شبكتك الظاهرية بحيث يمكنك الوصول إلى خدمات Azure PaaS، مثل Blob Storage وKey Vault، والوصول إلى الخدمات التي يستضيفها Azure أو الخدمات المملوكة للعملاء أو خدمات الشركاء.

البدائل

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

تقوم هذه البنية بتثبيت AGIC عبر الوظيفة الإضافية AGIC ل AKS. يمكنك أيضا تثبيت AGIC عبر مخطط Helm. عند إنشاء إعداد جديد، يمكنك استخدام سطر واحد في Azure CLI لنشر بوابة تطبيق جديدة كتلة AKS جديدة. يتيح هذا الأسلوب AGIC كوظيفة إضافية. الوظيفة الإضافية هي خدمة مدارة بالكامل، والتي توفر مزايا إضافية، مثل التحديثات التلقائية والدعم المتزايد. كما أنها تعتبر وظيفة إضافية من الدرجة الأولى، والتي توفر تكاملا أفضل مع AKS. تدعم Microsoft كلا أسلوبي النشر ل AGIC.

يتم نشر الوظيفة الإضافية AGIC كجراب في نظام مجموعة AKS. ولكن هناك بعض الاختلافات بين إصدار نشر Helm وإصدار الوظيفة الإضافية من AGIC. تتضمن القائمة التالية الاختلافات بين الإصدارين:

  • لا يمكنك تعديل قيم نشر Helm على الوظيفة الإضافية AKS:

    • يتم تعيين الخاصية usePrivateIp إلى false بشكل افتراضي. لا يمكنك الكتابة فوق هذه القيمة عبر use-private-ip التعليق التوضيحي.
    • لا تدعم shared الوظيفة الإضافية خيار التكوين.
  • يدعم ProhibitedTargetsAGIC الذي تم نشره بواسطة Helm ، ما يعني أنه يمكن ل AGIC تكوين بوابة التطبيق خصيصا لمجموعات AKS دون التأثير على الأطراف الخلفية الأخرى الموجودة.

  • الوظيفة الإضافية AGIC هي خدمة مدارة، لذلك يتم تحديثها تلقائيا إلى أحدث إصدار. إذا قمت بنشر AGIC عبر Helm، يجب عليك تحديث AGIC يدويا.

  • يمكنك نشر وظيفة AGIC إضافية واحدة فقط لكل مجموعة AKS. يمكن لكل وظيفة إضافية AGIC استهداف مثيل Application Gateway واحد فقط. بالنسبة إلى عمليات النشر التي تتطلب أكثر من AGIC واحد لكل نظام مجموعة، أو عدة AGICs تستهدف مثيل Application Gateway واحدا، يمكنك استخدام AGIC الموزع من Helm.

يمكن لمثيل واحد من AGIC استيعاب الأحداث من مساحات أسماء Kubernetes متعددة. إذا كان مسؤول AKS يستخدم بوابة التطبيق كالدخول، فإن جميع مساحات الأسماء تستخدم نفس مثيل Application Gateway. يقوم تثبيت واحد من AGIC بمراقبة مساحات الأسماء التي يمكن الوصول إليها وتكوين بوابة التطبيق المقترنة بها. لمزيد من المعلومات، راجع تمكين دعم مساحة الاسم المتعددة في نظام مجموعة AKS باستخدام AGIC.

لتمكين دعم مساحة الاسم المتعددة، قم بالخطوات التالية:

  1. تعديل ملف helm-config.yaml بإحدى الطرق التالية:
  • watchNamespace احذف المفتاح بالكامل من ملف helm-config.yaml للسماح ل AGIC بمراقبة جميع مساحات الأسماء.
  • قم بتعيين watchNamespace إلى سلسلة فارغة للسماح ل AGIC بمراقبة كافة مساحات الأسماء.
  • أضف مساحات أسماء متعددة مفصولة بفاوصلة، مثل watchNamespace: default,secondNamespace، للسماح ل AGIC بمراقبة مساحات الأسماء هذه حصريا.
  1. تطبيق تغييرات قالب Helm باستخدام هذا البرنامج النصي: helm install -f helm-config.yaml application-gateway-kubernetes-ingress/ingress-azure.

بعد نشر AGIC مع القدرة على مراقبة مساحات أسماء متعددة، يقوم AGIC بالإجراءات التالية:

  1. يسرد موارد الدخول من جميع مساحات الأسماء التي يمكن الوصول إليها
  2. تصفية موارد الدخول التي تم التعليق عليها باستخدام kubernetes.io/ingress.class: azure/application-gateway
  3. إنشاء تكوين بوابة التطبيق المدمجة
  4. تطبيق التكوين على بوابة التطبيق المقترنة عبر Azure Resource Manager

تفاصيل السيناريو

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

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

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

رسم تخطيطي يوضح مثالا متعدد المستأجرين.

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

يمكن لمثيل واحد من AGIC استيعاب الأحداث من ومراقبة مساحات أسماء متعددة. إذا كان مسؤول AKS يستخدم Application Gateway كمدخل، فإن جميع مساحات الأسماء تستخدم نفس مثيل Application Gateway. يقوم تثبيت واحد من AGIC بمراقبة مساحات الأسماء التي يمكن الوصول إليها وتكوين بوابة التطبيق المقترنة بها.

حالات الاستخدام المحتملة

استخدم AGIC لعرض وحماية أحمال العمل المواجهة للإنترنت التي تعمل على نظام مجموعة AKS في بيئة متعددة المستأجرين.

الاعتبارات

تنفذ هذه الاعتبارات ركائز Azure Well-Architected Framework، وهو عبارة عن مجموعة من المبادئ التوجيهية التي يمكن استخدامها لتحسين جودة حمل العمل. لمزيد من المعلومات، يرجى مراجعةMicrosoft Azure Well-Architected Framework.

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

الموثوقيه

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

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

الحاويات

  • استخدم تحقيقات صحة Kubernetes للتحقق من أن حاوياتك حية وصحية:

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

    • يشير readinessProbe إلى ما إذا كانت الحاوية جاهزة للاستجابة للطلبات. إذا فشل فحص الجاهزية، تقوم وحدة تحكم نقطة النهاية بإزالة عنوان IP الخاص بالجراب من نقاط النهاية لجميع الخدمات التي تطابق الجراب. الحالة الافتراضية للجهوزية قبل التأخير الأولي هي الفشل.

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

  • يمكن أن يؤثر منافسة على الاتصال على توفر الخدمة. حدد قيود موارد الحاوية بحيث لا يمكن لأي حاوية واحدة أن تطغى على ذاكرة نظام المجموعة وموارد المعالج. يمكنك استخدام تشخيصات AKS لتحديد أي مشكلات في نظام المجموعة.

  • استخدم حد الموارد لتقييد إجمالي الموارد المخصصة للحاوية بحيث لا يمكن لحاوية واحدة حرمان الآخرين.

Container Registry

  • تخزين صور الحاوية في Container Registry. استخدم النسخ المتماثل الجغرافي لسجل الحاوية لنسخ السجل جغرافيا إلى كل منطقة AKS. النسخ المتماثل الجغرافي هو ميزة من ميزات Premium SKU Container Registry.

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

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

  • امسح صور الحاوية ضوئيا بحثا عن الثغرات الأمنية كجزء من البنية الأساسية لبرنامج ربط العمليات التجارية للتكامل المستمر والتسليم المستمر (CI/CD) قبل نشر الصور إلى Container Registry. أثناء استخدام الصور الأساسية لصور التطبيق، استخدم التشغيل التلقائي لإنشاء صور جديدة عند تحديث الصورة الأساسية. تتضمن الصور الأساسية عادة إصلاحات الأمان، لذلك يجب تحديث أي صور حاوية تطبيق انتقال البيانات من الخادم. نوصي بدمج Azure Defender for Containers في مهام سير عمل CI/CD. لمزيد من المعلومات، راجع أتمتة إنشاءات صورة الحاوية.

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

المرونة داخل المنطقة

  • ضع في اعتبارك نشر تجمعات العقدة لمجموعة AKS الخاصة بك عبر جميع مناطق التوفر داخل المنطقة. استخدم Azure Standard Load Balancer أو Application Gateway أمام تجمعات العقد. يوفر هذا المخطط مرونة أفضل في حالة حدوث انقطاع واحد لمركز البيانات. يوزع هذا الأسلوب عقد نظام المجموعة عبر مراكز بيانات متعددة موجودة في ثلاث مناطق توفر منفصلة داخل منطقة.

  • قم بتمكين التكرار في المنطقة في Container Registry للمرونة داخل المنطقة وقابلية الوصول العالية.

  • استخدم قيود انتشار مخطط الجراب للتحكم في كيفية نشر الجرابات عبر مجموعة AKS بين مجالات الفشل، مثل المناطق ومناطق التوفر والعقد.

  • ضع في اعتبارك استخدام اتفاقية مستوى خدمة وقت التشغيل (SLA) لمجموعات AKS التي تستضيف أحمال العمل الحرجة للمهام. تعد اتفاقية مستوى الخدمة في وقت التشغيل ميزة اختيارية لتمكين اتفاقية مستوى الخدمة المدعومة ماليا وأعلى لمجموعة. تضمن اتفاقية مستوى الخدمة لوقت التشغيل توفرا بنسبة 99.95٪ لنقطة نهاية خادم Kubernetes API للمجموعات التي تستخدم مناطق التوفر. وهو يضمن توفرا بنسبة 99.90٪ للمجموعات التي لا تستخدم مناطق التوفر. تستخدم AKS النسخ المتماثلة لعقدة وحدة التحكم عبر مجالات التحديث والخطأ للمساعدة في تلبية متطلبات اتفاقية مستوى الخدمة.

الإصلاح بعد كارثة واستمرارية الأعمال

  • ضع في اعتبارك توزيع الحل الخاص بك إلى منطقتين من مناطق Azure المقترنة على الأقل داخل منطقة جغرافية. يجب عليك أيضا اعتماد موازن تحميل عمومي، مثل Azure Traffic Manager أو Azure Front Door. ادمج موازن التحميل مع طريقة توجيه نشطة/نشطة أو نشطة/سلبية للمساعدة في ضمان استمرارية الأعمال والتعافي من الكوارث.

  • قم ببرمجة أي عمليات تجاوز فشل إقليمية وتوثيقها واختبارها بشكل دوري في بيئة ضمان الجودة. تساعد عمليات تجاوز الفشل على تجنب المشكلات غير المتوقعة إذا كان الانقطاع في المنطقة الأساسية يؤثر على الخدمة الأساسية.

  • استخدم اختبارات معالجة تجاوز الفشل للتحقق مما إذا كان نهج التعافي من الكوارث يلبي هدف نقطة الاسترداد (RPO) وأهداف هدف وقت الاسترداد (RTO). قم بتضمين العمليات والتدخلات اليدوية في التحقق الخاص بك.

  • اختبر إجراءات إعادة الفشل للتأكد من أنها تعمل كما هو متوقع.

  • قم بتخزين صور الحاوية في Container Registry. قم بعمل نسخ جغرافي للسجل إلى كل منطقة AKS. لمزيد من المعلومات، راجع النسخ المتماثل الجغرافي في سجل الحاوية.

  • تجنب تخزين حالة الخدمة داخل حاوية، حيثما أمكن ذلك. بدلاً من ذلك، استخدم Azure PaaS الذي يدعم النسخ المتماثل متعدد المناطق.

  • قم بإعداد واختبار كيفية ترحيل التخزين من المنطقة الأساسية إلى منطقة النسخ الاحتياطي إذا كنت تستخدم Azure Storage.

  • ضع في اعتبارك استخدام GitOps لنشر تكوين نظام المجموعة. يوفر GitOps التوحيد بين مجموعات التعافي من الكوارث الأساسية ويوفر أيضا طريقة سريعة لإعادة إنشاء مجموعة جديدة إذا فقدت واحدة.

  • ضع في اعتبارك النسخ الاحتياطي واستعادة تكوين نظام المجموعة باستخدام أدوات، مثل النسخ الاحتياطي ل AKS أو Velero.

شبكة الخدمة

  • ضع في اعتبارك استخدام شبكة خدمة مفتوحة المصدر، مثل Istio أو Linkerd أو Consul، في نظام مجموعة AKS. تستخدم شبكة الخدمة TLS المتبادلة للمساعدة في تحسين إمكانية الملاحظة والموثوقية والأمان لخدماتك المصغرة. يمكنك أيضا تنفيذ استراتيجيات تقسيم نسبة استخدام الشبكة، مثل عمليات النشر الزرقاء/الخضراء وتوزيع الكناري. شبكة الخدمة هي طبقة بنية أساسية مخصصة تساعد على جعل الاتصال من خدمة إلى خدمة أكثر أمانا وسرعة وموثوقية. لمزيد من المعلومات، راجع الوظيفة الإضافية Istio service mesh AKS.

  • فكر في اعتماد Dapr لبناء تطبيقات مرنة تستند إلى الخدمات المصغرة، سواء كانت عديمة الحالة وحالة. يمكنك استخدام أي لغة برمجة وإطار عمل مطور.

الأمان

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

لا تتعلق اعتبارات الأمان بشكل كامل بالتعددية في AKS، ولكنها متطلبات أساسية لهذا الحل.

متعدد المستأجرين

  • تصميم مجموعات AKS للتعددية. يوفر Kubernetes الميزات التي يمكنك استخدامها لعزل الفرق وأحمال العمل منطقيا في نفس المجموعة. توفير أقل عدد من الامتيازات للموارد التي يحتاجها كل فريق. تنشئ مساحة الاسم في Kubernetes حد عزل منطقي.

  • استخدم العزل المنطقي لفصل الفرق والمشاريع. تقليل عدد مجموعات AKS الفعلية التي تقوم بنشرها لعزل الفرق أو التطبيقات. الفصل المنطقي لأنظمة المجموعات عادةً ما يوفر كثافة للحاوية أعلى من أنظمة المجموعات المعزولة فعلياً.

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

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

أمن الشبكة

  • إنشاء نقطة نهاية خاصة لأي خدمة PaaS تستخدمها أحمال عمل AKS، مثل Key Vault أو ناقل خدمة Azure أو قاعدة بيانات Azure SQL. تساعد نقطة النهاية الخاصة على ضمان عدم تعرض نسبة استخدام الشبكة بين التطبيقات وهذه الخدمات للإنترنت العام. لمزيد من المعلومات، راجع ما هو الارتباط الخاص.

  • تكوين مورد دخول Kubernetes لعرض أحمال العمل عبر HTTPS. استخدم مجالا فرعيا منفصلا وشهادة رقمية لكل مستأجر. يقوم AGIC تلقائيا بتكوين وحدة استماع بوابة التطبيق لإنهاء SSL.

  • تكوين بوابة التطبيق لاستخدام نهج WAF للمساعدة في حماية أحمال العمل العامة التي تعمل على AKS من الهجمات الضارة.

  • استخدم شبكات Azure CNI في AKS للتكامل مع الشبكات الظاهرية الموجودة أو الشبكات المحلية. يسمح نموذج الشبكة هذا أيضًا بفصل الموارد وعناصر التحكم في بيئة المؤسسة بشكل أكبر.

  • استخدم نهج الشبكة لفصل الاتصالات داخل الخدمة وتأمينها عن طريق التحكم في المكونات التي يمكنها الاتصال ببعضها البعض. بشكل افتراضي، يمكن لجميع الكبسولات في نظام مجموعة Kubernetes إرسال واستقبال نسبة استخدام الشبكة دون قيود. لتحسين الأمان، يمكنك استخدام نهج شبكة Azure أو نهج شبكة Calico لتحديد القواعد التي تتحكم في تدفق نسبة استخدام الشبكة بين الخدمات المصغرة المختلفة. لمزيد من المعلومات، راجع نهج الشبكة.

  • لا تعرض الاتصال عن بُعد إلى عقد AKS. إنشاء مضيف bastion أو jumpbox في شبكة ظاهرية للإدارة. استخدم المضيف المحمي لتوجيه نسبة استخدام الشبكة بأمان إلى مجموعة AKS الخاصة بك ونقلها إلى مهام الإدارة عن بُعد.

  • ضع في اعتبارك استخدام نطاقات عناوين IP المعتمدة في AKS لإنشاء مجموعة AKS خاصة في بيئة الإنتاج الخاصة بك. إذا لم تتمكن من استخدام مجموعة AKS خاصة، على الأقل الوصول الآمن إلى خادم API.

  • اجمع بين Azure DDoS Protection وأفضل ممارسات تصميم التطبيق لتوفير ميزات تخفيف DDoS المحسنة والدفاع الإضافي ضد هجمات DDoS. تمكين حماية DDoS على الشبكات الظاهرية المحيطة.

المصادقة والتخويل

  • توزيع مجموعات AKS مع تكامل Microsoft Entra. لمزيد من المعلومات، راجع تكامل Microsoft Entra المدار بواسطة AKS. يقوم Microsoft Entra ID بمركزية مكون إدارة الهوية.

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

  • استخدم Azure RBAC لتحديد الحد الأدنى المطلوب من الأذونات التي يمتلكها المستخدم أو المجموعة لموارد AKS في اشتراك واحد أو أكثر. لمزيد من المعلومات، راجع استخدام Azure RBAC لتخويل Kubernetes.

  • استخدم هوية حمل عمل Microsoft Entra لتعيين هوية مدارة للخدمات المصغرة الفردية للوصول إلى موارد Azure. يمكن للخدمة المصغرة بعد ذلك الوصول إلى الموارد المدارة، مثل Key Vault وSQL Database وService Bus وAzure Cosmos DB. لا تحتاج الخدمة المصغرة إلى تخزين واسترداد سلسلة الاتصال أو بيانات الاعتماد من أسرار Kubernetes.

  • استخدم برنامج تشغيل Secrets Store CSI ل Key Vault للوصول إلى الأسرار، مثل بيانات الاعتماد وسلسلة الاتصالات، من Key Vault بدلا من أسرار Kubernetes.

  • اجمع بين كتلة إنشاء مخزن Dapr السري مع مخزن Key Vault والهويات المدارة على Kubernetes لاسترداد الأسرار، مثل بيانات الاعتماد سلسلة الاتصال، من Key Vault.

حمل العمل والكتلة

  • الوصول الآمن إلى خادم Kubernetes API للمساعدة في تأمين نظام المجموعة. دمج Kubernetes RBAC مع معرف Microsoft Entra للتحكم في الوصول إلى خادم API. استخدم عناصر التحكم هذه للمساعدة في تأمين AKS بنفس الطريقة التي تستخدمها للوصول إلى اشتراك Azure.

  • تقييد الوصول إلى الإجراءات التي يمكن للحاويات القيام بها. استخدم ميزة Pod Security Admission لتمكين التخويل الدقيق لإنشاء الجراب والتحديثات. وفّر أقل عدد من الأذونات، وتجنب استخدام الجذر، أو زيادة الامتيازات. لمزيد من المعلومات، راجع الوصول الآمن إلى الموارد.

  • تجنب تشغيل الحاويات كمستخدم جذر كلما أمكن ذلك.

  • استخدم وحدة أمان AppArmor Linux kernel للحد من الإجراءات التي يمكن للحاويات القيام بها.

  • قم بترقية مجموعات AKS إلى أحدث إصدار من Kubernetes بانتظام للاستفادة من الميزات الجديدة وإصلاحات الأخطاء.

  • استخدم daemonset kured لمشاهدة عمليات إعادة التشغيل المعلقة والطوق واستنزاف العقد وتطبيق التحديثات. تقوم AKS تلقائيًا بتنزيل وتثبيت إصلاحات الأمان على كل عقدة Linux، ولكنها لا تعيد تشغيل العقدة تلقائيا إذا لزم الأمر. بالنسبة لعقد Windows Server، قم بتشغيل ترقية AKS لصورة العقدة بانتظام لتطويق وتفريغ pods بأمان وتوزيع أي عقد محدثة.

  • ضع في اعتبارك استخدام بروتوكولات النقل الآمن HTTPS وgRPC لجميع الاتصالات داخل الجراب. واستخدم آلية مصادقة أكثر تقدما لا تتطلب منك إرسال بيانات الاعتماد العادية على كل طلب، مثل Open Authorization (OAuth) أو JSON Web Tokens (JWTs). إنشاء اتصال أكثر أمانا داخل الخدمة باستخدام شبكة خدمة، مثل Istio أو Linkerd أو Consul. أو يمكنك استخدام Dapr.

Container Registry

افحص صور الحاوية بحثا عن الثغرات الأمنية، وانشر الصور التي تجتاز التحقق من الصحة فقط. تحديث النسخ الأساسية ووقت تشغيل التطبيق بانتظام. ثم إعادة توزيع أحمال العمل في نظام مجموعة AKS. يجب أن يتضمن سير عمل توزيع CI/CD عملية لفحص صور الحاوية. يمكنك استخدام أمان Microsoft Defender for DevOps لفحص التعليمات البرمجية بحثا عن الثغرات الأمنية في البنية الأساسية لبرنامج ربط العمليات التجارية التلقائية أثناء مراحل الإنشاء والتوزيع. بدلا من ذلك، يمكنك استخدام أدوات مثل Prisma Cloud أو Aqua لمسح الصور التي تم التحقق منها فقط والسماح بنشرها.

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

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

تعتمد تكلفة هذه البنية على جوانب التكوين، مثل المكونات التالية:

  • مستويات الخدمة
  • قابلية التوسع، أو عدد المثيلات التي تخصصها الخدمات ديناميكيا لدعم طلب معين
  • نصوص الأتمتة
  • مستوى الإصلاح بعد كارثة

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

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

يغطي التميز التشغيلي العمليات التي تنشر تطبيقا وتبقيه قيد التشغيل في الإنتاج. لمزيد من المعلومات، راجع قائمة اختيار مراجعة التصميم للتميز التشغيلي.

التخزين

  • ضع في اعتبارك نشر نظام مجموعة AKS الخاص بك مع أقراص نظام التشغيل المؤقتة التي توفر زمن انتقال أقل للقراءة والكتابة، جنبا إلى جنب مع توسيع نطاق العقدة وترقيات نظام المجموعة بشكل أسرع.

  • فهم احتياجات التطبيق الخاص بك لاختيار التخزين الصحيح. استخدم تخزينا عالي الأداء مدعوما ب SSD لأحمال عمل الإنتاج. التخطيط لنظام تخزين قائم على الشبكة، مثل Azure Files، عندما تحتاج عدة جرابات إلى الوصول إلى نفس الملفات بشكل متزامن. لمزيد من المعلومات، راجع خيارات التخزين للتطبيقات في AKS.

  • خطط لطلبات التطبيق الخاص بك بحيث تقوم بنشر الحجم المناسب للعقد. يدعم كل حجم عقدة الحد الأقصى لعدد الأقراص. توفر أحجام العقد المختلفة أيضًا كميات مختلفة من التخزين المحلي وعرض النطاق الترددي للشبكة.

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

DevOps

  • استخدم نظام DevOps، مثل GitHub Actions أو Azure DevOps، لنشر أحمال العمل الخاصة بك إلى AKS عبر مخطط Helm في مسار CI/CD. لمزيد من المعلومات، راجع إنشاء AKS ونشره.

  • قدم اختبار A/B وتوزيع الكناري في إدارة دورة حياة التطبيق لاختبار تطبيق بشكل صحيح قبل تقديمه لجميع المستخدمين. يوجد العديد من الأساليب التي يمكنك استخدامها لتقسيم نسبة استخدام الشبكة عبر إصدارات مختلفة من نفس الخدمة.

  • كبديل، يمكنك استخدام قدرات إدارة نسبة استخدام الشبكة التي توفرها شبكة الخدمة. لمزيد من المعلومات، راجع إدارة حركة مرور Istio.

  • استخدم Container Registry أو مخزن تسجيل آخر، مثل Docker Hub، لكتالوج صور Docker الخاصة التي تقوم بنشرها في نظام المجموعة وتقديمها. يمكن ل AKS استخدام هوية Microsoft Entra الخاصة به للمصادقة مع Container Registry.

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

مراقبة‬

  • ضع في اعتبارك خيارات المراقبة المتكاملة في Azure لمراقبة الحالة الصحية لمجموعة AKS وأحمال العمل.

  • قم بتكوين جميع خدمات PaaS، مثل Container Registry وKey Vault، لجمع سجلات التشخيص والمقاييس وإرسالها إلى Log Analytics.

كفاءة الأداء

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

لا تتعلق اعتبارات الأداء بشكل كامل بالتعددية في AKS، ولكنها متطلبات أساسية لهذا الحل:

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

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

  • استخدم التحجيم التلقائي ل Kubernetes لتوسيع نطاق عدد العقد العاملة بشكل ديناميكي في مجموعة AKS عند زيادة نسبة استخدام الشبكة. باستخدام التحجيم التلقائي للجراب الأفقي والتحجيم التلقائي لنظام المجموعة، يتم ضبط وحدات تخزين العقدة والجراب ديناميكيا في الوقت الفعلي لمطابقة حالة حركة المرور ولتجنب أوقات التعطل التي تسببها مشاكل السعة. لمزيد من المعلومات، راجع استخدام مقياس المجموعة التلقائي في AKS.

Scheduler

  • مراجعة وتنفيذ أفضل الممارسات لمشغلي نظام المجموعة ومطوري التطبيقات لإنشاء التطبيقات وتشغيلها بنجاح على AKS.

  • تخطيط الحصص النسبية للموارد وتطبيقها على مستوى مساحة الاسم لكافة مساحات الأسماء. إذا لم تحدد الحدود المقبولة لتعطل وحدات البود (PDB) طلبات الموارد وحدودها، فارفض النشر. مراقبة استخدام الموارد، وضبط الحصص النسبية حسب الحاجة. عندما يشارك العديد من الفرق أو المستأجرين مجموعة AKS التي تحتوي على عدد ثابت من العقد، يمكنك استخدام حصص الموارد لتعيين حصة عادلة من الموارد لكل فريق أو مستأجر.

  • اعتماد نطاقات الحد لتقييد تخصيصات الموارد إلى الحجيرات أو الحاويات في مساحة الاسم، من حيث وحدة المعالجة المركزية والذاكرة.

  • حدد طلبات الموارد وحدودها بشكل صريح لاستخدام وحدة المعالجة المركزية والذاكرة لوحدات الجراب الخاصة بك في بيانات YAML أو مخططات Helm التي تستخدمها لنشر التطبيقات. عند تحديد طلب المورد للحاويات في جراب، يستخدم مجدول Kubernetes هذه المعلومات لتحديد العقدة التي يجب وضع الجراب عليها. عند تحديد حد مورد لحاوية، مثل وحدة المعالجة المركزية أو الذاكرة، يفرض kubelet هذه الحدود بحيث لا يمكن للحاوية قيد التشغيل استخدام أكثر من هذا المورد من الحد الذي قمت بتعيينه.

  • الحفاظ على توفر التطبيقات عن طريق تحديد ميزانيات تعطيل الجراب للتأكد من توفر الحد الأدنى من وحدات الجراب في نظام المجموعة.

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

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

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

نشر هذا السيناريو

شفرة المصدر لهذا السيناريو متاحة على GitHub. يوضح الرسم التخطيطي التالي تطبيقا تجريبيا يمكنك العثور عليه في مستودع AGIC GitHub متعدد المستأجرين في AKS.

رسم تخطيطي يوضح نشر AGIC هذا مع بنية AKS.

قم بتنزيل ملف Visio لهذه البنية.

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

بالنسبة إلى عمليات النشر عبر الإنترنت، يجب أن يكون لديك حساب Azure موجود. إذا لم يكن لديك حساب، فأنشئ حساب Azure مجاني قبل أن تبدأ.

نشر في Azure

  1. تأكد من أن لديك معلومات اشتراك Azure لديك في متناول يدك.

  2. استنساخ مستودع workbench GitHub:

    git clone https://github.com/Azure-Samples/aks-agic.git
    
  3. اتبع الإرشادات الواردة في ملف README.md.

المساهمون

تحتفظ Microsoft بهذه المقالة. وهي مكتوبة في الأصل من قبل المساهمين التاليين.

الكاتب الرئيسي:

لمشاهدة ملفات تعريف LinkedIn غير العامة، سجل الدخول إلى LinkedIn.

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