إنشاء مجموعة خدمة Azure Kubernetes وإرفاقها باستخدام الإصدار 1

ينطبق على:Python SDK azureml v1

ينطبق على:ملحق Azure CLI ml الإصدار 1

هام

توضح هذه المقالة كيفية استخدام CLI وSDK v1 لإنشاء أو إرفاق مجموعة خدمة Azure Kubernetes، والتي تعتبر ميزة قديمة الآن. لإرفاق نظام مجموعة خدمة Azure Kubernetes باستخدام النهج الموصى به للإصدار 2، راجع مقدمة إلى هدف حساب Kubernetes في الإصدار 2.

يمكن لـAzure Machine Learning نشر نماذج التعلم الآلي المدربة إلى Azure Kubernetes Service. ومع ذلك، يجب أولا إما إنشاء نظام مجموعة Azure Kubernetes Service (AKS) من مساحة عمل التعلم الآلي من Azure، أو إرفاق مجموعة AKS موجودة. توفر هذه المقالة معلومات حول كل من إنشاء نظام مجموعة وإرفاقه.

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

  • مساحة عمل Azure التعلم الآلي. لمزيد من المعلومات، راجع إنشاء مساحة عمل التعلم الآلي من Microsoft Azure.

  • ملحق Azure CLI (الإصدار 1) لخدمة التعلم الآلي أو Azure Machine Learning Python SDK أو ملحق Azure Machine Learning Visual Studio Code.

    هام

    تتطلب أوامر Azure CLI الواردة في هذه المقالة ملحق azure-cli-ml، أو الإصدار 1، التعلم الآلي من Microsoft Azure. سينتهي دعم ملحق الإصدار 1 في 30 سبتمبر 2025. ستتمكن من تثبيت ملحق v1 واستخدامه حتى ذلك التاريخ.

    نوصي بالانتقال إلى ملحق ml أو الإصدار 2 قبل 30 سبتمبر 2025. لمزيد من المعلومات حول ملحق v2، راجع ملحق Azure ML CLI وPython SDK v2.

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

