AzureFunctionOnKubernetes@1 - وظيفة Azure على مهمة Kubernetes v1

توزيع دالة Azure إلى نظام مجموعة Kubernetes.

بناء الجملة

# Azure Function on Kubernetes v1
# Deploy Azure function to Kubernetes cluster.
- task: AzureFunctionOnKubernetes@1
  inputs:
  # Service Connections
    connectionType: 'Kubernetes Service Connection' # 'Azure Resource Manager' | 'Kubernetes Service Connection'. Required. Service connection type. Default: Kubernetes Service Connection.
    dockerRegistryServiceConnection: # string. Required. Docker registry service connection. 
    #kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection. Kubernetes service connection. 
    #azureSubscriptionConnection: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager. Azure subscription. 
    #azureResourceGroup: # string. Required when connectionType = Azure Resource Manager. Resource group. 
    #kubernetesCluster: # string. Required when connectionType = Azure Resource Manager. Kubernetes cluster. 
  # Commands
    #namespace: # string. Kubernetes namespace. 
    #secretName: # string. Secret Name. 
    #dockerHubNamespace: # string. Docker Hub namespace. 
    appName: # string. Required. Application Name. 
    #functionRootDirectory: # string. Function root directory. 
    #waitForStability: true # boolean. Wait for stability. Default: true.
    #arguments: # string. Arguments.

الإدخالات

connectionType - نوع اتصال الخدمة
string. مطلوب القيم المسموح بها: Azure Resource Manager، . Kubernetes Service Connection القيمة الافتراضية: Kubernetes Service Connection.

حدد نوع اتصال خدمة Kubernetes.

  • Kubernetes Service Connection - يسمح لك بتوفير ملف KubeConfig أو تحديد حساب خدمة أو استيراد مثيل AKS باستخدام خيار اشتراك Azure . يتطلب استيراد مثيل AKS باستخدام خيار اشتراك Azure الوصول إلى مجموعة Kubernetes في وقت تكوين اتصال الخدمة.
  • Azure Resource Manager - يتيح لك تحديد مثيل AKS. لا يصل إلى مجموعة Kubernetes في وقت تكوين اتصال الخدمة.

لمزيد من المعلومات، راجع الملاحظات.


dockerRegistryServiceConnection - اتصال خدمة تسجيل Docker
string. مطلوب

حدد اتصال خدمة تسجيل Docker.


kubernetesServiceConnection - اتصال خدمة Kubernetes
الاسم المستعار للإدخل: kubernetesServiceEndpoint. string. مطلوب عند connectionType = Kubernetes Service Connection.

حدد اتصال خدمة Kubernetes.


azureSubscriptionConnection - اشتراك Azure
الاسم المستعار للإدخل: azureSubscriptionEndpoint. string. مطلوب عند connectionType = Azure Resource Manager.

حدد اشتراك Azure Resource Manager، الذي يحتوي على Azure Container Registry.Note: لتكوين اتصال خدمة جديد، حدد اشتراك Azure من القائمة وانقر فوق "Authorize". إذا لم يكن اشتراكك مدرجا أو إذا كنت تريد استخدام كيان خدمة موجود، يمكنك إعداد اتصال خدمة Azure باستخدام الزر "إضافة" أو "إدارة".


azureResourceGroup - مجموعة الموارد
string. مطلوب عند connectionType = Azure Resource Manager.

حدد مجموعة موارد Azure.


kubernetesCluster - مجموعة Kubernetes
string. مطلوب عند connectionType = Azure Resource Manager.

حدد مجموعة مدارة من Azure.


namespace - مساحة اسم Kubernetes
string.

مساحة اسم Kubernetes.


secretName - اسم البيانات السرية
string.

بيانات Kubernetes السرية التي تحتوي على بيانات تكوين الدالة (على سبيل المثال، AzureWebJobsStorage: Azure storage connection string).


dockerHubNamespace - مساحة اسم Docker Hub
string.

مساحة اسم Docker Hub. مطلوب لمستودع Docker Hub الخاص.


appName - اسم التطبيق
string. مطلوب

اسم التطبيق. تستخدم كائنات Kubernetes التي تم إنشاؤها هذا الاسم. يجب أن يتبع ذلك اصطلاحات تسمية Kubernetes لأسماء الموارد.


functionRootDirectory - دليل جذر الدالة
string.

دليل جذر الدالة. يجب أن يحتوي على host.json. يتم تنفيذ بناء Docker ودفعه من هذا الدليل.


waitForStability - انتظر الاستقرار
boolean. القيمة الافتراضية: true.

انتظر حتى تصل كائنات Kubernetes إلى الحالة المطلوبة.


arguments - الحجج
string.

تمرير الوسيطات إلى الأمر. السابقين:
--no-docker --service-type NodePort.


خيارات التحكم بالمهمة

تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.

متغيرات الإخراج

لا شيء

الملاحظات

اعتبارات اتصال خدمة Kubernetes عند الوصول إلى AKS

يمكنك إنشاء اتصال خدمة Kubernetes مع أي من الخيارات التالية.

  • KubeConfig
  • حساب الخدمة
  • اشتراك Azure

لقطة شاشة لاختيار طريقة مصادقة اتصال خدمة Kubernetes.

