مشاركة عبر


تثبيت الوظيفة الإضافية للتحجيم التلقائي (KEDA) المستندة إلى أحداث Kubernetes باستخدام قالب ARM

توضح هذه المقالة كيفية نشر الوظيفة الإضافية للتحجيم التلقائي (KEDA) المستندة إلى أحداث Kubernetes إلى خدمة Azure Kubernetes (AKS) باستخدام قالب ARM.

هام

يحدد إصدار نظام المجموعة Kubernetes إصدار KEDA الذي سيتم تثبيته على نظام مجموعة AKS. لمعرفة إصدار KEDA الذي يعين إلى كل إصدار AKS، راجع عمود الوظائف الإضافية المدارة AKS لجدول إصدار مكون Kubernetes.

بالنسبة لإصدارات GA Kubernetes، تقدم AKS دعما كاملا للإصدار الثانوي المقابل ل KEDA في الجدول. تتم تغطية إصدارات معاينة Kubernetes وأحدث تصحيح KEDA جزئيا من خلال دعم العملاء على أساس أفضل جهد. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:

إشعار

يقدم KEDA الإصدار 2.15 تغييرا فاصلا يزيل دعم هوية الجراب. نوصي بالانتقال إلى هوية حمل العمل للمصادقة الخاصة بك إذا كنت تستخدم هوية pod. في حين أن الوظيفة الإضافية المدارة KEDA لا تشغل حاليا الإصدار 2.15 من KEDA، فإنها ستبدأ في تشغيلها في إصدار معاينة AKS 1.31.

لمزيد من المعلومات حول كيفية توسيع نطاق تطبيقاتك بأمان باستخدام هوية حمل العمل، يرجى قراءة البرنامج التعليمي. لعرض سياسة التغيير/الإهمال التي تتبعها KEDA، يرجى قراءة وثائقها الرسمية.

قبل البدء

إشعار

إذا كنت تستخدم هوية حمل عمل Microsoft Entra وقمت بتمكين KEDA قبل هوية حمل العمل، فأنت بحاجة إلى إعادة تشغيل حجيرات عامل تشغيل KEDA حتى يمكن حقن متغيرات البيئة المناسبة:

  1. أعد تشغيل pods عن طريق تشغيل kubectl rollout restart deployment keda-operator -n kube-system.

  2. الحصول على وحدات جراب عامل تشغيل KEDA باستخدام kubectl get pod -n kube-system والعثور على pods التي تبدأ ب keda-operator.

  3. تحقق من الإدخال الناجح لمتغيرات البيئة عن طريق تشغيل kubectl describe pod <keda-operator-pod> -n kube-system. ضمن Environment، يجب أن تشاهد قيم و AZURE_TENANT_IDAZURE_FEDERATED_TOKEN_FILEو.AZURE_AUTHORITY_HOST

أنشئ مفتاح مزدوج SSH

  1. انتقل إلى Azure Cloud Shell.

  2. إنشاء زوج مفاتيح SSH باستخدام az sshkey create الأمر .

    az sshkey create --name <sshkey-name> --resource-group <resource-group-name>
    

تمكين وظيفة إضافية KEDA باستخدام قالب ARM

  1. نشر قالب ARM لمجموعة AKS.

  2. ثم حدد قالب تعديل.

  3. قم بتمكين الوظيفة الإضافية KEDA عن طريق تحديد workloadAutoScalerProfile الحقل في قالب ARM، كما هو موضح في المثال التالي:

        "workloadAutoScalerProfile": {
            "keda": {
                "enabled": true
            }
        }
    
  4. حدد حفظ.

  5. تحديث القيم المطلوبة لقالب ARM:

    • الاشتراك: حدد اشتراك Azure لاستخدامه للنشر.
    • مجموعة الموارد: حدد مجموعة الموارد لاستخدامها في النشر.
    • المنطقة: حدد المنطقة التي تريد استخدامها للنشر.
    • بادئة Dns: أدخل اسم DNS فريدا لاستخدامه في نظام المجموعة.
    • Linux Admin Username: أدخل اسم مستخدم للمجموعة.
    • مصدر المفتاح العام SSH: حدد استخدام المفتاح الموجود المخزن في Azure.
    • مفاتيح المتجر: حدد زوج المفاتيح الذي أنشأته سابقا في المقالة.
  6. اختر إنشاء>مراجعة + إنشاء.

قم بالاتصال بمجموعة AKS

للاتصال بمجموعة Kubernetes من جهازك المحلي، يمكنك استخدام kubectl، عميل سطر الأوامر Kubernetes.

في حال كنت تستخدم Azure Cloud Shell، يكون kubectl مثبتاً بالفعل. يمكنك أيضا تثبيته محليا باستخدام az aks install-cli الأمر .

  • تكوين kubectl للاتصال بمجموعة Kubernetes الخاصة بك، استخدم الأمر az aks get-credentials . يحصل المثال التالي على بيانات اعتماد لمجموعة AKS المسماة myAKSCluster في myResourceGroup:
az aks get-credentials --resource-group MyResourceGroup --name MyAKSCluster

مثال للتوزيع

القصاصة البرمجية التالي عبارة عن نموذج نشر يقوم بإنشاء مجموعة مع تمكين KEDA مع تجمع عقدة واحد يتكون من ثلاث عقدDS2_v5.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "apiVersion": "2023-03-01",
            "dependsOn": [],
            "type": "Microsoft.ContainerService/managedClusters",
            "location": "westcentralus",
            "name": "myAKSCluster",
            "properties": {
                "kubernetesVersion": "1.27",
                "enableRBAC": true,
                "dnsPrefix": "myAKSCluster",
                "agentPoolProfiles": [
                    {
                        "name": "agentpool",
                        "osDiskSizeGB": 200,
                        "count": 3,
                        "enableAutoScaling": false,
                        "vmSize": "Standard_D2S_v5",
                        "osType": "Linux",
                        "type": "VirtualMachineScaleSets",
                        "mode": "System",
                        "maxPods": 110,
                        "availabilityZones": [],
                        "nodeTaints": [],
                        "enableNodePublicIP": false
                    }
                ],
                "networkProfile": {
                    "loadBalancerSku": "standard",
                    "networkPlugin": "kubenet"
                },
                "workloadAutoScalerProfile": {
                    "keda": {
                        "enabled": true
                    }
                }
            },
            "identity": {
                "type": "SystemAssigned"
            }
        }
    ]
}

أبدأ تحجيم التطبيقات باستخدام KEDA

يمكنك تغيير الحجم التلقائي لتطبيقاتك باستخدام KEDA باستخدام تعريفات الموارد المخصصة (CRDs). لمزيد من المعلومات، راجع وثائق KEDA.

إزالة الموارد

  • قم بإزالة مجموعة الموارد وجميع الموارد ذات الصلة باستخدام az group delete الأمر .

    az group delete --name <resource-group-name>
    

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

توضح لك هذه المقالة كيفية تثبيت المكون الإضافي لـ KEDA على نظام مجموعة AKS، ثم التحقق من صحة تثبيته وتشغيله. بتثبيت المكون الإضافي KEDA على نظام المجموعة الخاص بك، يمكنك توزيع عينة تطبيق لبدء تحجيم التطبيقات.

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

لمعرفة المزيد، اعرض مستندات KEDA المصدر.