التقييدات

  • يمكن إنشاء AKS أو إرفاقه فقط كهدف حساب واحد في مساحة عمل التعلم الآلي من Microsoft Azure. مرفقات متعددة ل AKS واحد غير مدعومة.

  • إذا كنت بحاجة إلى موازن تحميل قياسي (SLB) تم نشره في مجموعتك بدلا من موازن التحميل الأساسي (BLB)، فقم بإنشاء نظام مجموعة في مدخل AKS/CLI/SDK ثم قم بإرفاقه بمساحة عمل التعلم الآلي من Microsoft Azure.

  • إذا كان لديك نهج Azure يقيد إنشاء عناوين IP العامة، فسيفشل إنشاء نظام مجموعة AKS. يتطلب AKS عنوان IP عام لحركة الخروج. توفر مقالة حركة الخروج أيضًا إرشادات لتأمين نسبة استخدام شبكة الخروج من نظام المجموعة من خلال IP العام، باستثناء عدد قليل من أسماء المجالات المؤهلة بالكامل. هناك طريقتان لتمكين IP عام:

    لا تتحدث وحدة التحكم في التعلم الآلي من Microsoft Azure إلى عنوان IP العام هذا. وهو يتصل بوحدة التحكم AKS للنشر.

  • لإرفاق نظام مجموعة AKS، يجب تعيين دور التحكم في الوصول المستند إلى دور Azure (Azure RBAC) إلى المالك أو المساهم في مجموعة موارد Azure التي تحتوي على نظام المجموعة. يجب أيضًا تعيين دور مسؤول نظام مجموعة خدمة Azure Kubernetes على نظام المجموعة.

  • إذا قمت بإرفاق مجموعة AKS، التي تحتوي على نطاق IP معتمد ممكن للوصول إلى خادم واجهة برمجة التطبيقات، فقم بتمكين نطاقات IP لوحدة التحكم في التعلم الآلي من Microsoft Azure لمجموعة AKS. يتم نشر وحدة التحكم في التعلم الآلي من Microsoft Azure عبر المناطق المقترنة وتوزيع pods الاستدلال على نظام مجموعة AKS. بدون الوصول إلى خادم API، لا يمكن نشر pods الاستدلال. استخدم نطاقات IP لكلا المنطقتين المقترنتين عند تمكين نطاقات IP في نظام مجموعة AKS.

    تعمل نطاقات IP المعتمدة فقط مع موازن التحميل القياسي.

  • إذا كنت ترغب في استخدام نظام مجموعة AKS خاص (باستخدام Azure Private Link)، يجب عليك إنشاء نظام المجموعة أولًا، ثم إرفاقه بمساحة العمل. لمزيد من المعلومات، راجع إنشاء مجموعة خدمة Azure Kubernetes خاصة.

  • استخدام اسم مجال مؤهل بالكامل (FQDN) مع نظام مجموعة AKS خاصغير مدعوم مع التعلم الآلي من Microsoft Azure.

  • يجب أن يكون اسم الحساب لنظام مجموعة AKS فريدا داخل مساحة عمل التعلم الآلي من Microsoft Azure. يمكن أن يتضمن أحرفًا وأرقامًا والشرطات. يجب أن يبدأ بحرف، وينتهي بحرف أو رقم، وأن يتراوح طوله بين 3 و24 حرفًا.

  • إذا كنت ترغب في نشر نماذج إلى عقد GPU أو عقد FPGA (أو أي SKU محددة)، فيجب عليك إنشاء نظام مجموعة مع SKU محددة. لا يوجد دعم لإنشاء تجمع عقدة ثانوية في مجموعة موجودة ونشر النماذج في تجمع العقدة الثانوية.

  • عند إنشاء مجموعة أو إرفاقها، يمكنك تحديد ما إذا كنت تريد إنشاء نظام المجموعة لاختبار التطوير أو الإنتاج. إذا كنت ترغب في إنشاء نظام مجموعة AKS للتطويروالتحقق من الصحةوالاختبار بدلًا من الإنتاج، فقم بتعيين الغرض من نظام المجموعة إلى dev-test. إذا لم تحدد الغرض من نظام المجموعة، يتم إنشاء مجموعة إنتاج.

    هام

    نظام مجموعة اختبار التطوير غير مناسب لنسبة استخدام الشبكة على مستوى الإنتاج وقد يزيد من أوقات الاستدلال. كما أن مجموعات التطوير/الاختبار لا تضمن التسامح مع الخطأ.

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

  • لا يوفر Azure التعلم الآلي SDK دعم تحجيم نظام مجموعة AKS. لتوسيع نطاق العقد في نظام المجموعة، استخدم واجهة المستخدم لمجموعة AKS في Azure Machine Learning studio. يمكنك فقط تغيير عدد العقد، وليس حجم الجهاز الظاهري للمجموعة. لمزيد من المعلومات حول تحجيم العقد في نظام مجموعة AKS، راجع المقالات التالية:

  • لا تقم بتحديث نظام المجموعة مباشرة باستخدام تكوين YAML. بينما تدعم خدمات Azure Kubernetes التحديثات عبر تكوين YAML، فإن عمليات توزيع Azure التعلم الآلي ستتجاوز التغييرات التي أجريتها. حقلي YAML الوحيدين اللذين لن تتم الكتابة فوقهما هما حدود الطلباتوcpu والذاكرة.

  • إنشاء نظام مجموعة AKS باستخدام ملحق واجهة مستخدم Azure Machine Learning studio أو SDK أو CLI غير متكرر. ستؤدي محاولة إنشاء المورد مرة أخرى إلى حدوث خطأ في وجود نظام مجموعة بنفس الاسم بالفعل.

    • استخدام قالب Azure Resource Manager ومورد Microsoft.MachineLearningServices/workspaces/computes لإنشاء نظام مجموعة AKS ليس غير متكرر أيضًا. إذا حاولت استخدام القالب مرة أخرى لتحديث مورد موجود بالفعل، فستتلقى نفس الخطأ.

إصدار Azure Kubernetes Service

تتيح لك خدمة Azure Kubernetes إنشاء نظام مجموعة باستخدام مجموعة متنوعة من إصدارات Kubernetes. لمزيد من المعلومات حول الإصدارات المتوفرة، راجع إصدارات Kubernetes المدعومة في Azure Kubernetes Service.

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

  • Azure Machine Learning studio أو قسم Azure التعلم الآلي من مدخل Microsoft Azure.
  • ملحق التعلم الآلي لـAzure CLI.
  • Azure Machine Learning SDK.

