ترحيل إلى خدمة Azure Kubernetes (AKS)
لمساعدتك في تخطيط وتنفيذ عملية ترحيل ناجحة إلى خدمة Azure Kubernetes (AKS)، يقدم هذا الدليل تفاصيل لتكوين AKS الحالي الموصى به. في حين أن هذه المقالة لا تغطي كل سيناريو، إلا أنها تضم ارتباطات لمعلومات أكثر تفصيلاً للتخطيط من أجل ترحيل ناجح.
في هذه المقالة، نلخص تفاصيل الترحيل من أجل:
- وضع التطبيقات في حاويات من خلال Azure
- AKS مع Azure Load Balancer (قياسي) ومجموعات مقياس الجهاز الظاهري
- خدمات Azure المرفقة الحالية
- ضمان الحصص النسبية الصالحة
- قابلية وصول عالية واستمرارية الأعمال
- اعتبارات طلبات عديمة الحالة
- اعتبارات طلبات الحالة
- توزيع تكوين نظام المجموعة الخاص بك
إشعار
اعتمادا على السيناريو الخاص بك، قد تساعد الأدوات مفتوحة المصدر التالية في الترحيل الخاص بك:
- Velero (يتطلب وجود Kubernetes 1.7+)
- ملحق Azure Kube CLI
قبل البدء
- تأكد من أن إصدار Kubernetes الهدف الخاص بك داخل النافذة المدعومة ل AKS. قد لا تكون الإصدارات القديمة ضمن النطاق المدعوم وتتطلب ترقية إصدار لدعم AKS. لمزيد من المعلومات، راجع إصدارات Kubernetes المدعومة من AKS.
- إذا كنت تقوم بالترحيل إلى إصدار أحدث من Kubernetes، فراجع إصدار Kubernetes ونهج دعم انحراف الإصدار.
من الممارسات المهمة التي يجب تضمينها كجزء من عملية الترحيل الخاصة بك تذكر اتباع أنماط النشر والاختبار شائعة الاستخدام. يعد اختبار التطبيق قبل النشر خطوة مهمة لضمان جودته ووظائفه وتوافقه مع البيئة المستهدفة. يمكن أن يساعدك في تحديد وإصلاح أي أخطاء أو أخطاء أو مشكلات قد تؤثر على أداء التطبيق أو البنية الأساسية أو أمانه أو إمكانية استخدامه.
استخدام ترحيل Azure في ترحيل التطبيقات إلى AKS
يعرض ترحيل Azure نظام أساسي موحد لتقييم الخوادم المحلية والبنية الأساسية والتطبيقات والبيانات الخاصة بـ Azure وترحيلهما. بالنسبة إلى AKS، يمكنك استخدام ترحيل Azure للمهام التالية:
- تعبئة التطبيقات ASP.NET في حاويات وترحيلها إلى AKS.
- تعبئة تطبيقات Java على الويب في حاويات والترحيل إلى AKS.
AKS باستخدام موازن تحميل قياسي ومجموعات تغيير حجم الأجهزة الظاهرية
AKS عبارة عن خدمة مُدارة تقدم قدرات فريدة مع نفقات إدارية أقل. نظرا لأن AKS هي خدمة مدارة، يجب عليك الاختيار من مجموعة من المناطق المدعومة من AKS. قد تحتاج إلى تعديل التطبيقات الموجودة لديك للحفاظ على الحالة الجيدة على مستوى التحكم المُدارة AKS أثناء الانتقال من نظام المجموعة الموجودة إلى AKS.
نوصي باستخدام مجموعات AKS المدعومة بمجموعات مقياس الجهاز الظاهري وموازن التحميل (قياسي) لضمان حصولك على الميزات التالية:
- تجمعات العُقدة المتعددة،
- مناطق التوفر،
- نطاقات IP المعتمدة
- أداة التحجيم التلقائي لنظام المجموعة،
- سياسة Azure بشأن AKS، و
- الميزات الجديدة الأخرى عند إصدارها.
تفتقر مجموعات AKS المدعومة بمجموعات توفر الجهاز الظاهري (VM) إلى دعم العديد من هذه الميزات.
إنشاء نظام مجموعة AKS مع Load Balancer (قياسي) ومجموعات مقياس الجهاز الظاهري
ينشئ المثال التالي مجموعة AKS مع تجمع عقدة واحدة مدعومة بمجموعة مقياس الجهاز الظاهري. يتيح مقياس المجموعة التلقائي على تجمع العقدة للمجموعة ويعين عقدة واحدة كحد أدنى وثلاث عقد كحد أقصى.
إنشاء مجموعة موارد باستخدام
az group create
الأمر .az group create --name myResourceGroup --location eastus
إنشاء نظام مجموعة 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
- Azure Log Analytics
- Azure Application Insights
- مدير حركة بيانات Azure
- حساب Azure Storage
- قواعد البيانات الخارجية
ضمان الحصص النسبية الصالحة
نظرا لأنه يتم نشر أجهزة ظاهرية أخرى في اشتراكك أثناء الترحيل، يجب عليك التحقق من أن الحصص النسبية والحدود كافية لهذه الموارد. إذا لزم الأمر، اطلب زيادة حصة 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 لموازن تحميل الخدمة. استخدم هذا التكوين لتوجيه نسبة استخدام الشبكة من نقطة نهاية إدارة المرور في منطقة واحدة إلى نقطة النهاية في منطقة مختلفة.
Azure Front Door هو خيار آخر لتوجيه نسبة استخدام الشبكة لمجموعات AKS. باستخدام Azure Front Door، يمكنك تحديد التوجيه العمومي لنسبة استخدام الشبكة على الويب وإدارته ومراقبته من خلال تحسين أفضل أداء وتجاوز فشل عالمي فوري للحصول على قابلية وصول عالية.
اعتبارات طلبات عديمة الحالة
يتضمن ترحيل التطبيقات عديمة الحالة الخطوات التالية:
- تطبيق تعريفات الموارد الخاصة بك (YAML أو Helm) إلى نظام المجموعة الجديد.
- تأكد من أن كل شيء يعمل على النحو المُتوقع.
- إعادة توجيه نسبة استخدام الشبكة لتنشيط نظام المجموعة الجديد.
اعتبارات طلبات الحالة
خطط بعناية لترحيل تطبيقات الحالة لتجنب فقدان البيانات أو التوقف غير المُتوقع.
- إذا كنت تستخدم ملفات Azure، يمكنك تحميل مشاركة الملف كوحدة تخزين في نظام المجموعة الجديد. راجع تحميل ملفات Azure ثابتة كوحدة تخزين.
- إذا كنت تستخدم Azure Managed Disks، يمكنك تحميل القرص فقط في حال عدم ربطه بأي جهاز ظاهري. راجع تحميل قرص Azure ثابتة كوحدة تخزين.
- إذا لم تعمل أي من تلك الطرق، يمكنك استخدام خيارات النسخ الاحتياطي والاستعادة. انظر Velero على Azure.
ملفات Azure
على عكس الأقراص، يمكن تحميل ملفات Azure إلى عدة مضيفين في آنٍ واحد. في مجموعة AKS الخاصة بك، لا تمنعك Azure وKubernetes من إنشاء جراب لا تزال تستخدم نظام مجموعة AKS الخاص بك. لمنع فقدان البيانات والسلوك غير المتوقع، تأكد من أن المجموعات لا تكتب في نفس الوقت إلى نفس الملفات.
إذا كان بإمكان التطبيق الخاص بك استضافة نسخ مماثلة متعددة تشير إلى مشاركة الملف نفسه اتبع خطوات الترحيل عديمة الحالة وتوزيع تعريفات YAML إلى نظام مجموعة جديد.
إذا لم يكن الأمر كما هو، فإن نهج الترحيل المحتمل يتضمن الخطوات التالية:
- التحقق من عمل التطبيق بشكل صحيح.
- وجّه نسبة استخدام الشبكة المباشرة إلى نظام مجموعة AKS الجديدة.
- قطع اتصال نظام المجموعة القديمة.
إذا كنت تريد البدء بمشاركة فارغة وإنشاء نسخة من البيانات المصدر، يمكنك استخدام az storage file copy
الأمر لترحيل بياناتك.
ترحيل وحدات التخزين الثابتة
إذا كنت تقوم بترحيل وحدات التخزين الثابتة الموجودة إلى AKS، فاتبع الخطوات التالية بشكل عام:
- يكتب Quiesce إلى التطبيق.
- هذه الخطوة اختيارية وتتطلب وقت تعطل.
- أخذ لقطات للأقراص.
- إنشاء أقراص مُدارة جديدة من اللقطات.
- إنشاء وحدات التخزين الثابتة (PVs)
- تحديث مواصفات وحدات الجراب لاستخدام وحدات التخزين الموجودة بدلًا من PersistentVolumeClaims (توفير ثابت).
- وزع تطبيقك على AKS
- التحقق من عمل التطبيق بشكل صحيح.
- وجّه نسبة استخدام الشبكة المباشرة إلى نظام مجموعة AKS الجديدة.
هام
إذا اخترت عدم إلغاء الكتابة، فستحتاج إلى نسخ البيانات نسخا متماثلا إلى النشر الجديد. وإلا، ستفوت البيانات التي تمت كتابتها بعد أخذ لقطات القرص.
يمكن أن تساعدك الأدوات مفتوحة المصدر التالية في إنشاء أقراص مدارة وترحيل وحدات التخزين بين مجموعات Kubernetes:
- ملحق Azure CLI Disk Copy يعمل على نسخ وتحويل الأقراص عبر مجموعات الموارد ومناطق Azure.
- ملحق Azure Kube CLI يعدد وحدات التخزين ACS Kubernetes وترحيلها إلى نظام مجموعة AKS.
توزيع تكوين نظام المجموعة الخاص بك
نوصي باستخدام التكامل المستمر الحالي وتدفق التسليم المستمر لتوزيع تكوين معروف جيد إلى AKS. يمكنك استخدام البنية الأساسية لبرنامج ربط العمليات التجارية Azure لإنشاء التطبيقات وتوزيعها على AKS. انسخ مهام النشر الحالية وتأكد من kubeconfig
النقاط إلى نظام مجموعة AKS الجديد.
إذا لم يكن ذلك ممكنا، فصدر تعريفات الموارد من مجموعة Kubernetes الموجودة لديك، ثم قم بتطبيقها على AKS. يمكنك استخدام kubectl
لتصدير العناصر. على سبيل المثال:
kubectl get deployment -o yaml > deployments.yaml
تأكد من فحص الإخراج وإزالة أي حقول بيانات مباشرة غير ضرورية.
نقل الموارد الحالية إلى منطقة أخرى.
قد ترغب في نقل نظام مجموعة AKS إلى منطقة مختلفة تدعمها AKS. نوصي بإنشاء مجموعة جديدة في المنطقة الأخرى ثم توزيع الموارد والتطبيقات الخاصة بك إلى نظام المجموعة الجديد.
إذا كان لديك أي خدمات تعمل على نظام مجموعة AKS الخاص بك، فأنت بحاجة إلى تثبيت هذه الخدمات وتكوينها على نظام المجموعة في المنطقة الجديدة.
في هذه المقالة، لخصنا تفاصيل الترحيل الخاص بـ:
- وضع التطبيقات في حاويات من خلال Azure
- AKS مع موازن التحميل (قياسي) ومجموعات مقياس الجهاز الظاهري
- خدمات Azure المرفقة الحالية
- ضمان الحصص النسبية الصالحة
- قابلية وصول عالية واستمرارية الأعمال
- اعتبارات طلبات عديمة الحالة
- اعتبارات طلبات الحالة
- نشر تكوين نظام المجموعة
Azure Kubernetes Service