مشاركة عبر


مرجع YAML: مثيلات حاوية Azure

تتناول هذه المقالة بنية وخصائص ملف YAML المدعوم بواسطة مثيلات Azure Container لتكوين container group. استخدم ملف YAML لإدخال تكوين المجموعة إلى الأمر az container createaz في Azure CLI.

يعد ملف YAML طريقة ملائمة لتكوين مجموعة حاويات لعمليات التوزيع القابلة للتكرار. إنه بديل موجز لاستخدام Resource Manager template أو حزم عدة تطوير البرامج لمثيلات حاوية Azure لإنشاء مجموعة حاويات أو تحديثها.

إشعار

ينطبق هذا المرجع على ملفات YAML لإصدار Azure Container Instances REST API رقم 2021-10-01.

مخطط

يتبع مخطط ملف YAML، بما في ذلك التعليقات لتمييز الخصائص الرئيسية. للحصول على وصف للخصائص في هذا المخطط، راجع قسم قيم Property.

name: string  # Name of the container group
apiVersion: '2021-10-01'
location: string
tags: {}
identity: 
  type: string
  userAssignedIdentities: {}
properties: # Properties of container group
  containers: # Array of container instances in the group
  - name: string # Name of an instance
    properties: # Properties of an instance
      image: string # Container image used to create the instance
      command:
      - string
      ports: # External-facing ports exposed on the instance, must also be set in group ipAddress property 
      - protocol: string
        port: integer
      environmentVariables:
      - name: string
        value: string
        secureValue: string
      resources: # Resource requirements of the instance
        requests:
          memoryInGB: number
          cpu: number
          gpu:
            count: integer
            sku: string
        limits:
          memoryInGB: number
          cpu: number
          gpu:
            count: integer
            sku: string
      volumeMounts: # Array of volume mounts for the instance
      - name: string
        mountPath: string
        readOnly: boolean
      livenessProbe:
        exec:
          command:
          - string
        httpGet:
          httpHeaders:
          - name: string
            value: string
          path: string
          port: integer
          scheme: string
        initialDelaySeconds: integer
        periodSeconds: integer
        failureThreshold: integer
        successThreshold: integer
        timeoutSeconds: integer
      readinessProbe:
        exec:
          command:
          - string
        httpGet:
          httpHeaders:
          - name: string
            value: string
          path: string
          port: integer
          scheme: string
        initialDelaySeconds: integer
        periodSeconds: integer
        failureThreshold: integer
        successThreshold: integer
        timeoutSeconds: integer
  imageRegistryCredentials: # Credentials to pull a private image
  - server: string
    username: string
    password: string
    identity: string
    identityUrl: string
  restartPolicy: string
  ipAddress: # IP address configuration of container group
    ports:
    - protocol: string
      port: integer
    type: string
    ip: string
    dnsNameLabel: string
    autoGeneratedDomainNameLabelScope: string
  osType: string
  volumes: # Array of volumes available to the instances
  - name: string
    azureFile:
      shareName: string
      readOnly: boolean
      storageAccountName: string
      storageAccountKey: string
    emptyDir: {}
    secret: {}
    gitRepo:
      directory: string
      repository: string
      revision: string
  diagnostics:
    logAnalytics:
      workspaceId: string
      workspaceKey: string
      workspaceResourceId: string
      logType: string
      metadata: {}
  subnetIds: # Subnet to deploy the container group into
    - id: string
      name: string
  dnsConfig: # DNS configuration for container group
    nameServers:
    - string
    searchDomains: string
    options: string
  sku: string # SKU for the container group
  encryptionProperties:
    vaultBaseUrl: string
    keyName: string
    keyVersion: string
  initContainers: # Array of init containers in the group
  - name: string
    properties:
      image: string
      command:
      - string
      environmentVariables:
      - name: string
        value: string
        secureValue: string
      volumeMounts:
      - name: string
        mountPath: string
        readOnly: boolean

قيم Property

تصف الجداول التالية القيم التي تحتاج إلى تعيينها في المخطط.

Microsoft.ContainerInstance/containerGroups object

Name نوع مطلوب القيمة‬
الاسم سلسلة ‏‏نعم‬ اسم مجموعة الحاوية.
apiVersion enum ‏‏نعم‬ 2021-10-01 (الأحدث) ، 2021-09-01، 2021-07-01، 2021-03-01، 2020-11-01، 2019-12-01، 2018-10-01، 2018-09-01، 2018-07-01، 2018-06-01، 2018-04-01
مكان سلسلة لا موقع المورد.
العلامات كائن لا علامات الموارد.
الهوية كائن لا هوية مجموعة الحاوية، إذا تم تكوينها. - كائن ContainerGroupIdentity
الخصائص كائن ‏‏نعم‬ كائن ContainerGroupProperties