تستخدم هذه الأساليب لإنشاء نظام مجموعة AKS الإصدار الافتراضي من نظام المجموعة. يتغير الإصدار الافتراضي بمرور الوقت مع توفر إصدارات Kubernetes الجديدة.

عند إرفاق مجموعة AKS موجودة، ندعم جميع إصدارات AKS المدعومة حاليا.

هام

تستخدم خدمة Azure Kubernetes برنامج تشغيل Blobfuse FlexVolume للإصدارات <=1.16 وبرنامج تشغيل Blob CSI للإصدارات >=1.17. لذلك، من المهم إعادة نشر أو تحديث خدمة الويب بعد ترقية نظام المجموعة من أجل النشر لتصحيح أسلوب blobfuse لإصدار نظام المجموعة.

ملاحظة

قد تكون هناك حالات حافة حيث يكون لديك مجموعة قديمة لم تعد مدعومة. في هذه الحالة، سترجع عملية إرفاق خطأ وتسرد الإصدارات المدعومة حاليًا.

يمكنك إرفاق إصدارات المعاينة. يتم توفير وظيفة المعاينة دون اتفاقية مستوى الخدمة، ولا يوصى بها لأحمال العمل الخاصة بالإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة قد يكون دعم استخدام إصدارات المعاينة محدودًا. لمزيد من المعلومات، راجع ⁧⁩شروط الاستخدام التكميلية لمعاينات Microsoft Azure⁧⁩.

الإصدارات المتوفرة والافتراضية

للعثور على إصدارات AKS المتوفرة والافتراضية، استخدم الأمر Azure CLIaz aks get-versions. على سبيل المثال، يقوم الأمر التالي بإرجاع الإصدارات المتوفرة في منطقة غرب الولايات المتحدة:

az aks get-versions -l westus -o table

ناتج هذا الأمر يشبه النص التالي:

KubernetesVersion    Upgrades
-------------------  ----------------------------------------
1.18.6(preview)      None available
1.18.4(preview)      1.18.6(preview)
1.17.9               1.18.4(preview), 1.18.6(preview)
1.17.7               1.17.9, 1.18.4(preview), 1.18.6(preview)
1.16.13              1.17.7, 1.17.9
1.16.10              1.16.13, 1.17.7, 1.17.9
1.15.12              1.16.10, 1.16.13
1.15.11              1.15.12, 1.16.10, 1.16.13

للعثور على الإصدار الافتراضي المستخدم عند إنشاء نظام مجموعة من خلال Azure التعلم الآلي، يمكنك استخدام المعلمة --query لتحديد الإصدار الافتراضي:

az aks get-versions -l westus --query "orchestrators[?default == `true`].orchestratorVersion" -o table

ناتج هذا الأمر يشبه النص التالي:

Result
--------
1.16.13

إذا كنت ترغب في التحقق برمجيًا من الإصدارات المتوفرة، فاستخدم Container Service Client - List Orchestrators REST API. للعثور على الإصدارات المتوفرة، انظر إلى الإدخالات حيث orchestratorType هو Kubernetes. تحتوي الإدخالات المقترنة orchestrationVersion على الإصدارات المتوفرة التي يمكن إرفاقها بمساحة العمل الخاصة بك.

للعثور على الإصدار الافتراضي المستخدم عند إنشاء نظام مجموعة من خلال Azure التعلم الآلي، ابحث عن الإدخال حيث orchestratorType هو Kubernetes وdefault هوtrue. قيمة orchestratorVersion المقترنة هي الإصدار الافتراضي. تعرض قصاصة JSON البرمجية التالية مثالًا على الإدخال:

...
 {
        "orchestratorType": "Kubernetes",
        "orchestratorVersion": "1.16.13",
        "default": true,
        "upgrades": [
          {
            "orchestratorType": "",
            "orchestratorVersion": "1.17.7",
            "isPreview": false
          }
        ]
      },
...

قم بإنشاء مجموعة AKS جديدة

تقدير الوقت: حوالي 10 دقائق.

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

يوضح المثال التالي كيفية إنشاء نظام مجموعة AKS جديد باستخدام SDK وCLI:

ينطبق على:Python SDK azureml v1

from azureml.core.compute import AksCompute, ComputeTarget

