إنشاء تجربة فوضى تستخدم خطأ Chaos Mesh لقتل جرابات AKS باستخدام مدخل Microsoft Azure
يمكنك استخدام تجربة الفوضى للتحقق من أن التطبيق الخاص بك مرن في مواجهة حالات الفشل عن طريق التسبب في هذه الإخفاقات في بيئة خاضعة للرقابة. في هذه المقالة، تتسبب في فشل جراب خدمة Azure Kubernetes (AKS) الدوري على مساحة اسم باستخدام تجربة الفوضى وAzure Chaos Studio. يمكن أن يساعدك تشغيل هذه التجربة في الدفاع ضد عدم توفر الخدمة عند حدوث حالات فشل متقطعة.
يستخدم Chaos Studio Chaos Mesh، وهو نظام أساسي مجاني مفتوح المصدر لهندسة الفوضى ل Kubernetes، لإدخال الأخطاء في مجموعة AKS. أخطاء Chaos Mesh هي أخطاء مباشرة للخدمة تتطلب تثبيت Chaos Mesh على مجموعة AKS. يمكنك استخدام هذه الخطوات نفسها لإعداد تجربة وتشغيلها لأي خطأ AKS Chaos Mesh.
المتطلبات الأساسية
- اشتراك Azure. إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.
- نظام مجموعة AKS مع تجمع عقدة Linux. إذا لم يكن لديك نظام مجموعة AKS، فشاهد التشغيل السريع ل AKS الذي يستخدم Azure CLI أو Azure PowerShell أو مدخل Microsoft Azure.
القيود
- يمكنك استخدام أخطاء Chaos Mesh مع المجموعات الخاصة عن طريق تكوين حقن VNet في Chaos Studio. تحتاج أي أوامر صادرة إلى نظام المجموعة الخاص، بما في ذلك الخطوات الواردة في هذه المقالة لإعداد Chaos Mesh، إلى اتباع إرشادات نظام المجموعة الخاصة. تتضمن الأساليب الموصى بها الاتصال من جهاز ظاهري في نفس الشبكة الظاهرية أو استخدام ميزة استدعاء أمر AKS.
- يتم دعم أخطاء AKS Chaos Mesh فقط على تجمعات عقد Linux.
- إذا تم تكوين نظام مجموعة AKS الخاص بك للسماح فقط لنطاقات IP المعتمدة، فأنت بحاجة إلى السماح لنطاقات IP الخاصة ب Chaos Studio. يمكنك العثور عليها عن طريق الاستعلام عن
ChaosStudio
علامة الخدمة باستخدام واجهة برمجة تطبيقات اكتشاف علامة الخدمة أو ملفات JSON القابلة للتنزيل.
إعداد Chaos Mesh على مجموعة AKS الخاصة بك
قبل أن تتمكن من تشغيل أخطاء Chaos Mesh في Chaos Studio، يجب تثبيت Chaos Mesh على مجموعة AKS الخاصة بك.
قم بتشغيل الأوامر التالية في نافذة Azure Cloud Shell حيث تم تعيين الاشتراك النشط ليكون الاشتراك حيث يتم نشر نظام مجموعة AKS الخاص بك. استبدل
MyManagedCluster
وMyResourceGroup
باسم المجموعة ومجموعة الموارد.az aks get-credentials --admin --name MyManagedCluster --resource-group MyResourceGroup
helm repo add chaos-mesh https://charts.chaos-mesh.org helm repo update kubectl create ns chaos-testing helm install chaos-mesh chaos-mesh/chaos-mesh --namespace=chaos-testing --set chaosDaemon.runtime=containerd --set chaosDaemon.socketPath=/run/containerd/containerd.sock
تحقق من تثبيت جرابات Chaos Mesh عن طريق تشغيل الأمر التالي:
kubectl get po -n chaos-testing
يجب أن تشاهد إخراجا مشابها للمثال التالي (مدير وحدة تحكم الفوضى وواحد أو أكثر من برامج الفوضى الخفية):
NAME READY STATUS RESTARTS AGE chaos-controller-manager-69fd5c46c8-xlqpc 1/1 Running 0 2d5h chaos-daemon-jb8xh 1/1 Running 0 2d5h chaos-dashboard-98c4c5f97-tx5ds 1/1 Running 0 2d5h
يمكنك أيضا استخدام إرشادات التثبيت على موقع Chaos Mesh على الويب.
تمكين Chaos Studio على نظام مجموعة AKS
لا يمكن ل Chaos Studio إدخال أخطاء ضد مورد ما لم تتم إضافة هذا المورد إلى Chaos Studio أولا. يمكنك إضافة مورد إلى Chaos Studio عن طريق إنشاء هدف وقدرات على المورد. تحتوي مجموعات AKS على نوع هدف واحد فقط (مباشر للخدمة)، ولكن قد يكون للموارد الأخرى ما يصل إلى نوعين مستهدفين. نوع هدف واحد هو للأخطاء المباشرة للخدمة. نوع هدف آخر هو للأخطاء المستندة إلى العامل. يتم تمثيل كل نوع من أخطاء Chaos Mesh كقدرة مثل PodChaos وNetworkChaos وIoChaos.
افتح مدخل Azure.
ابحث عن Chaos Studio في شريط البحث.
حدد Targets وانتقل إلى نظام مجموعة AKS.
حدد خانة الاختيار بجوار نظام مجموعة AKS. حدد Enable targets ثم حدد Enable service-direct targets من القائمة المنسدلة.
تأكد من إدراج المورد المطلوب. حدد Review + Enable، ثم Enable.
يظهر إعلام يشير إلى تمكين الموارد التي حددتها بنجاح.
لقد أضفت الآن مجموعة AKS بنجاح إلى Chaos Studio. في طريقة العرض Targets، يمكنك أيضا إدارة الإمكانات الممكنة على هذا المورد. حدد الارتباط Manage actions بجوار مورد لعرض الإمكانات الممكنة لهذا المورد.
إنشاء تجربة
الآن يمكنك إنشاء تجربتك. تحدد تجربة الفوضى الإجراءات التي تريد اتخاذها ضد الموارد المستهدفة. يتم تنظيم الإجراءات وتشغيلها في خطوات متتالية. تحدد تجربة الفوضى أيضا الإجراءات التي تريد اتخاذها ضد الفروع، والتي تعمل بالتوازي.
حدد علامة التبويب التجارب في Chaos Studio. في هذا العرض، يمكنك رؤية وإدارة جميع تجارب الفوضى الخاصة بك. حدد إنشاء>تجربة جديدة.
املأ الاشتراك ومجموعة الموارد والموقع حيث تريد نشر تجربة الفوضى. أعط تجربتك اسما. حدد Next: Experiment designer.
أنت الآن في مصمم تجربة Chaos Studio. يسمح لك مصمم التجربة بإنشاء تجربتك عن طريق إضافة الخطوات والفروع والأخطاء. أدخل اسما مألوفا للخطوة والفرع وحدد إضافة إجراء > إضافة خطأ.
حدد AKS Chaos Mesh Pod Chaos من القائمة المنسدلة. املأ المدة بعدد الدقائق التي تريد أن يستمر الفشل فيها وjsonSpec بالمعلومات التالية:
لصياغة شبكة الفوضى
jsonSpec
الخاصة بك :راجع وثائق Chaos Mesh لنوع خطأ، على سبيل المثال، نوع PodChaos.
صياغة تكوين YAML لنوع الخطأ هذا باستخدام وثائق Chaos Mesh.
apiVersion: chaos-mesh.org/v1alpha1 kind: PodChaos metadata: name: pod-failure-example namespace: chaos-testing spec: action: pod-failure mode: all duration: '600s' selector: namespaces: - default
إزالة أي YAML خارج (بما في
spec
ذلك اسم خاصية المواصفات) وإزالة المسافة البادئة من تفاصيل المواصفات. المعلمةduration
ليست ضرورية، ولكن يتم استخدامها إذا تم توفيرها. في هذه الحالة، قم بإزالته.action: pod-failure mode: all selector: namespaces: - default
استخدم محول YAML-to-JSON مثل هذا لتحويل Chaos Mesh YAML إلى JSON وتقليله.
{"action":"pod-failure","mode":"all","selector":{"namespaces":["default"]}}
الصق JSON المصغر في حقل jsonSpec في المدخل.
حدد Next: Target resources.
حدد مجموعة AKS الخاصة بك وحدد التالي.
تحقق من أن تجربتك تبدو صحيحة وحدد Review + create>Create.
منح إذن التجربة إلى نظام مجموعة AKS
عند إنشاء تجربة فوضى، ينشئ Chaos Studio هوية مدارة معينة من قبل النظام تنفذ أخطاء ضد الموارد المستهدفة. يجب منح هذه الهوية الأذونات المناسبة للمورد الهدف لتشغيل التجربة بنجاح.
انتقل إلى نظام مجموعة AKS وحدد Access control (IAM).
حدد إضافة>Add role assignmen.
ابحث عن دور مسؤول نظام مجموعة خدمة Azure Kubernetes وحدد الدور. حدد التالي.
اختر تحديد الأعضاء وابحث عن اسم التجربة. حدد تجربتك واختر تحديد. إذا كانت هناك تجارب متعددة في نفس المستأجر بنفس الاسم، يتم اقتطاع اسم التجربة الخاص بك مع إضافة أحرف عشوائية.
حدد Review + assign>Review + assign.
تشغيل تجربتك
أنت الآن جاهز لتشغيل تجربتك. لمشاهدة التأثير، نوصي بفتح نظرة عامة على نظام مجموعة AKS والانتقال إلى نتائج التحليلات في علامة تبويب مستعرض منفصلة. تظهر البيانات المباشرة ل Active Pod Count تأثير تشغيل تجربتك.
في طريقة عرض التجارب ، حدد تجربتك. حدد بدء>موافق.
عندما تتغير الحالة إلى قيد التشغيل، حدد تفاصيل لأحدث تشغيل ضمن المحفوظات للاطلاع على تفاصيل التجربة قيد التشغيل.
الخطوات التالية
الآن بعد أن قمت بتشغيل تجربة خدمة AKS Chaos Mesh المباشرة، فأنت على استعداد ل: