ترحيل إلى خدمة Azure Kubernetes (AKS)

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

في هذه المقالة، نلخص تفاصيل الترحيل من أجل:

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

إشعار

اعتمادا على السيناريو الخاص بك، قد تساعد الأدوات مفتوحة المصدر التالية في الترحيل الخاص بك:

قبل البدء

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

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

استخدام ترحيل Azure في ترحيل التطبيقات إلى AKS

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

AKS مع موازن تحميل قياسي ومجموعات مقياس الجهاز الظاهري

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

نوصي باستخدام مجموعات AKS المدعومة من مجموعات مقياس الجهاز الظاهري وموازن التحميل القياسي Azure لضمان حصولك على الميزات التالية:

تفتقر مجموعات AKS المدعومة بمجموعات توفر الجهاز الظاهري إلى الدعم للعديد من هذه الميزات.

إنشاء نظام مجموعة AKS مع موازن التحميل القياسي ومجموعات مقياس الجهاز الظاهري

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

  1. إنشاء مجموعة موارد باستخدام az group create الأمر .

    az group create --name myResourceGroup --location eastus
    
  2. إنشاء نظام مجموعة AKS باستخدام az aks create الأمر .

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --node-count 1 \
        --vm-set-type VirtualMachineScaleSets \
        --load-balancer-sku standard \
        --enable-cluster-autoscaler \
        --min-count 1 \
        --max-count 3 \
        --generate-ssh-keys
    

خدمات Azure المُرفقة حاليًا

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

  • Azure Container Registry
  • Log Analytics
  • Application Insights
  • Traffic Manager
  • حساب التخزين
  • قواعد بيانات خارجية

ضمان الحصص النسبية الصالحة

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

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

لمزيد من المعلومات، راجع حدود الاشتراك والخدمة في Azure. للتحقق من الحصص النسبية الحالية، في مدخل Microsoft Azure، انتقل إلى شفرة الاشتراكات، وحدد اشتراكك، ثم حدد الاستخدام + الحصص النسبية.

قابلية وصول عالية واستمرارية الأعمال

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

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

لإكمال الترحيل، تريد توجيه العملاء إلى الخدمات الجديدة التي تعمل على AKS. نوصي بإعادة توجيه حركة المرور عن طريق تحديث DNS للإشارة إلى موازن التحميل الموجود أمام نظام مجموعة AKS.

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

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

AKS with Traffic Manager

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

اعتبارات طلبات عديمة الحالة

يتضمن ترحيل التطبيقات عديمة الحالة الخطوات التالية:

  1. تطبيق تعريفات الموارد الخاصة بك (YAML أو Helm) إلى نظام المجموعة الجديد.
  2. تأكد من أن كل شيء يعمل على النحو المُتوقع.
  3. إعادة توجيه نسبة استخدام الشبكة لتنشيط نظام المجموعة الجديد.

اعتبارات طلبات الحالة

خطط بعناية لترحيل تطبيقات الحالة لتجنب فقدان البيانات أو التوقف غير المُتوقع.

ملفات Azure

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

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

إذا لم يكن الأمر كما هو، فإن نهج الترحيل المحتمل يتضمن الخطوات التالية:

  1. التحقق من عمل التطبيق بشكل صحيح.
  2. وجّه نسبة استخدام الشبكة المباشرة إلى نظام مجموعة AKS الجديدة.
  3. قطع اتصال نظام المجموعة القديمة.

إذا كنت تريد البدء بمشاركة فارغة وإنشاء نسخة من البيانات المصدر، يمكنك استخدام az storage file copy الأمر لترحيل بياناتك.

ترحيل وحدات التخزين الثابتة

إذا كنت تقوم بترحيل وحدات التخزين الثابتة الموجودة إلى AKS، فاتبع الخطوات التالية بشكل عام:

  1. يكتب Quiesce إلى التطبيق.
    • هذه الخطوة اختيارية وتتطلب وقت تعطل.
  2. أخذ لقطات للأقراص.
  3. إنشاء أقراص مُدارة جديدة من اللقطات.
  4. إنشاء وحدات التخزين الثابتة (PVs)
  5. تحديث مواصفات وحدات الجراب لاستخدام وحدات التخزين الموجودة بدلًا من PersistentVolumeClaims (توفير ثابت).
  6. وزع تطبيقك على AKS
  7. التحقق من عمل التطبيق بشكل صحيح.
  8. وجّه نسبة استخدام الشبكة المباشرة إلى نظام مجموعة AKS الجديدة.

هام

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

يمكن أن تساعدك الأدوات مفتوحة المصدر التالية في إنشاء أقراص مدارة وترحيل وحدات التخزين بين مجموعات Kubernetes:

  • ملحق Azure CLI Disk Copy يعمل على نسخ وتحويل الأقراص عبر مجموعات الموارد ومناطق Azure.
  • ملحق Azure Kube CLI يعدد وحدات التخزين ACS Kubernetes وترحيلها إلى نظام مجموعة AKS.

توزيع تكوين نظام المجموعة الخاص بك

نوصي باستخدام البنية الأساسية لبرنامج ربط العمليات التجارية الحالية للتكامل المستمر (CI) والتسليم المستمر (CD) لتوزيع تكوين جيد معروف إلى AKS. يمكنك استخدام البنية الأساسية لبرنامج ربط العمليات التجارية Azure لإنشاء التطبيقات وتوزيعها على AKS. انسخ مهام النشر الحالية وتأكد من kubeconfig النقاط إلى نظام مجموعة AKS الجديد.

إذا لم يكن ذلك ممكنًا، فقم بتصدير تعريفات الموارد من مجموعة Kubernetes الموجودة لديك ثم قم بتطبيقها على AKS. يمكنك استخدام kubectl لتصدير العناصر. على سبيل المثال:

kubectl get deployment -o yaml > deployments.yaml

تأكد من فحص الإخراج وإزالة أي حقول بيانات مباشرة غير ضرورية.

نقل الموارد الحالية إلى منطقة أخرى.

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

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

في هذه المقالة، لخصنا تفاصيل الترحيل الخاص بـ:

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