النسخ الاحتياطي لخدمة Azure Kubernetes باستخدام Azure Backup
توضح هذه المقالة كيفية تكوين خدمة Azure Kubernetes (AKS) ونسخها احتياطيا.
يمكنك استخدام Azure Backup لنسخ مجموعات AKS احتياطيا (موارد نظام المجموعة ووحدات التخزين الثابتة المرفقة بالمجموعة) باستخدام ملحق النسخ الاحتياطي، والذي يجب تثبيته في نظام المجموعة. يتصل مخزن النسخ الاحتياطي مع نظام المجموعة عبر ملحق النسخ الاحتياطي لإجراء عمليات النسخ الاحتياطي والاستعادة.
المتطلبات الأساسية
أشياء يجب التأكد منها قبل تكوين النسخ الاحتياطي لمجموعة AKS:
- حاليا، يدعم AKS Backup وحدات التخزين الثابتة المستندة إلى تخزين قرص Azure فقط التي تم تمكينها بواسطة برنامج تشغيل CSI. يتم تخزين النسخ الاحتياطية في مخزن بيانات تشغيلي فقط (يتم تخزين بيانات النسخ الاحتياطي في المستأجر الخاص بك ولا يتم نقلها إلى مخزن). يجب أن يكون مخزن النسخ الاحتياطي والمجموعة AKS في نفس المنطقة.
- يستخدم AKS Backup حاوية كائن ثنائي كبير الحجم ومجموعة موارد لتخزين النسخ الاحتياطية. تحتوي حاوية كائن ثنائي كبير الحجم على موارد نظام مجموعة AKS. يتم تخزين لقطات وحدة التخزين الثابتة في مجموعة الموارد. يجب أن تكون مجموعة AKS ومواقع التخزين في نفس المنطقة. تعرف على كيفية إنشاء حاوية كائن ثنائي كبير الحجم.
- حاليا، يدعم AKS Backup النسخ الاحتياطية مرة واحدة في اليوم. كما أنه يدعم النسخ الاحتياطية الأكثر تكرارا (في فواصل زمنية مدتها 4 ساعات و8 ساعات و12 ساعة) يوميا. يتيح لك هذا الحل الاحتفاظ ببياناتك لاستعادتها لمدة تصل إلى 360 يوماً. تعرف على كيفية إنشاء نهج النسخ الاحتياطي.
- تحتاج إلى تثبيت ملحق النسخ الاحتياطي لتكوين عمليات النسخ الاحتياطي والاستعادة لمجموعة AKS. تعرف على المزيد حول ملحق النسخ الاحتياطي.
- تأكد من أن لديك
Microsoft.KubernetesConfiguration
،Microsoft.DataProtection
، ومسجلةMicrosoft.ContainerService
لاشتراكك قبل بدء تكوين النسخ الاحتياطي وعمليات الاستعادة. - تأكد من إكمال جميع المتطلبات الأساسية قبل بدء عملية النسخ الاحتياطي أو الاستعادة للنسخ الاحتياطي ل AKS.
لمزيد من المعلومات حول السيناريوهات والقيود والتوافر المدعومة، راجع مصفوفة الدعم.
إنشاء مخزن للنسخ الاحتياطي
مخزن النسخ الاحتياطي هو كيان إدارة يخزن نقاط الاسترداد التي تمت معالجتها بمرور الوقت. يوفر مخزن النسخ الاحتياطي أيضا واجهة للقيام بعمليات النسخ الاحتياطي. تتضمن العمليات أخذ النسخ الاحتياطية عند الطلب، والقيام بعمليات الاستعادة، وإنشاء نهج النسخ الاحتياطي. يتطلب النسخ الاحتياطي ل AKS أن يكون مخزن النسخ الاحتياطي والمجموعة AKS في نفس المنطقة. تعرف على كيفية إنشاء مخزن النسخ الاحتياطي.
إشعار
مخزن النسخ الاحتياطي هو مورد جديد يستخدم لنسخ مصادر البيانات المدعومة حديثا احتياطيا. يختلف مخزن النسخ الاحتياطي عن مخزن خدمات الاسترداد.
إذا كنت ترغب في استخدام Azure Backup لحماية مجموعات AKS الخاصة بك من أي انقطاع إقليمي، يمكنك تمكين استعادة عبر المنطقة. لتمكين الاستعادة عبر المناطق، تحتاج إلى:
قم بتعيين معلمة التكرار لتخزين النسخ الاحتياطي على أنها Geo-Redundant أثناء إنشاء المخزن. بمجرد تعيين التكرار للمخزن، لا يمكنك تعطيله.
قم بتعيين المعلمة Cross Region Restore ضمن Vault Properties ك Enabled. بمجرد تمكين هذه المعلمة، لا يمكنك تعطيلها.
إنشاء مثيل النسخ الاحتياطي باستخدام نهج النسخ الاحتياطي مع تعيين مدة الاستبقاء لمخزن البيانات القياسي للمخزن. ستكون كل نقطة استرداد مخزنة في مخزن البيانات هذا في المنطقة الثانوية.
إنشاء سياسة النسخ احتياطي
قبل تكوين النسخ الاحتياطية، تحتاج إلى إنشاء نهج النسخ الاحتياطي الذي يحدد تكرار النسخ الاحتياطية ومدة الاحتفاظ بالنسخ الاحتياطية.
لإنشاء سياسة نسخة احتياطية.
انتقل إلى مخزن النسخ الاحتياطي الذي قمت بإنشائه، وحدد إدارة>نهج>النسخ الاحتياطي إضافة.
أدخل اسما لنهج النسخ الاحتياطي.
بالنسبة إلى Datasource type، حدد Kubernetes Services.
في علامة التبويب Schedule + retention ، حدد جدول النسخ الاحتياطي.
- تكرار النسخ الاحتياطي: حدد تكرار النسخ الاحتياطي (كل ساعة أو يوميا)، ثم اختر مدة الاستبقاء للنسخ الاحتياطية.
- إعداد الاستبقاء: يحتوي نهج النسخ الاحتياطي الجديد على القاعدة الافتراضية المعرفة بشكل افتراضي. يمكنك تحرير هذه القاعدة ولا يمكنك حذفها. تحدد القاعدة الافتراضية مدة الاستبقاء لجميع النسخ الاحتياطية للطبقة التشغيلية التي تم أخذها. يمكنك أيضا إنشاء قواعد استبقاء إضافية لتخزين النسخ الاحتياطية لمدة أطول يتم أخذها يوميا أو أسبوعيا.
يمكنك أيضا إنشاء قواعد استبقاء إضافية لتخزين النسخ الاحتياطية لمدة أطول يتم أخذها يوميا أو أسبوعيا.
إشعار
- بالإضافة إلى النسخ الاحتياطي الناجح الأول من اليوم، يمكنك تحديد قواعد الاستبقاء للنسخ الاحتياطي الناجح الأول من الأسبوع والشهر والسنة. من حيث الأولوية، الطلب هو السنة والشهر والأسبوع واليوم.
- يمكنك نسخ النسخ الاحتياطية في المنطقة الثانوية (منطقة Azure المقترنة) المخزنة في Vault Tier، والتي يمكنك استخدامها لاستعادة مجموعات AKS إلى منطقة ثانوية عندما تكون المنطقة الأساسية غير متوفرة. لاختيار هذه الميزة، استخدم مخزنا متكررا جغرافيا مع تمكين الاستعادة عبر المناطق.
عند تكوين إعدادات تكرار النسخ الاحتياطي والاحتفاظ، حدد التالي.
في علامة التبويب مراجعة + إنشاء ، راجع المعلومات، ثم حدد إنشاء.
تثبيت ملحق النسخ الاحتياطي وتكوين النسخ الاحتياطي
يمكنك استخدام AKS Backup لنسخ نسخة احتياطية من مجموعة كاملة أو موارد نظام مجموعة معينة يتم نشرها في نظام المجموعة. يمكنك أيضا حماية نظام مجموعة عدة مرات وفقا لجدول التطبيق المنشور ومتطلبات الاستبقاء أو متطلبات الأمان.
إشعار
لإعداد مثيلات نسخ احتياطي متعددة لنفس نظام مجموعة AKS:
- تكوين النسخ الاحتياطي في نفس مخزن النسخ الاحتياطي ولكن باستخدام نهج نسخ احتياطي مختلف.
- تكوين النسخ الاحتياطي في مخزن نسخ احتياطي مختلف.
تثبيت ملحق النسخ الاحتياطي
لتكوين النسخ الاحتياطية لمجموعة AKS:
في مدخل Microsoft Azure، انتقل إلى مجموعة AKS التي تريد نسخها احتياطيا.
من قائمة الخدمة، ضمن Settings، حدد Backup.
لإعداد نظام مجموعة AKS للنسخ الاحتياطي أو الاستعادة، حدد تثبيت الملحق لتثبيت ملحق النسخ الاحتياطي في نظام المجموعة.
توفير حساب تخزين وحاوية كائن ثنائي كبير الحجم كمدخل.
يتم تخزين النسخ الاحتياطية لنظام مجموعة AKS في حاوية الكائن الثنائي كبير الحجم هذه. يجب أن يكون حساب التخزين في نفس المنطقة والاشتراك مثل نظام المجموعة.
حدد التالي. راجع تفاصيل تثبيت الملحق، ثم حدد إنشاء.
يبدأ تثبيت الملحق.
تكوين النسخ الاحتياطي
عند تثبيت ملحق النسخ الاحتياطي بنجاح، حدد تكوين النسخ الاحتياطي.
حدد مخزن النسخ الاحتياطي الذي أنشأته سابقا. يجب أن يكون لدى مخزن النسخ الاحتياطي وصول موثوق به ممكن لمجموعة AKS ليتم نسخها احتياطيا. لتمكين الوصول الموثوق به، حدد منح الإذن. إذا تم تمكينه بالفعل، فحدد التالي.
في علامة التبويب نهج النسخ الاحتياطي، حدد نهج النسخ الاحتياطي، الذي يحدد الجدول الزمني للنسخ الاحتياطية وفترة الاحتفاظ بها، ثم حدد التالي.
في علامة التبويب Datasources ، حدد Add/Edit لتعريف تكوين مثيل النسخ الاحتياطي.
في جزء تحديد الموارد للنسخ الاحتياطي ، حدد موارد نظام المجموعة التي تريد نسخها احتياطيا.
تعرف على المزيد حول تكوينات النسخ الاحتياطي.
بالنسبة لمجموعة موارد اللقطة، حدد مجموعة الموارد لاستخدامها لتخزين لقطات وحدة التخزين الثابتة (Azure Disk Storage)، ثم حدد Validate.
عند الانتهاء من التحقق من الصحة، إذا لم يتم تعيين الأدوار المطلوبة إلى المخزن في مجموعة موارد اللقطة، يظهر خطأ:
لحل الخطأ، ضمن Datasource name، حدد خانة الاختيار لمورد البيانات، ثم حدد Assign missing roles.
عند اكتمال تعيين الدور، حدد Next>Configure backup.
تكوينات النسخ الاحتياطي
يسمح لك Azure Backup ل AKS بتحديد حد التطبيق داخل نظام مجموعة AKS الذي تريد نسخه احتياطيا. يمكنك استخدام عوامل التصفية المتوفرة ضمن تكوينات النسخ الاحتياطي لاختيار الموارد المراد نسخها احتياطيا وأيضا لتشغيل خطافات مخصصة. تتم الإشارة إلى تكوين النسخ الاحتياطي المحدد بقيمة اسم مثيل النسخ الاحتياطي. تتوفر عوامل التصفية أدناه لتعريف حد التطبيق الخاص بك:
حدد Select Namespaces to backup. يمكنك إما تحديد الكل لإجراء نسخ احتياطي لكافة مساحات الأسماء الحالية والمستقبلية في نظام المجموعة، أو يمكنك تحديد مساحات أسماء معينة للنسخ الاحتياطي.
يتم تخطي مساحات الأسماء التالية من تكوينات النسخ الاحتياطي:
kube-system
وkube-node-lease
و.kube-public
قم بتوسيع إعدادات الموارد الإضافية لمشاهدة عوامل التصفية التي يمكنك استخدامها لاختيار موارد نظام المجموعة للنسخ الاحتياطي. يمكنك اختيار نسخ الموارد احتياطيا استنادا إلى الفئات التالية:
- التسميات: يمكنك تصفية موارد AKS باستخدام التسميات التي تقوم بتعيينها إلى أنواع الموارد. أدخل التسميات في شكل أزواج المفاتيح/القيم. يمكنك الجمع بين تسميات متعددة باستخدام
AND
المنطق. على سبيل المثال، إذا قمت بإدخال التسمياتenv=prod;tier!=web
، فإن العملية تحدد الموارد التي تحتوي على تسمية بالمفتاحenv
والقيمةprod
، وتسمية بالمفتاحtier
الذي لا تكونweb
القيمة له . - مجموعات واجهة برمجة التطبيقات: يمكنك أيضا تضمين الموارد من خلال توفير مجموعة واجهة برمجة تطبيقات AKS ونوعها. على سبيل المثال، يمكنك اختيار موارد AKS الاحتياطية مثل عمليات النشر. يمكنك الوصول إلى قائمة مجموعات واجهة برمجة التطبيقات المعرفة من Kubernetes هنا.
- خيارات أخرى: يمكنك تمكين النسخ الاحتياطي أو تعطيله للموارد ذات نطاق المجموعة ووحدات التخزين الثابتة والأسرار. يتم تمكين الموارد ذات نطاق نظام المجموعة ووحدات التخزين الثابتة بشكل افتراضي.
- التسميات: يمكنك تصفية موارد AKS باستخدام التسميات التي تقوم بتعيينها إلى أنواع الموارد. أدخل التسميات في شكل أزواج المفاتيح/القيم. يمكنك الجمع بين تسميات متعددة باستخدام
إشعار
يجب إضافة التسميات إلى كل ملف YAML واحد يتم نشره ونسخه احتياطيا. يتضمن ذلك الموارد ذات نطاق مساحة الاسم مثل مطالبات وحدة التخزين الثابتة والموارد ذات نطاق المجموعة مثل وحدات التخزين الثابتة.
استخدام الخطافات أثناء النسخ الاحتياطي ل AKS
يصف هذا القسم كيفية استخدام خطاف النسخ الاحتياطي لإنشاء لقطة متناسقة مع التطبيق من نظام مجموعة AKS مع نشر MySQL (وحدة تخزين ثابتة تحتوي على مثيل MySQL).
يمكنك استخدام خطافات مخصصة في النسخ الاحتياطي AKS لإنجاز لقطات متسقة مع التطبيق من وحدات التخزين. يتم استخدام وحدات التخزين لقواعد البيانات التي يتم نشرها كأحمال عمل حاوية.
باستخدام خطاف النسخ الاحتياطي، يمكنك تحديد الأوامر لتجميد وإلغاء تجميد جراب MySQL بحيث يمكن أخذ لقطة تطبيق وحدة التخزين. ثم ينسق ملحق النسخ الاحتياطي خطوات تشغيل الأوامر في الخطافات ويأخذ لقطة وحدة التخزين.
يتم أخذ لقطة متناسقة مع التطبيق من وحدة تخزين مع نشر MySQL عن طريق القيام بالإجراءات التالية:
- يتم تجميد الجراب الذي يقوم بتشغيل MySQL بحيث لا يتم تنفيذ أي معاملة جديدة على قاعدة البيانات.
- يتم أخذ لقطة من وحدة التخزين كنسخة احتياطية.
- يتم إلغاء تجميد الجراب الذي يقوم بتشغيل MySQL بحيث يمكن إجراء المعاملات مرة أخرى على قاعدة البيانات.
لتمكين ربط النسخ الاحتياطي كجزء من تدفق تكوين النسخ الاحتياطي لنسخ MySQL احتياطيا:
اكتب المورد المخصص لربط النسخ الاحتياطي مع أوامر لتجميد وإلغاء تجميد جراب PostgreSQL.
يمكنك أيضا استخدام نموذج البرنامج النصي YAML التالي postgresbackuphook.yaml، الذي يحتوي على أوامر معرفة مسبقا:
apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1 kind: BackupHook metadata: # BackupHook CR Name and Namespace name: bkphookname0 namespace: default spec: # BackupHook Name. This is the name of the hook that will be executed during backup. # compulsory name: hook1 # Namespaces where this hook will be executed. includedNamespaces: - hrweb excludedNamespaces: labelSelector: # PreHooks is a list of BackupResourceHooks to execute prior to backing up an item. preHooks: - exec: command: - /sbin/fsfreeze - --freeze - /var/lib/postgresql/data container: webcontainer onError: Continue # PostHooks is a list of BackupResourceHooks to execute after backing up an item. postHooks: - exec: container: webcontainer command: - /sbin/fsfreeze - --unfreeze onError: Fail timeout: 10s
قبل تكوين نسخة احتياطية، يجب نشر المورد المخصص لربط النسخ الاحتياطي في نظام مجموعة AKS.
لنشر البرنامج النصي، قم بتشغيل الأمر التالي:
kubectl apply -f mysqlbackuphook.yaml
عند الانتهاء من النشر، يمكنك تكوين النسخ الاحتياطية لنظام مجموعة AKS.
إشعار
كجزء من تكوين النسخ الاحتياطي، يجب توفير اسم المورد المخصص ومساحة الاسم التي يتم نشر المورد فيها كمدخل.