# Use the default configuration (you can also provide parameters to customize this).
# For example, to create a dev/test cluster, use:
# prov_config = AksCompute.provisioning_configuration(cluster_purpose = AksCompute.ClusterPurpose.DEV_TEST)
prov_config = AksCompute.provisioning_configuration()

# Example configuration to use an existing virtual network
# prov_config.vnet_name = "mynetwork"
# prov_config.vnet_resourcegroup_name = "mygroup"
# prov_config.subnet_name = "default"
# prov_config.service_cidr = "10.0.0.0/16"
# prov_config.dns_service_ip = "10.0.0.10"
# prov_config.docker_bridge_cidr = "172.17.0.1/16"

aks_name = 'myaks'
# Create the cluster
aks_target = ComputeTarget.create(workspace = ws,
                                    name = aks_name,
                                    provisioning_configuration = prov_config)

# Wait for the create process to complete
aks_target.wait_for_completion(show_output = True)

لمزيد من المعلومات حول الفئات والأساليب والمعلمات المستخدمة في هذا المثال، راجع المستندات المرجعية التالية:

إرفاق نظام مجموعة AKS الموجودة

تقدير الوقت: حوالي 5 دقائق.

إذا كان لديك بالفعل نظام مجموعة AKS في اشتراك Azure الخاص بك، يمكنك استخدامه مع مساحة العمل الخاصة بك.

تلميح

يمكن أن تكون مجموعة AKS الموجودة في منطقة Azure بخلاف مساحة عمل Azure Machine Learning.

تحذير

لا تقم بإنشاء مرفقات متعددة ومتزامنة لنفس نظام مجموعة AKS. على سبيل المثال، إرفاق مجموعة AKS واحدة إلى مساحة عمل باستخدام اسمين مختلفين، أو إرفاق مجموعة AKS واحدة إلى مساحة عمل مختلفة. سيكسر كل مرفق جديد المرفقات (المرفقات) الموجودة السابقة، ويتسبب في حدوث خطأ لا يمكن التنبؤ به.

إذا كنت تريد إعادة إرفاق نظام مجموعة AKS، على سبيل المثال لتغيير TLS أو إعداد تكوين نظام المجموعة الآخر، يجب أولا إزالة المرفق الموجود باستخدام AksCompute.detach().

لمزيد من المعلومات حول إنشاء نظام مجموعة AKS باستخدام Azure CLI أو المدخل، راجع المقالات التالية:

يوضح المثال التالي كيفية إرفاق مجموعة AKS موجودة بمساحة العمل الخاصة بك:

ينطبق على:Python SDK azureml v1

from azureml.core.compute import AksCompute, ComputeTarget
# Set the resource group that contains the AKS cluster and the cluster name
resource_group = 'myresourcegroup'
cluster_name = 'myexistingcluster'

# Attach the cluster to your workgroup. If the cluster has less than 12 virtual CPUs, use the following instead:
# attach_config = AksCompute.attach_configuration(resource_group = resource_group,
#                                         cluster_name = cluster_name,
#                                         cluster_purpose = AksCompute.ClusterPurpose.DEV_TEST)
attach_config = AksCompute.attach_configuration(resource_group = resource_group,
                                         cluster_name = cluster_name)
aks_target = ComputeTarget.attach(ws, 'myaks', attach_config)

# Wait for the attach process to complete
aks_target.wait_for_completion(show_output = True)

لمزيد من المعلومات حول الفئات والأساليب والمعلمات المستخدمة في هذا المثال، راجع المستندات المرجعية التالية:

إنشاء أو إرفاق نظام مجموعة AKS مع إنهاء TLS

عند إنشاء مجموعة AKS أو إرفاقها، يمكنك تمكين إنهاء TLS باستخدام عناصر التكوين AksCompute.provisioning_configuration() و AksCompute.attach_configuration(). ترجع كلتا الطريقتين كائن تكوين يحتوي على أسلوب enable_ssl، ويمكنك استخدام أسلوب enable_ssl لتمكين TLS.

يوضح المثال التالي كيفية تمكين إنهاء TLS مع إنشاء شهادة TLS والتكوين التلقائي باستخدام شهادة Microsoft في الخلفية.

