إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
هام
لا تدعم الوظيفة الإضافية KEDA ل AKS حاليا تعديل طلبات وحدة المعالجة المركزية أو حدودها وقيم Helm الأخرى ل Metrics Server أو Operator. ضع هذا القيد في الاعتبار عند استخدام الوظيفة الإضافية. إذا كانت لديك أي أسئلة، فلا تتردد في الوصول إلى هنا.
توضح هذه المقالة كيفية تثبيت الوظيفة الإضافية للتحجيم التلقائي (KEDA) المستندة إلى أحداث Kubernetes إلى خدمة Azure Kubernetes (AKS) باستخدام Azure CLI.
هام
يحدد إصدار نظام المجموعة Kubernetes إصدار KEDA الذي سيتم تثبيته على نظام مجموعة AKS. لمعرفة إصدار KEDA الذي يعين إلى كل إصدار AKS، راجع عمود الوظائف الإضافية المدارة AKS لجدول إصدار مكون Kubernetes.
بالنسبة لإصدارات GA Kubernetes، تقدم AKS دعما كاملا للإصدار الثانوي المقابل ل KEDA في الجدول. تتم تغطية إصدارات معاينة Kubernetes وأحدث تصحيح KEDA جزئيا من خلال دعم العملاء على أساس أفضل جهد. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:
إشعار
يقدم الإصدار 2.15+ من KEDA تغييرا فاصلا يزيل دعم هوية الجراب. نوصي بالانتقال إلى هوية حمل العمل للمصادقة الخاصة بك إذا كنت تستخدم هوية pod. في حين أن الوظيفة الإضافية المدارة KEDA لا تشغل حاليا الإصدار 2.15+من KEDA، فإنها ستبدأ في تشغيلها في إصدار معاينة AKS 1.31.
لمزيد من المعلومات حول كيفية توسيع نطاق تطبيقاتك بأمان باستخدام هوية حمل العمل، يرجى قراءة البرنامج التعليمي. لعرض سياسة التغيير/الإهمال التي تتبعها KEDA، يرجى قراءة وثائقها الرسمية.
قبل البدء
- تحتاج إلى شتراك Azure. إذا لم يكن لديك اشتراك Azure، يمكنك إنشاء حساب مجاني.
- تحتاج إلى تثبيت Azure CLI.
- تأكد من تكوين قواعد جدار الحماية للسماح بالوصول إلى خادم Kubernetes API. لمزيد من المعلومات، راجع قواعد الشبكة الصادرة وFQDN لمجموعات خدمة Azure Kubernetes (AKS).
إشعار
إذا كنت تستخدم هوية حمل عمل Microsoft Entra وقمت بتمكين KEDA قبل هوية حمل العمل، فأنت بحاجة إلى إعادة تشغيل حجيرات عامل تشغيل KEDA حتى يمكن حقن متغيرات البيئة المناسبة:
أعد تشغيل pods عن طريق تشغيل
kubectl rollout restart deployment keda-operator -n kube-system.الحصول على وحدات جراب عامل تشغيل KEDA باستخدام
kubectl get pod -n kube-systemوالعثور على pods التي تبدأ بkeda-operator.تحقق من الإدخال الناجح لمتغيرات البيئة عن طريق تشغيل
kubectl describe pod <keda-operator-pod> -n kube-system. ضمنEnvironment، يجب أن تشاهد قيم وAZURE_TENANT_IDAZURE_FEDERATED_TOKEN_FILEو.AZURE_AUTHORITY_HOST
تثبيت المكون الإضافي KEDA مع Azure CLI
لتثبيت المكون الإضافي KEDA، استخدم --enable-keda عند إنشاء أو تحديث نظام مجموعة.
تمكين الوظيفة الإضافية KEDA على نظام مجموعة AKS
إشعار
بينما توفر KEDA خيارات تخصيص متنوعة، يوفر المكون الإضافي KEDA حاليًا التكوين الأساس المشترك.
إذا كنت بحاجة إلى تكوينات مخصصة، يمكنك تحرير ملفات KEDA YAML يدويا لتخصيص التثبيت. لا يقدم Azure دعما للتكوينات المخصصة.
إنشاء مجموعة AKS جديدة مع تمكين الوظيفة الإضافية KEDA
إنشاء مجموعة موارد باستخدام
az group createالأمر .az group create --name myResourceGroup --location eastusإنشاء نظام مجموعة AKS جديد باستخدام
az aks createالأمر وتمكين الوظيفة الإضافية KEDA باستخدام العلامة--enable-keda.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda \ --generate-ssh-keys
تمكين الوظيفة الإضافية KEDA على مجموعة AKS موجودة
تحديث نظام مجموعة موجود باستخدام
az aks updateالأمر وتمكين الوظيفة الإضافية KEDA باستخدام العلامة--enable-keda.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-keda
الحصول على بيانات اعتماد لمجموعتك
احصل على بيانات الاعتماد لنظام مجموعة AKS باستخدام
az aks get-credentialsالأمر .az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
تحقق من تثبيت الوظيفة الإضافية KEDA على نظام المجموعة
تحقق من تثبيت الوظيفة الإضافية KEDA على نظام المجموعة باستخدام
az aks showالأمر وتعيين المعلمة--queryإلىworkloadAutoScalerProfile.keda.enabled.az aks show --resource-group myResourceGroup --name myAKSCluster --query "workloadAutoScalerProfile.keda.enabled"يظهر إخراج المثال التالي أن الوظيفة الإضافية KEDA مثبتة على نظام المجموعة:
true
تحقق من تشغيل KEDA على نظام المجموعة
تحقق من تشغيل الوظيفة الإضافية KEDA على نظام المجموعة باستخدام
kubectl get podsالأمر .kubectl get pods -n kube-systemيظهر إخراج المثال التالي عامل تشغيل KEDA، وربط القبول، وخادم واجهة برمجة تطبيقات المقاييس المثبت على نظام المجموعة:
keda-admission-webhooks-**********-2n9zl 1/1 Running 0 3d18h keda-admission-webhooks-**********-69dkg 1/1 Running 0 3d18h keda-operator-*********-4hb5n 1/1 Running 0 3d18h keda-operator-*********-pckpx 1/1 Running 0 3d18h keda-operator-metrics-apiserver-**********-gqg4s 1/1 Running 0 3d18h keda-operator-metrics-apiserver-**********-trfcb 1/1 Running 0 3d18h
تحقق من إصدار KEDA على نظام المجموعة
للتحقق من إصدار KEDA الخاص بك، استخدم kubectl get crd/scaledobjects.keda.sh -o yaml . على سبيل المثال:
kubectl get crd/scaledobjects.keda.sh -o yaml
يوضح إخراج المثال التالي تكوين KEDA في التسمية app.kubernetes.io/version:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.9.0
meta.helm.sh/release-name: aks-managed-keda
meta.helm.sh/release-namespace: kube-system
creationTimestamp: "2023-08-09T15:58:56Z"
generation: 1
labels:
app.kubernetes.io/component: operator
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: keda-operator
app.kubernetes.io/part-of: keda-operator
app.kubernetes.io/version: 2.10.1
helm.toolkit.fluxcd.io/name: keda-adapter-helmrelease
helm.toolkit.fluxcd.io/namespace: 64d3b6fd3365790001260647
name: scaledobjects.keda.sh
resourceVersion: "1421"
uid: 29109c8c-638a-4bf5-ac1b-c28ad9aa11fa
spec:
conversion:
strategy: None
group: keda.sh
names:
kind: ScaledObject
listKind: ScaledObjectList
plural: scaledobjects
shortNames:
- so
singular: scaledobject
scope: Namespaced
# Redacted due to length
قم بتكبير مشغل keda عموديا إذا كنت تعاني من أخطاء OOMKill
إذا كانت وحدات مشغل الكيدا تواجه أخطاء OOMKill، يمكنك استخدام جهاز التكبير التلقائي العمودي (VPA) لضبط حدود المعالج والذاكرة تلقائيا.
فعل VPA على عنقود AKS الخاص بك باستخدام
az aks updateالأمر.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-vpaإنشاء ملف باسم
keda-operator-vpa.yamlبتكوين VPA التالي لاستهداف نشر مشغل الكيدا.apiVersion: autoscaling.k8s.io/v1 kind: VerticalPodAutoscaler metadata: name: keda-operator-vpa spec: targetRef: apiVersion: "apps/v1" kind: Deployment name: keda-operator updatePolicy: updateMode: "InPlaceOrRecreate"طبق تكوين VPA على العنقود باستخدام
kubectl applyالأمر.kubectl apply -f keda-operator-vpa.yamlيقوم VPA بضبط طلبات وحدود وحدة المعالجة المركزية والذاكرة تلقائيا بناء على الاستخدام الملحوظ.
تعطيل الوظيفة الإضافية KEDA على نظام مجموعة AKS
قم بتعطيل الوظيفة الإضافية KEDA على نظام المجموعة باستخدام
az aks updateالأمر مع العلامة--disable-keda.az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --disable-keda
الخطوات التالية
توضح لك هذه المقالة كيفية تثبيت الوظيفة الإضافية KEDA على نظام مجموعة AKS باستخدام Azure CLI.
بتثبيت المكون الإضافي KEDA على نظام المجموعة الخاص بك، يمكنك توزيع عينة تطبيق لبدء تحجيم التطبيقات.
للحصول على معلومات حول استكشاف أخطاء KEDA وإصلاحها، راجع استكشاف أخطاء الوظيفة الإضافية للتحجيم التلقائي (KEDA) المستندة إلى أحداث Kubernetes وإصلاحها.
لمعرفة المزيد، اعرض مستندات KEDA المصدر.