نظرة عامة على حل التوفر العالي النشط النشط الموصى به لخدمة Azure Kubernetes (AKS)

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

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

إشعار

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

نظرة عامة على حل التوفر العالي النشط-النشط

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

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

إشعار

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

السيناريوهات والتكوينات

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

المكونات

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

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

شبكة محورية لكل منطقة: يتم نشر زوج شبكة محوري إقليمي لكل مثيل AKS إقليمي. تدير نهج Azure Firewall Manager نهج جدار الحماية عبر جميع المناطق.

مخزن المفاتيح الإقليمي: يمكنك توفير Azure Key Vault في كل منطقة لتخزين القيم والمفاتيح الحساسة الخاصة بمثيل AKS ودعم الخدمات الموجودة في تلك المنطقة.

Azure Front Door: يوازن تحميل Azure Front Door ويوجه حركة المرور إلى مثيل Azure Application Gateway الإقليمي، والذي يقع أمام كل مجموعة AKS. يسمح Azure Front Door للتوجيه العمومي للطبقة السابعة .

Log Analytics: تخزن مثيلات Log Analytics الإقليمية مقاييس الشبكات الإقليمية وسجلات التشخيص. يخزن المثيل المشترك المقاييس وسجلات التشخيص لجميع مثيلات AKS.

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

عملية تجاوز الفشل

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

Application Pods (إقليمي)

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

لمزيد من المعلومات، راجع Kubernetes ReplicaSet.

Application Pods (Global)

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

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

تجمعات عقدة Kubernetes (إقليمية)

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

تجمعات عقدة Kubernetes (عمومية)

في فشل إقليمي كامل، يوجه Azure Front Door نسبة استخدام الشبكة إلى المناطق السليمة المتبقية. مرة أخرى، تأكد من تعويض زيادة نسبة استخدام الشبكة والطلبات إلى المجموعة المتبقية.

استراتيجية اختبار تجاوز الفشل

على الرغم من عدم وجود آليات متاحة حاليا داخل AKS لتجاوز منطقة نشر بأكملها لأغراض الاختبار، فإن Azure Chaos Studio يوفر القدرة على إنشاء تجربة فوضى على مجموعتك.

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

إذا كنت تفكر في حل مختلف، فشاهد المقالات التالية: