مشاركة عبر


البرنامج التعليمي: إنشاء صورة مخصصة واستخدامها لمجموعات مقياس الجهاز الظاهري باستخدام Azure PowerShell

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

  • إنشاء معرض الحساب في Azure
  • إنشاء تعريف للصورة
  • إنشاء إصدار صورة
  • إنشاء مجموعة مقاييس من صورة
  • مشاركة معرض صور

في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

إطلاق Azure Cloud Shell

Azure Cloud Shell هو shell تفاعلية مجانية التي يمكنك استخدامها لتشغيل الخطوات في هذه المقالة. يحتوي على أدوات Azure الشائعة المثبتة مسبقًا والمهيئة للاستخدام مع حسابك.

لفتح Cloud Shell، ما عليك سوى تحديد جربه من الزاوية اليمنى العليا من مجموعة التعليمات البرمجية. يمكنك أيضًا تشغيل Cloud Shell في علامة تبويب مستعرض منفصلة بالانتقال إلى https://shell.azure.com/powershell. حدد "Copy" لنسخ كتل التعليمة البرمجية، ولصقها في Cloud Shell، ثم اضغط على "enter" لتشغيلها.

إنشاء جهاز ظاهري مصدر وتكوينه

أولا، قم بإنشاء مجموعة موارد باستخدام New-AzResourceGroup، ثم قم بإنشاء جهاز ظاهري باستخدام New-AzVM. ثم يتم استخدام هذا الجهاز الظاهري كمصدر للصورة. ينشئ المثال التالي جهازا ظاهريا باسم myVM في مجموعة الموارد المسماة myResourceGroup:

New-AzResourceGroup -Name 'myResourceGroup' -Location 'EastUS'

New-AzVm `
   -ResourceGroupName 'myResourceGroup' `
   -Name 'myVM' `
   -Location 'East US' `
   -VirtualNetworkName 'myVnet' `
   -SubnetName 'mySubnet' `
   -SecurityGroupName 'myNetworkSecurityGroup' `
   -PublicIpAddressName 'myPublicIpAddress' `
   -OpenPorts 80,3389

تخزين متغير الجهاز الظاهري

يمكنك رؤية قائمة بالأجهزة الظاهرية المتوفرة في مجموعة موارد باستخدام Get-AzVM. بمجرد معرفة اسم الجهاز الظاهري ومجموعة الموارد، يمكنك استخدامه Get-AzVM مرة أخرى للحصول على كائن الجهاز الظاهري وتخزينه في متغير لاستخدامه لاحقا. يحصل هذا المثال على جهاز ظاهري يسمى myVM من مجموعة موارد "myResourceGroup" ويعينه إلى المتغير $vm.

$sourceVM = Get-AzVM `
   -Name myVM `
   -ResourceGroupName myResourceGroup

معرض الصور هو المورد الأساسي المستخدم لتمكين مشاركة الصور. الأحرف المسموح بها لاسم المعرض هي الأحرف الكبيرة أو الصغيرة والأرقام والنقاط والنقاط. لا يمكن أن يحتوي اسم المعرض على شرطات. يجب أن تكون أسماء المعرض فريدة عند اشتراكك.

قم بإنشاء معرض صور باستخدام New-AzGallery. ينشئ المثال التالي معرضا باسم myGallery في مجموعة موارد myGalleryRG .

$resourceGroup = New-AzResourceGroup `
   -Name 'myGalleryRG' `
   -Location 'EastUS'

$gallery = New-AzGallery `
   -GalleryName 'myGallery' `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $resourceGroup.Location `
   -Description 'Azure Compute Gallery for my organization'	

إنشاء تعريف للصورة

تنشئ تعريفات الصور تجميعًا منطقيًا للصور. يتم استخدامها لإدارة معلومات حول إصدارات الصور التي يتم إنشاؤها داخلها. يمكن أن تتكون أسماء تعريف الصور من أحرف كبيرة أو صغيرة وأرقام ونقاط وشرطات ونقاط. لمزيدٍ من المعلومات حول القيم التي يمكنك تحديدها لتعريف صورة، راجع Image definitions.

قم بإنشاء تعريف الصورة باستخدام New-AzGalleryImageDefinition. في هذا المثال، يتم تسمية صورة المعرض باسم myGalleryImage ويتم إنشاؤها لصورة متخصصة.

$galleryImage = New-AzGalleryImageDefinition `
   -GalleryName $gallery.Name `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $gallery.Location `
   -Name 'myImageDefinition' `
   -OsState specialized `
   -OsType Windows `
   -Publisher 'myPublisher' `
   -Offer 'myOffer' `
   -Sku 'mySKU'

إنشاء إصدار صورة

قم بإنشاء إصدار صورة من جهاز ظاهري باستخدام New-AzGalleryImageVersion.

الأحرف المسموح بها لإصدار الصورة هي الأرقام والنقاط. يجب أن تكون الأرقام ضمن نطاق عدد صحيح 32 بت. التنسيق: MajorVersion.MinorVersion.Patch.

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

لإنشاء إصدار صورة من الجهاز الظاهري، استخدم $vm.Id.ToString() ملف -Source.

$region1 = @{Name='South Central US';ReplicaCount=1}
$region2 = @{Name='East US';ReplicaCount=2}
$targetRegions = @($region1,$region2)

New-AzGalleryImageVersion `
   -GalleryImageDefinitionName $galleryImage.Name`
   -GalleryImageVersionName '1.0.0' `
   -GalleryName $gallery.Name `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $resourceGroup.Location `
   -TargetRegion $targetRegions  `
   -Source $sourceVM.Id.ToString() `
   -PublishingProfileEndOfLifeDate '2023-12-01'

