إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يتم نشر نموذج حمل عمل AWS باستخدام Bash وCloudFormation و AWS CLI. يتم نشر تطبيق Python للمستهلك كحاوية. تصف الأقسام التالية كيفية اختلاف سير عمل Azure. هناك تغييرات في البرامج النصية Bash المستخدمة لنشر نظام مجموعة Azure Kubernetes Service (AKS) والبنية الأساسية الداعمة. بالإضافة إلى ذلك، يتم تعديل بيانات نشر Kubernetes لتكوين KEDA لاستخدام مقياس قائمة انتظار تخزين Azure بدلا من مقياس Amazon Simple Queue Service (SQS).
يستخدم سير عمل Azure ميزة التزويد التلقائي لعقدة AKS (NAP)، والتي تستند إلى Karpenter. تبسط هذه الميزة بشكل كبير نشر واستخدام Karpenter على AKS من خلال القضاء على الحاجة إلى استخدام Helm لنشر Karpenter بشكل صريح. ومع ذلك، إذا كانت لديك حاجة لنشر Karpenter مباشرة، يمكنك القيام بذلك باستخدام موفر AKS Karpenter على GitHub.
تكوين بيان توزيع Kubernetes
يستخدم AWS بيان YAML لتوزيع Kubernetes لنشر حمل العمل إلى EKS. يحتوي YAML لتوزيع AWS على مراجع إلى SQS وDynamoDB لمتدرجات KEDA، لذلك نحتاج إلى تغييرها لتحديد قيم مكافئة ل KEDA لمتدرجات Azure لاستخدامها للاتصال بالبنية الأساسية ل Azure. للقيام بذلك، قم بتكوين مقياس AZURE Storage Queue KEDA.
تعرض القصاصات البرمجية التالية أمثلة على بيانات YAML لتطبيقات AWS وAzure.
تنفيذ AWS
spec:
serviceAccountName: $SERVICE_ACCOUNT
containers:
- name: <sqs app name>
image: <name of Python app container>
imagePullPolicy: Always
env:
- name: SQS_QUEUE_URL
value: https://<Url To SQS>/<region>/<QueueName>.fifo
- name: DYNAMODB_TABLE
value: <table name>
- name: AWS_REGION
value: <region>
تنفيذ Azure
spec:
serviceAccountName: $SERVICE_ACCOUNT
containers:
- name: keda-queue-reader
image: ${AZURE_CONTAINER_REGISTRY_NAME}.azurecr.io/aws2azure/aqs-consumer
imagePullPolicy: Always
env:
- name: AZURE_QUEUE_NAME
value: $AZURE_QUEUE_NAME
- name: AZURE_STORAGE_ACCOUNT_NAME
value: $AZURE_STORAGE_ACCOUNT_NAME
- name: AZURE_TABLE_NAME
value: $AZURE_TABLE_NAME
تعيين متغيرات البيئة
قبل تنفيذ أي من خطوات النشر، تحتاج إلى تعيين بعض معلومات التكوين باستخدام متغيرات البيئة التالية:
-
K8sversion: إصدار Kubernetes المنشور على نظام مجموعة AKS. -
KARPENTER_VERSION: إصدار Karpenter المنشور على نظام مجموعة AKS. -
SERVICE_ACCOUNT: اسم حساب الخدمة المقترن بالهوية المدارة. -
AQS_TARGET_DEPLOYMENT: اسم نشر حاوية تطبيق المستهلك. -
AQS_TARGET_NAMESPACE: مساحة الاسم التي يتم نشر تطبيق المستهلك فيها. -
AZURE_QUEUE_NAME: اسم قائمة انتظار تخزين Azure. -
AZURE_TABLE_NAME: اسم Azure Storage Table الذي يخزن الرسائل المعالجة. -
LOCAL_NAME: جذر بسيط لأسماء الموارد التي تم إنشاؤها في البرامج النصية للتوزيع. -
LOCATION: منطقة Azure حيث يوجد التوزيع. -
TAGS: أي علامات معرفة من قبل المستخدم جنبا إلى جنب مع القيم المقترنة بها. -
STORAGE_ACCOUNT_SKU: Azure Storage Account SKU. -
ACR_SKU: Azure Container Registry SKU. -
AKS_NODE_COUNT: عدد العقد.
يمكنك مراجعة environmentVariables.sh البرنامج النصي Bash في deployment دليل مستودع GitHub الخاص بنا. تحتوي متغيرات البيئة هذه على تعيين افتراضيات، لذلك لا تحتاج إلى تحديث الملف إلا إذا كنت تريد تغيير الإعدادات الافتراضية. يتم إنشاء أسماء موارد Azure ديناميكيا في deploy.sh البرنامج النصي ويتم حفظها في deploy.state الملف. يمكنك استخدام deploy.state الملف لإنشاء متغيرات البيئة لأسماء موارد Azure.
الخطوات التالية
المساهمون
تحتفظ Microsoft بهذه المقالة. كتبه المساهمون التاليون في الأصل:
- كين كيلتي | الوحدة النمطية للنظام الأساسي الموثوق به
- راسل دي بينا | الوحدة النمطية للنظام الأساسي الموثوق به
- جيني هايز | مطور محتوى أول
- كارول سميث | مطور محتوى أول
- إيرين شيفر | مطور المحتوى 2