كائن ContainerGroupIdentity

Name نوع مطلوب القيمة‬
النوع enum لا نوع الهوية المستخدمة لمجموعة الحاويات. يشتمل النوع "SystemAssigned، UserAssigned" على كل من هوية تم إنشاؤها ضمنيّاً ومجموعة من الهويات المعينة من قِبل المستخدم. يقوم النوع "بلا" بإزالة أي هويات من مجموعة الحاوية. - SystemAssigned, UserAssigned, SystemAssigned, UserAssigned, None
معرفات مستخدم معينة كائن لا قائمة هويات المستخدمين المرتبطة بمجموعة الحاوية. مراجع مفتاح قاموس هوية المستخدم هي معرفات موارد Azure Resource Manager في النموذج: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

كائن ContainerGroupProperties

Name نوع مطلوب القيمة‬
containers صفيف ‏‏نعم‬ الحاويات ضمن مجموعة الحاوية. - كائن الحاوية
imageRegistryCredentials صفيف لا بيانات اعتماد تسجيل الصورة التي يتم من خلالها إنشاء مجموعة الحاوية. - كائن ImageRegistryCredentials
restartPolicy enum لا أعد تشغيل النُهج لجميع الحاويات داخل مجموعة الحاوية. - Always إعادة التشغيل دائماً- OnFailure إعادة التشغيل عند الإخفاق- Never عدم إعادة التشغيل مطلقاً. - دائماً، عند الفشل، أبداً
ipAddress كائن لا نوع عنوان IP لمجموعة الحاوية. - كائن IpAddress
osType enum ‏‏نعم‬ نوع نظام التشغيل المطلوب بواسطة الحاويات في مجموعة الحاوية. - Windows أو Linux
وحدات التخزين صفيف لا قائمة وحدات التخزين التي يمكن للحاويات في مجموعة الحاويات هذه تحميلها. - كائن وحدة التخزين
diagnostics كائن لا المعلومات التشخيصية لمجموعة الحاويات. - كائن ContainerGroups Diagnostics
subnetIds كائن لا معلومات الشبكة الفرعية الخاصة بمجموعة حاوية. - عنصر معرفات الشبكة الفرعية لمجموعة حاوية
dnsConfig كائن لا معلومات تكوين DNS لمجموعة الحاويات. - كائن DnsConfiguration
sku enum لا SKU لمجموعة الحاويات - قياسي أو مخصص
encryptionProperties كائن لا خصائص التشفير لمجموعة الحاويات. - كائن خصائص التشفير
initContainers صفيف لا حاويات init لمجموعة الحاويات. - كائن تعريف InitContainers

كائن الحاوية

Name نوع مطلوب القيمة‬
الاسم سلسلة ‏‏نعم‬ الاسم الذي يوفره المستخدم لطبعة الحاوية.
الخصائص كائن ‏‏نعم‬ خصائص مثيل الحاوية. - كائن ContainerProperties

كائن ImageRegistryCredentials

Name نوع مطلوب القيمة‬
الخادم سلسلة ‏‏نعم‬ خادم تسجيل صور Docker دون بروتوكول مثل "http" و"https".
اسم المستخدم سلسلة لا اسم المستخدم للتسجيل الخاص.
كلمة المرور سلسلة لا كلمة المرور الخاصة بالسجل الخاص.
الهوية سلسلة لا معرف المورد للمستخدم أو الهوية المدارة المعينة بواسطة النظام المستخدمة للمصادقة.
identityUrl سلسلة لا عنوان موقع ويب الهوية للسجل الخاص.

كائن IpAddress

Name نوع مطلوب القيمة‬
منافذ صفيف ‏‏نعم‬ قائمة المنافذ المعروضة في مجموعة الحاوية. - كائن المنفذ
النوع enum ‏‏نعم‬ يحدد ما إذا كان IP معرضا للإنترنت العام أو الشبكة الظاهرية الخاصة. - عام أو خاص
IP سلسلة لا تعرض IP للإنترنت العام.
dnsNameLabel سلسلة لا تسمية اسم نظام أسماء النطاقات لعنوان IP.

كائن وحدة التخزين

Name نوع مطلوب القيمة‬
الاسم سلسلة ‏‏نعم‬ اسم المجلد.
azureFile كائن لا حجم ملف Azure. - كائن AzureFileVolume
emptyDir كائن لا حجم الدليل الفارغ.
سري كائن لا الحجم السري.
gitRepo كائن لا حجم git repo. - كائن GitRepoVolume

كائن ContainerGroupDiagnostics

Name نوع مطلوب القيمة‬
logAnalytics كائن لا معلومات تحليلات سجل مجموعة الحاوية. - كائن LogAnalytics

