تتناول هذه المقالة بنية وخصائص ملف 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
كائن 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
كائن 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 |
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 لنشر مجموعات الحاويات في شبكة ظاهرية أو تحميل على حجم خارجي.