ينطبق على:Python SDK azureml v1

   from azureml.core.compute import AksCompute, ComputeTarget
   
   # Enable TLS termination when you create an AKS cluster by using provisioning_config object enable_ssl method

   # Leaf domain label generates a name using the formula
   # "<leaf-domain-label>######.<azure-region>.cloudapp.azure.com"
   # where "######" is a random series of characters
   provisioning_config.enable_ssl(leaf_domain_label = "contoso")
   
   # Enable TLS termination when you attach an AKS cluster by using attach_config object enable_ssl method

   # Leaf domain label generates a name using the formula
   # "<leaf-domain-label>######.<azure-region>.cloudapp.azure.com"
   # where "######" is a random series of characters
   attach_config.enable_ssl(leaf_domain_label = "contoso")


يوضح المثال التالي كيفية تمكين إنهاء TLS مع شهادة مخصصة واسم مجال مخصص. باستخدام المجال المخصص والشهادة، يجب تحديث سجل DNS للإشارة إلى عنوان IP لنقطة نهاية التسجيل، يرجى مراجعة تحديث DNS الخاص بك

ينطبق على:Python SDK azureml v1

   from azureml.core.compute import AksCompute, ComputeTarget

   # Enable TLS termination with custom certificate and custom domain when creating an AKS cluster
   
   provisioning_config.enable_ssl(ssl_cert_pem_file="cert.pem",
                                        ssl_key_pem_file="key.pem", ssl_cname="www.contoso.com")
    
   # Enable TLS termination with custom certificate and custom domain when attaching an AKS cluster

   attach_config.enable_ssl(ssl_cert_pem_file="cert.pem",
                                        ssl_key_pem_file="key.pem", ssl_cname="www.contoso.com")


ملاحظة

لمزيد من المعلومات حول كيفية تأمين نشر النموذج على نظام مجموعة AKS، يرجى مراجعة استخدام TLS لتأمين خدمة ويب من خلال Azure Machine Learning

إنشاء أو إرفاق نظام مجموعة AKS لاستخدام موازن التحميل الداخلي مع IP خاص

عند إنشاء مجموعة AKS أو إرفاقها، يمكنك تكوين نظام المجموعة لاستخدام موازن التحميل الداخلي. باستخدام موازن التحميل الداخلي، ستستخدم نقاط نهاية تسجيل عمليات التوزيع الخاصة بك إلى AKS عنوان IP خاصًا داخل الشبكة الظاهرية. توضح القصاصات البرمجية التالية كيفية تكوين موازن تحميل داخلي لمجموعة AKS.

ينطبق على:Python SDK azureml v1

لإنشاء نظام مجموعة AKS يستخدم موازن تحميل داخلي، استخدم المعلمتين load_balancer_type وload_balancer_subnet:

from azureml.core.compute.aks import AksUpdateConfiguration
from azureml.core.compute import AksCompute, ComputeTarget

# When you create an AKS cluster, you can specify Internal Load Balancer to be created with provisioning_config object
provisioning_config = AksCompute.provisioning_configuration(load_balancer_type = 'InternalLoadBalancer')

# Create the cluster
aks_target = ComputeTarget.create(workspace = ws,
                                name = aks_name,
                                provisioning_configuration = provisioning_config)

# Wait for the create process to complete
aks_target.wait_for_completion(show_output = True)

هام

إذا تم تكوين نظام مجموعة AKS باستخدام موازن تحميل داخلي، فإن استخدام شهادة توفرها Microsoft غير مدعوم ويجب عليك استخدام شهادة مخصصة لتمكين TLS.

ملاحظة

لمزيد من المعلومات حول كيفية تأمين بيئة الاستدلال، يرجى مراجعة تأمين بيئة استدلال Azure Machine Learning

فصل مجموعة AKS

لفصل نظام مجموعة عن مساحة العمل الخاصة بك، استخدم إحدى الطرق التالية:

تحذير

لا يؤدي استخدام Azure Machine Learning studio أو SDK أو ملحق Azure CLI للتعلم الآلي لفصل نظام مجموعة AKS إلى حذف نظام مجموعة AKS. لحذف نظام المجموعة، راجع استخدام Azure CLI مع AKS.

ينطبق على:Python SDK azureml v1

aks_target.detach()

استكشاف الأخطاء وإصلاحها

بتحديث نظام المجموعة

يجب تطبيق تحديثات مكونات Azure Machine Learning المثبتة في نظام مجموعة Azure Kubernetes Service يدويًا.