عند تحديد خيار اشتراك Azure ، يجب أن يكون Kubernetes متاحا ل Azure DevOps في وقت تكوين اتصال الخدمة. قد تكون هناك أسباب مختلفة لتعذر إنشاء اتصال خدمة، على سبيل المثال قمت بإنشاء مجموعة خاصة أو أن نظام المجموعة لديه حسابات محلية معطلة. في هذه الحالات، لا يمكن ل Azure DevOps الاتصال بنظام المجموعة في وقت تكوين اتصال الخدمة وسترى شاشة تحميل مساحات الأسماء عالقة .

لقطة شاشة لاختيار مربع حوار مصادقة اتصال خدمة Kubernetes عالق عند تحميل مساحات الأسماء.

بدءا من Kubernetes 1.24، لم تعد الرموز المميزة طويلة العمر يتم إنشاؤها بشكل افتراضي. يوصي Kubernetes بعدم استخدام الرموز المميزة طويلة العمر. ونتيجة لذلك، لا تتمتع المهام التي تستخدم اتصال خدمة Kubernetes الذي تم إنشاؤه باستخدام خيار اشتراك Azure بالوصول إلى الرمز المميز الدائم المطلوب للمصادقة ولا يمكنها الوصول إلى مجموعة Kubernetes الخاصة بك. يؤدي هذا أيضا إلى مربع حوار مساحات أسماء التحميل المجمدة .

استخدام Azure Resource Manager Service Connection للوصول إلى AKS

بالنسبة لعملاء AKS، يوفر نوع اتصال خدمة Azure Resource Manager أفضل طريقة للاتصال بمجموعة خاصة، أو نظام مجموعة معطل للحسابات المحلية. لا يعتمد هذا الأسلوب على اتصال نظام المجموعة في الوقت الذي تقوم فيه بإنشاء اتصال خدمة. يتم تأجيل الوصول إلى AKS إلى وقت تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية، والذي له المزايا التالية:

  • يمكن إجراء الوصول إلى نظام مجموعة AKS (خاص) من عامل مستضاف ذاتيا أو عامل مجموعة مقياس مع خط رؤية إلى نظام المجموعة.
  • يتم إنشاء رمز مميز لكل مهمة تستخدم اتصال خدمة Azure Resource Manager. يضمن هذا الاتصال ب Kubernetes برمز مميز قصير العمر، وهو توصية Kubernetes.
  • يمكن الوصول إلى AKS حتى عند تعطيل الحسابات المحلية.

الأسئلة المتداولة حول اتصال الخدمة

أتلقى رسالة الخطأ التالية: تعذر العثور على أي سر مقترن بحساب الخدمة. ماذا يحدث؟

أنت تستخدم اتصال خدمة Kubernetes مع خيار اشتراك Azure. نقوم بتحديث هذا الأسلوب لإنشاء رموز مميزة طويلة الأمد. ومن المتوقع أن يكون ذلك متاحا في منتصف أيار/مايو. ومع ذلك، يوصى بالبدء في استخدام نوع اتصال خدمة Azure وعدم استخدام الرموز المميزة طويلة الأمد وفقا لإرشادات Kubernetes.

أنا أستخدم AKS ولا أريد تغيير أي شيء، هل يمكنني الاستمرار في استخدام المهام مع اتصال خدمة Kubernetes؟

نقوم بتحديث هذا الأسلوب لإنشاء رموز مميزة طويلة الأمد. ومن المتوقع أن يكون ذلك متاحا في منتصف أيار/مايو. ومع ذلك، يرجى أن تدرك أن هذا النهج يتعارض مع إرشادات Kubernetes.

أنا أستخدم مهام Kubernetes واتصال خدمة Kubernetes ولكن ليس AKS. هل يجب أن أكون قلقا؟

ستستمر المهام في العمل كما كان من قبل.

هل ستتم إزالة نوع اتصال خدمة Kubernetes؟

تعمل مهام Kubernetes الخاصة بنا مع أي مجموعة Kubernetes، بغض النظر عن مكان تشغيلها. سيستمر اتصال خدمة Kubernetes في الوجود.

أنا عميل AKS وكل شيء يعمل بشكل جيد، هل يجب أن أتصرف؟

ليست هناك حاجة لتغيير أي شيء. إذا كنت تستخدم اتصال خدمة Kubernetes واشتراك Azure المحدد أثناء الإنشاء، يجب أن تكون على دراية بإرشادات Kubernetes حول استخدام الرموز المميزة طويلة الأمد.

أقوم بإنشاء بيئة Kubernetes، وليس لدي خيار لاستخدام اتصالات الخدمة

في حالة عدم إمكانية الوصول إلى AKS أثناء وقت إنشاء البيئة، يمكنك استخدام بيئة فارغة وتعيين connectionType الإدخال إلى اتصال خدمة Azure Resource Manager.

لقد تم تكوين AKS باستخدام Azure Active Directory RBAC، ولا تعمل البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بي. هل ستحل هذه التحديثات ذلك؟

الوصول إلى Kubernetes عند تمكين AAD RBAC غير مرتبط بإنشاء الرمز المميز. لمنع مطالبة تفاعلية، سندعم kubelogin في تحديث مستقبلي.

المتطلبات

المتطلبات الوصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
المطالب بلا
القدرات لا تفي هذه المهمة بأي طلبات للمهام اللاحقة في الوظيفة.
قيود الأوامر أي
متغيرات Settable أي
إصدار الوكيل جميع إصدارات العامل المدعومة.
فئة المهمة نشر