مشاركة عبر


البرنامج التعليمي: استخدام التكوين الديناميكي في خدمة Azure Kubernetes

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

تلميح

راجع خيارات أحمال العمل المستضافة في Kubernetes للوصول إلى تكوين تطبيق Azure.

المتطلبات الأساسية

إنهاء التشغيل السريع: استخدم تكوين تطبيق Azure في خدمة Azure Kubernetes.

إعادة تحميل البيانات من App Configuration

  1. افتح ملف appConfigurationProvider.yaml الموجود في دليل النشر . ثم أضف القسم ضمن refresh الخاصية configuration . وهو يمكن موفر Kubernetes من إعادة تحميل التكوين بأكمله كلما اكتشف تغييرا في أي من قيم المفاتيح المحددة (تلك التي تبدأ بالإعدادات: وليس لها تسمية). لمزيد من المعلومات حول مراقبة تغييرات التكوين، راجع أفضل الممارسات لتحديث التكوين.

    apiVersion: azconfig.io/v1
    kind: AzureAppConfigurationProvider
    metadata:
      name: appconfigurationprovider-sample
    spec:
      endpoint: <your-app-configuration-store-endpoint>
      target:
        configMapName: configmap-created-by-appconfig-provider
        configMapData: 
          type: json
          key: mysettings.json
      auth:
        workloadIdentity:
          managedIdentityClientId: <your-managed-identity-client-id>
      configuration:
        refresh:
          enabled: true
    

    تلميح

    يمكنك تعيين interval خاصية refresh لتحديد الحد الأدنى من الوقت بين تحديثات التكوين. في هذا المثال، يمكنك استخدام القيمة الافتراضية 30 ثانية. اضبط على قيمة أعلى إذا كنت بحاجة إلى تقليل عدد الطلبات المقدمة إلى متجر App Configuration.

  2. افتح ملف deployment.yaml في دليل Deployment وأضف المحتوى التالي إلى spec.containers القسم . يقوم تطبيقك بتحميل التكوين من ملف مثبت على وحدة تخزين ينشئه موفر تكوين التطبيق Kubernetes. من خلال تعيين متغير البيئة هذا، يمكن للتطبيق الخاص بك استخدام الاستقصاء لمراقبة التغييرات في الملفات المثبتة.

    env:
    - name: DOTNET_USE_POLLING_FILE_WATCHER
      value: "true"
    
  3. قم بتشغيل الأمر التالي لنشر التغيير. استبدل مساحة الاسم إذا كنت تستخدم تطبيق AKS الحالي.

    kubectl apply -f ./Deployment -n appconfig-demo
    
  4. افتح نافذة مستعرض، وانتقل إلى عنوان IP الذي تم الحصول عليه في الخطوة السابقة. تبدو صفحة الويب كما يلي:

    لقطة شاشة لتطبيق الويب مع القيم القديمة.

  5. قم بتحديث قيم المفاتيح التالية في متجر App Configuration.

    مفتاح القيمة‬
    الإعدادات:رسالة مرحبا من تكوين تطبيق Azure - الآن مع التحديثات المباشرة!
  6. بعد تحديث المستعرض عدة مرات، سترى المحتوى المحدث بمجرد تحديث ConfigMap في 30 ثانية.

    لقطة شاشة لتطبيق الويب مع القيم المحدثة.

إعادة تحميل ConfigMap وSecret

ينشئ موفر تكوين التطبيق Kubernetes ConfigMaps أو الأسرار التي يمكن استخدامها كمتغيرات بيئة أو ملفات مثبتة على وحدة التخزين. أظهر هذا البرنامج التعليمي كيفية تحميل التكوين من ملف JSON باستخدام موفر تكوين .NET JSON، والذي يعيد تحميل التكوين تلقائيا كلما تم الكشف عن تغيير في الملف المثبت. ونتيجة لذلك، يحصل تطبيقك على التكوين المحدث تلقائيا كلما حدث موفر تكوين التطبيق Kubernetes ConfigMap.

إذا كان التطبيق الخاص بك يعتمد على متغيرات البيئة للتكوين، فقد يتطلب إعادة تشغيل لالتقاط أي قيم محدثة. في Kubernetes، يمكن تنسيق إعادة تشغيل التطبيق باستخدام التحديثات المتداولة على الحجيرات أو الحاويات المقابلة. لأتمتة تحديثات التكوين، يمكنك الاستفادة من أدوات الجهات الخارجية مثل stakater/Reloader، والتي يمكنها تشغيل التحديثات المتداولة تلقائيا عند أي تغييرات تم إجراؤها على ConfigMaps أو Secrets.

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

لمعرفة المزيد حول موفر Kubernetes لتكوين تطبيق Azure، راجع مرجع موفر Kubernetes لتكوين تطبيق Azure.