يمكنك تطبيق هذه التحديثات عن طريق فصل نظام المجموعة من مساحة عمل Azure Machine Learning وإعادة توصيل نظام المجموعة بمساحة العمل.

ينطبق على:Python SDK azureml v1

compute_target = ComputeTarget(workspace=ws, name=clusterWorkspaceName)
compute_target.detach()
compute_target.wait_for_completion(show_output=True)

قبل أن تتمكن من إعادة إرفاق نظام المجموعة بمساحة العمل الخاصة بك، تحتاج أولًا إلى حذف أي موارد azureml-fe ذات صلة. إذا لم تكن هناك خدمة نشطة في نظام المجموعة، يمكنك حذف الموارد azureml-fe ذات الصلة مع التعليمات البرمجية التالية.

kubectl delete sa azureml-fe
kubectl delete clusterrole azureml-fe-role
kubectl delete clusterrolebinding azureml-fe-binding
kubectl delete svc azureml-fe
kubectl delete svc azureml-fe-int-http
kubectl delete deploy azureml-fe
kubectl delete secret azuremlfessl
kubectl delete cm azuremlfeconfig

إذا تم تمكين TLS في نظام المجموعة، فستحتاج إلى توفير شهادة TLS/SSL والمفتاح الخاص عند إعادة توصيل نظام المجموعة.

ينطبق على:Python SDK azureml v1

attach_config = AksCompute.attach_configuration(resource_group=resourceGroup, cluster_name=kubernetesClusterName)

# If SSL is enabled.
attach_config.enable_ssl(
    ssl_cert_pem_file="cert.pem",
    ssl_key_pem_file="key.pem",
    ssl_cname=sslCname)

attach_config.validate_configuration()

compute_target = ComputeTarget.attach(workspace=ws, name=args.clusterWorkspaceName, attach_configuration=attach_config)
compute_target.wait_for_completion(show_output=True)

إذا لم تعد لديك شهادة TLS/SSL والمفتاح الخاص، أو كنت تستخدم شهادة تم إنشاؤها بواسطة Azure Machine Learning، يمكنك استرداد الملفات قبل فصل نظام المجموعة عن طريق الاتصال بالمجموعة باستخدام kubectl واسترداد السر azuremlfessl.

kubectl get secret/azuremlfessl -o yaml

ملاحظة

يخزن Kubernetes الأسرار بتنسيق ترميز Base64. ستحتاج إلى فك ترميز Base64 لمكونات cert.pem وkey.pem للأسرار قبل توفيرها إلى attach_config.enable_ssl.

فشل خدمة الويب

يمكن تصحيح العديد من حالات فشل خدمة الويب في AKS عن طريق الاتصال بالمجموعة باستخدام kubectl. يمكنك الحصول على kubeconfig.json لنظام مجموعة AKS عن طريق تشغيل

ينطبق على:إضافة Azure CLI ml v1

az aks get-credentials -g <rg> -n <aks cluster name>

بعد فصل نظام المجموعة، إذا لم تكن هناك خدمة نشطة في نظام المجموعة، فيرجى حذف موارد azureml-fe ذات الصلة قبل إرفاقها مرة أخرى:

kubectl delete sa azureml-fe
kubectl delete clusterrole azureml-fe-role
kubectl delete clusterrolebinding azureml-fe-binding
kubectl delete svc azureml-fe
kubectl delete svc azureml-fe-int-http
kubectl delete deploy azureml-fe
kubectl delete secret azuremlfessl
kubectl delete cm azuremlfeconfig

يجب ألا تحتوي موازنات التحميل على عناوين IP عامة

عند محاولة إنشاء مجموعة AKS أو إرفاقها، قد تتلقى رسالة تفيد بأنه تم رفض الطلب لأن "موازنات التحميل يجب ألا تحتوي على عناوين IP عامة". يتم إرجاع هذه الرسالة عندما يقوم مسؤول بتطبيق نهج يمنع استخدام نظام مجموعة AKS مع عنوان IP عام.

لحل هذه المشكلة، قم بإنشاء/إرفاق نظام المجموعة باستخدام المعلمتين load_balancer_type وload_balancer_subnet. لمزيد من المعلومات، راجع موازن التحميل الداخلي (IP الخاص).

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