عنصر معرفات الشبكة الفرعية لمجموعة حاوية

Name نوع مطلوب القيمة‬
المعرف سلسلة ‏‏نعم‬ معرف الخاص بشبكة فرعية.
الاسم string لا اسم الشبكة الفرعية.

كائن تكوين نظام أسماء النطاقات

Name نوع مطلوب القيمة‬
nameServers صفيف ‏‏نعم‬ خوادم DNS لمجموعة الحاوية. - سلسلة
searchDomains سلسلة لا مجالات بحث DNS للبحث عن اسم المضيف في مجموعة الحاوية.
خيارات سلسلة لا خيارات DNS لمجموعة الحاوية.

كائن خصائص التشفير

Name نوع مطلوب القيمة‬
vaultBaseUrl سلسلة ‏‏نعم‬ عنوان url الأساسي keyvault.
keyName سلسلة ‏‏نعم‬ اسم مفتاح التشفير.
keyVersion سلسلة ‏‏نعم‬ إصدار مفتاح التشفير.

كائن تعريف InitContainers

Name نوع مطلوب القيمة‬
الاسم سلسلة ‏‏نعم‬ اسم حاوية البادئة.
الخصائص كائن ‏‏نعم‬ خصائص حاوية init. - كائن InitContainerPropertiesDefinition

كائن ContainerProperties

Name نوع مطلوب القيمة‬
صورة سلسلة ‏‏نعم‬ اسم الصورة المستخدمة لإنشاء مثيل الحاوية.
الأمر صفيف لا الأوامر المراد تنفيذها داخل طبعة الحاوية في شكل exec. - سلسلة
منافذ صفيف لا المنافذ المكشوفة على مثيل الحاوية. - كائن ContainerPort
environmentVariables صفيف لا متغيرات البيئة المطلوب تعيينها في مثيل الحاوية. - كائن متغير البيئة
موارد كائن ‏‏نعم‬ متطلبات الموارد لمثيل الحاوية. - كائن ResourceRequirements
volumeMounts صفيف لا وحدات التخزين المتاحة لمثيل الحاوية. - كائن VolumeMount
livenessProbe كائن لا مسبار الحياة. - كائن ContainerProbe
readinessProbe كائن لا مسبار الجاهزية. - كائن ContainerProbe

كائن المنفذ

Name نوع مطلوب القيمة‬
البروتوكول enum لا البروتوكول المرتبط بالمنفذ. - TCP أو UDP
المنفذ integer ‏‏نعم‬ رقم المنفذ.

كائن AzureFileVolume

Name نوع مطلوب القيمة‬
shareName سلسلة ‏‏نعم‬ يتم تحميل اسم مشاركة ملف Azure كوحدة تخزين.
readOnly boolean لا الإشارة التي تشير إلى ما إذا كان ملف Azure المشترك مثبتاً كوحدة تخزين للقراءة فقط.
storageAccountName سلسلة ‏‏نعم‬ اسم حساب التخزين الذي يحتوي على مشاركة ملف Azure.
storageAccountKey سلسلة لا مفتاح الوصول إلى حساب التخزين المستخدم للوصول إلى مشاركة ملف Azure.

كائن GitRepoVolume

Name نوع مطلوب القيمة‬
الدليل سلسلة لا اسم الدليل الهدف. يجب ألا يحتوي أو يبدأ بـ "..". إذا تم توفير '.'، فإن دليل وحدة التخزين هو مستودع git. وإلا، إذا تم تحديده، يحتوي وحدة التخزين على مستودع git في الدليل الفرعي بالاسم المحدد.
المستودع سلسلة ‏‏نعم‬ عنوان Url الخاص بالمستودع
revision سلسلة لا تنفيذ التجزئة للمراجعة المحددة.

كائن LogAnalytics

Name نوع مطلوب القيمة‬
workspaceId سلسلة ‏‏نعم‬ معرف مساحة عمل لتحليلات السجل
workspaceKey سلسلة ‏‏نعم‬ مفتاح مساحة العمل لتحليلات السجل
workspaceResourceId سلسلة لا معرف مورد مساحة عمل لتحليلات السجل
logType enum لا نوع السجل الذي سيتم استخدامه. - رؤى الحاوية أو سجلات مثيلات الحاوية
بيانات التعريف كائن لا بيانات التعريف لتحليلات السجل.

كائن InitContainerPropertiesDefinition

Name نوع مطلوب القيمة‬
صورة سلسلة لا صورة حاوية البادئة.
الأمر صفيف لا الأمر المطلوب تنفيذه داخل حاوية init في شكل exec. - سلسلة
environmentVariables صفيف لا متغيرات البيئة المطلوب تعيينها في حاوية init. - كائن متغير البيئة
volumeMounts صفيف لا وحدات التخزين المتاحة لحاوية البادئة. - كائن VolumeMount

