تمرين - إنشاء موارد Azure باستخدام Azure PowerShell باستخدام برنامج نصي
في هذه الوحدة، يمكنك متابعة مثال الشركة التي تطور أدوات مسؤول Linux. الهدف هو استخدام أجهزة Linux الظاهرية (VMs) للسماح للعملاء المحتملين باختبار برنامجك. مع إعداد مجموعة موارد بالفعل، حان الوقت لإنشاء الأجهزة الظاهرية.
قامت شركتك بتأمين كشك في معرض تجاري كبير على Linux. تخطط لإعداد منطقة تجريبية مع ثلاث محطات طرفية، كل منها متصل بجهاز Linux ظاهري منفصل. يجب حذف الأجهزة الظاهرية وإعادة إنشائها في نهاية كل يوم حتى تبدأ من جديد كل صباح. يعد إنشاء الأجهزة الظاهرية يدويا بعد يوم طويل عرضة للخطأ، لذلك تحتاج إلى كتابة برنامج نصي PowerShell لأتمتة عملية إنشاء الجهاز الظاهري.
إشعار
هذا التمرين اختياري. إذا كنت ترغب في إكمال هذا التمرين، فستحتاج إلى إنشاء اشتراك Azure قبل البدء. إذا لم يكن لديك حساب Azure أو كنت لا ترغب في إنشاء حساب في الوقت الحالي، فيمكنك قراءة الإرشادات حتى تفهم المعلومات التي يتم تقديمها.
قم بكتابة برنامج نصي لإنشاء الأجهزة الظاهرية
اتبع هذه الخطوات لكتابة برنامج نصي في Azure Cloud Shell الذي يقوم بأتمتة إنشاء الأجهزة الظاهرية.
إشعار
عادة ما تقوم بالمصادقة على Azure باستخدام بيانات الاعتماد الخاصة بك مع Connect-AzAccount، ولكن في Cloud Shell، تكون قد تمت مصادقتك بالفعل، لذلك هذه الخطوة غير ضرورية.
التبديل إلى المجلد الرئيسي:
Set-Location -Path $HOMEإنشاء ملف برنامج نصي PowerShell جديد:
New-Item -Name ConferenceDailyReset.ps1 -ItemType Fileافتح محرر Visual Studio Code (VS Code) المتكامل:
code ./ConferenceDailyReset.ps1تلميح
يدعم محرر Cloud Shell المتكامل أيضا vim وn nano و emacs إذا كنت تفضل استخدام أحد هؤلاء المحررين.
تعريف معلمة لاسم مجموعة الموارد الخاصة بك:
أضف السطر التالي إلى البرنامج النصي:
param ( [string]$ResourceGroupName )المطالبة ببيانات اعتماد مسؤول الجهاز الظاهري:
$adminCredential = Get-Credential -Message 'Enter a username and password for the VM administrator.'إنشاء حلقة لتنفيذ ثلاث مرات:
$vms = 'web','app','sql' foreach ($vm in $vms) { $vm }في التكرار الحلقي، قم بإعادة الاسم لكل جهاز ظاهري:
Write-Output "Creating VM: $vm"إنشاء جهاز ظاهري باستخدام
$vmالمتغير :$azVmParams = @{ ResourceGroupName = $ResourceGroupName Name = $vm Credential = $adminCredential Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest' OpenPorts = 22 } New-AzVm @azVmParamsاحفظ الملف:
لحفظ البرنامج النصي، استخدم قائمة سياق علامة الحذف (
...) في الزاوية العلوية اليسرى من المحرر أو اختصار لوحة المفاتيح Ctrl + S.
البرنامج النصي المكتمل
يجب أن يبدو البرنامج النصي المكتمل مثل المثال التالي:
param (
[string]$ResourceGroupName
)
$adminCredential = Get-Credential -Message 'Enter a username and password for the VM administrator.'
$vms = 'web','app','sql'
foreach ($vm in $vms) {
Write-Output "Creating VM: $vm"
$azVmParams = @{
ResourceGroupName = $ResourceGroupName
Name = $vm
Credential = $adminCredential
Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest'
OpenPorts = 22
}
New-AzVm @azVmParams
}
بمجرد تأكيد ظهور البرنامج النصي الخاص بك مثل التعليمات البرمجية في المثال السابق، أغلق المحرر باستخدام قائمة سياق علامة الحذف (...) في الزاوية العلوية اليسرى من المحرر، أو اختصار لوحة المفاتيح Ctrl +
Q .
تشغيل البرنامج النصي
تنفيذ البرنامج النصي باستخدام الأمر التالي:
./ConferenceDailyReset.ps1 -ResourceGroupName myResourceGroupNameانتظر حتى الانتهاء. يستغرق البرنامج النصي بضع دقائق ليكتمل.
تحقق من الأجهزة الظاهرية. بمجرد انتهاء البرنامج النصي، تحقق من اكتماله بنجاح عن طريق سرد الأجهزة الظاهرية في مجموعة الموارد:
Get-AzVM -ResourceGroupName myResourceGroupNameيجب أن تشاهد ثلاثة VMs، كل جهاز مع اسم مُميز.
لقد نجحت في إنشاء برنامج نصي يقوم بأتمتة إنشاء ثلاثة أجهزة ظاهرية، كل منها في مجموعة موارد معينة، ما يضمن استعدادها للعروض التوضيحية اليومية في المعرض التجاري. على الرغم من أن البرنامج النصي قصير ومباشر، فإنه يسرع بشكل كبير عملية قد تستغرق وقتا طويلا وعرضة للخطأ إذا تم إجراؤها يدويا من خلال مدخل Microsoft Azure.