قد يستغرق نسخ الصورة إلى جميع المناطق المستهدفة بعض الوقت.

إنشاء مجموعة مقياس من الصورة

الآن قم بإنشاء مجموعة مقياس باستخدام New-AzVmss التي تستخدم المعلمة -ImageName لتحديد صورة الجهاز الظاهري المخصصة التي تم إنشاؤها في الخطوة السابقة. يُنشأ موازن تحميل أيضاً لتوزيع النقل على مثيلات أجهزة ظاهرية متعددة. يتضمن موازن التحميل قواعد لتوزيع حركة المرور على منفذ TCP 80، بالإضافة إلى السماح بحركة مرور سطح المكتب البعيد على منفذ TCP 3389 وPowerShell بعد من الكلمة على منفذ TCP 5985. عند المطالبة، قم بتوفير بيانات الاعتماد الإدارية المطلوبة لمثيلات الجهاز الظاهري في مجموعة المقياس:

هام

بدءا من نوفمبر 2023، سيتم تعيين مجموعات مقياس الجهاز الظاهري التي تم إنشاؤها باستخدام PowerShell وAzure CLI افتراضيا إلى وضع التنسيق المرن إذا لم يتم تحديد وضع التزامن. لمزيد من المعلومات حول هذا التغيير والإجراءات التي يجب اتخاذها، انتقل إلى كسر التغيير لعملاء VMSS PowerShell/CLI - مركز مجتمع Microsoft

# Define variables for the scale set
$resourceGroupName = "myScaleSet"
$scaleSetName = "myScaleSet"
$location = "East US"

# Create a resource group
New-AzResourceGroup -ResourceGroupName $resourceGroupName -Location $location

# Create a configuration 
$vmssConfig = New-AzVmssConfig `
   -Location $location `
   -OrchestrationMode Flexible `
   -SkuCapacity 2 `
   -SkuName "Standard_D2s_v3"

# Reference the image version
Set-AzVmssStorageProfile $vmssConfig `
  -OsDiskCreateOption "FromImage" `
  -ImageReferenceId $galleryImage.Id

# Create the scale set 
New-AzVmss `
  -ResourceGroupName $resourceGroupName `
  -Name $scaleSetName `
  -VirtualMachineScaleSet $vmssConfig

يستغرق الأمر بضع دقائق لإنشاء وتكوين جميع موارد مجموعة المقياس والأجهزة الافتراضية.

نوصي بمشاركة الوصول على مستوى معرض الصور. استخدم عنوان بريد إلكتروني وGet-AzADUser cmdlet للحصول على معرف الكائن للمستخدم، ثم استخدم New-AzRoleAssignment لمنحهم حق الوصول إلى المعرض. استبدل مثال البريد الإلكتروني، alinne_montes@contoso.com في هذا المثال، بمعلوماتك الخاصة.

# Get the object ID for the user
$user = Get-AzADUser -StartsWith alinne_montes@contoso.com
# Grant access to the user for our gallery
New-AzRoleAssignment `
   -ObjectId $user.Id `
   -RoleDefinitionName Reader `
   -ResourceName $gallery.Name `
   -ResourceType Microsoft.Compute/galleries `
   -ResourceGroupName $resourceGroup.ResourceGroupName

تنظيف الموارد

عندما لا تكون هناك حاجة إلى ذلك، يمكنك استخدام الأمر cmdlet Remove-AzResourceGroup لإزالة مجموعة الموارد، وجميع الموارد ذات الصلة:

# Delete the gallery 
Remove-AzResourceGroup -Name myGalleryRG

# Delete the scale set resource group
Remove-AzResourceGroup -Name myResoureceGroup

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

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

  • إنشاء معرض الحساب في Azure
  • إنشاء تعريف للصورة
  • إنشاء إصدار صورة
  • إنشاء مجموعة مقاييس من صورة
  • مشاركة معرض صور

انتقل إلى البرنامج التعليمي التالي لمعرفة كيفية نشر التطبيقات في مجموعة المقياس الخاصة بك.