كائن ContainerPort

Name نوع مطلوب القيمة‬
البروتوكول enum لا البروتوكول المرتبط بالمنفذ. - TCP أو UDP
المنفذ integer ‏‏نعم‬ رقم المنفذ المعروض داخل مجموعة الحاوية.

كائن EnvironmentVariable

Name نوع مطلوب القيمة‬
الاسم سلسلة ‏‏نعم‬ اسم متغير البيئة.
قيمة سلسلة لا قيمة متغير بيئة .
secureValue سلسلة لا قيمة متغير البيئة الآمنة.

كائن ResourceRequirements

Name نوع مطلوب القيمة‬
الطلبات كائن ‏‏نعم‬ طلبات الموارد لمثيل الحاوية هذا. - كائن ResourceRequests
limits كائن لا حدود الموارد لمثيل الحاوية هذا. - كائن ResourceLimits

كائن VolumeMount

Name نوع مطلوب القيمة‬
الاسم سلسلة ‏‏نعم‬ اسم وحدة التخزين.
mountPath سلسلة ‏‏نعم‬ المسار داخل الحاوية حيث يجب تركيب الحجم. يجب ألا يحتوي على نقطتين (:).
readOnly boolean لا الإشارة التي تشير إلى ما إذا كان تحميل وحدة التخزين للقراءة فقط.

كائن ContainerProbe

Name نوع مطلوب القيمة‬
exec كائن لا أمر التنفيذ المراد فحصه - كائن ContainerExec
httpGet كائن لا الحصول على إعدادات Http للتحقيق - كائن ContainerHttpGet
initialDelaySeconds عدد صحيح لا ثواني التأخير الأولي.
periodSeconds عدد صحيح لا الثواني الفترة.
failureThreshold عدد صحيح لا عتبة الفشل.
successThreshold عدد صحيح لا عتبة النجاح.
timeoutSeconds عدد صحيح لا ثواني المهلة.

كائن ResourceRequests

Name نوع مطلوب القيمة‬
memoryInGB رقم ‏‏نعم‬ طلب الذاكرة بالجيجابايت لمثيل الحاوية هذا.
cpu رقم ‏‏نعم‬ طلب وحدة المعالجة المركزية لمثيل الحاوية هذا.
gpu كائن لا طلب وحدة المعالجة المركزية لمثيل الحاوية هذا. - كائن GpuResource

كائن ResourceLimits

Name نوع مطلوب القيمة‬
memoryInGB رقم لا حد الذاكرة بالجيجابايت لمثيل الحاوية هذا.
cpu رقم لا حد CPU لمثيل الحاوية هذا.
gpu كائن لا حد GPU لمثيل الحاوية هذا. - كائن GpuResource

كائن ContainerExec

Name نوع مطلوب القيمة‬
الأمر صفيف لا الأوامر المراد تنفيذها داخل الحاوية. - سلسلة

كائن ContainerHttpGet

Name نوع مطلوب القيمة‬
path سلسلة لا الطريق إلى التحقيق.
المنفذ integer ‏‏نعم‬ رقم المنفذ المراد فحصه.
scheme enum لا المخطط. - http أو https
httpHeaders كائن لا عناوين HTTP المدرجة في التحقيق. - HttpHeaders object

HttpHeaders object

Name نوع مطلوب القيمة‬
الاسم string لا اسم العنوان.
قيمة سلسلة لا قيمة العنوان.

هام

K80 وP100 GPU SKUs ستتوقف بحلول 31 أغسطس 2023. ويرجع ذلك إلى إيقاف الأجهزة الظاهرية الأساسية المستخدمة: سلسلة NC وسلسلة NCv2 على الرغم من توفر وحدات SKU V100، يتم إعادة تحديدها لاستخدام خدمة Azure Kubernetes بدلا من ذلك. موارد وحدة معالجة الرسومات غير مدعومة بالكامل ولا ينبغي استخدامها لأحمال عمل الإنتاج. استخدم الموارد التالية للترحيل إلى AKS اليوم: كيفية الترحيل إلى AKS.

كائن GpuResource

Name نوع مطلوب القيمة‬
عدد integer ‏‏نعم‬ عدد موارد وحدة GPU معالجة الرسومات.
sku enum ‏‏نعم‬ SKU لمورد GPU. - V100

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

راجع البرنامج التعليمي نشر مجموعة متعددة الحاويات باستخدام ملف YAML.

شاهد أمثلة على استخدام ملف YAML لنشر مجموعات الحاويات في شبكة ظاهرية أو تحميل على حجم خارجي.