إدارة جهاز Azure Stack Edge Pro GPU عبر Windows PowerShell
ينطبق على:Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
يتيح لك حل Azure Stack Edge Pro GPU معالجة البيانات وإرسالها عبر الشبكة إلى Azure. توضح هذه المقالة بعض مهام التكوين والإدارة لجهاز Azure Stack Edge Pro GPU. يمكنك استخدام مدخل Microsoft Azure أو واجهة مستخدم الويب المحلية أو واجهة Windows PowerShell لإدارة جهازك.
تركز هذه المقالة على كيفية الاتصال بواجهة PowerShell للجهاز والمهام التي يمكنك القيام بها باستخدام هذه الواجهة.
الاتصال إلى واجهة PowerShell
اعتمادا على نظام تشغيل العميل، تختلف إجراءات الاتصال عن بعد بالجهاز.
الاتصال عن بعد من عميل Windows
المتطلبات الأساسية
قبل البدء، تأكد من:
يقوم عميل Windows بتشغيل Windows PowerShell 5.0 أو إصدار أحدث.
يحتوي عميل Windows على سلسلة التوقيع (شهادة الجذر) المقابلة لشهادة العقدة المثبتة على الجهاز. للحصول على إرشادات مفصلة، راجع تثبيت الشهادة على عميل Windows.
يحتوي
hosts
الملف الموجود فيC:\Windows\System32\drivers\etc
لعميل Windows على إدخال مطابق لشهادة العقدة بالتنسيق التالي:<Device IP> <Node serial number>.<DNS domain of the device>
فيما يلي مثال لإدخال الملف
hosts
:10.100.10.10 1HXQG13.wdshcsso.com
الخطوات التفصيلية
اتبع هذه الخطوات للاتصال عن بعد من عميل Windows.
ابدأ في جلسة Windows PowerShell كمسؤول.
تأكد من تشغيل خدمة Windows Remote Management على عميل. في نافذة موجه الأوامر، يُرجى كتابة:
winrm quickconfig
لمزيد من المعلومات، راجع التثبيت والتكوين لإدارة Windows عن بعد.
تعيين متغير إلى سلسلة الاتصال المستخدمة في
hosts
الملف.$Name = "<Node serial number>.<DNS domain of the device>"
استبدل
<Node serial number>
و<DNS domain of the device>
بالرقم التسلسلي للعقدة ومجال DNS لجهازك. يمكنك الحصول على قيم الرقم التسلسلي للعقدة من صفحة الشهادات ومجال DNS من صفحة الجهاز في واجهة مستخدم الويب المحلية لجهازك.لإضافة سلسلة الاتصال هذه لجهازك إلى قائمة المضيفين الموثوق بهم للعميل، اكتب الأمر التالي:
Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force
ابدأ جلسة Windows PowerShell على الجهاز:
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL
إذا رأيت خطأ متعلقًا بعلاقة الثقة، فتحقق مما إذا كانت سلسلة توقيع شهادة العقدة التي تم تحميلها إلى جهازك مثبتة أيضًا على العميل الذي يصل إلى جهازك.
أدخل كلمة المرور عند المطالبة. استخدم نفس كلمة المرور المستخدمة لتسجيل الدخول إلى واجهة مستخدم ويب المحلية. كلمة مرور واجهة مستخدم الويب المحلية الافتراضية هي Password1. عند الاتصال بنجاح بالجهاز باستخدام PowerShell البعيد، سترى نموذج الإخراج التالي:
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. PS C:\WINDOWS\system32> winrm quickconfig WinRM service is already running on this machine. PS C:\WINDOWS\system32> $Name = "1HXQG13.wdshcsso.com" PS C:\WINDOWS\system32> Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force PS C:\WINDOWS\system32> Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL WARNING: The Windows PowerShell interface of your device is intended to be used only for the initial network configuration. Please engage Microsoft Support if you need to access this interface to troubleshoot any potential issues you may be experiencing. Changes made through this interface without involving Microsoft Support could result in an unsupported configuration. [1HXQG13.wdshcsso.com]: PS>
عند استخدام -UseSSL
الخيار ، كنت عن بعد عبر PowerShell عبر https. نوصي دائما باستخدام https للاتصال عن بعد عبر PowerShell. ضمن الشبكات الموثوق بها، يعد الاتصال عن بعد عبر PowerShell عبر http مقبولا. يمكنك أولا تمكين PowerShell البعيد عبر http في واجهة المستخدم المحلية. ثم يمكنك الاتصال بواجهة PowerShell للجهاز باستخدام الإجراء السابق دون -UseSSL
الخيار.
إذا كنت لا تستخدم الشهادات (نوصي باستخدام الشهادات!)، يمكنك تخطي التحقق من صحة الشهادة باستخدام خيارات الجلسة: -SkipCACheck -SkipCNCheck -SkipRevocationCheck
.
$sessOptions = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL -SessionOption $sessOptions
فيما يلي مثال على الإخراج عند تخطي التحقق من الشهادة:
PS C:\WINDOWS\system32> $Name = "1HXQG13.wdshcsso.com"
PS C:\WINDOWS\system32> $sessOptions = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
PS C:\WINDOWS\system32> $sessOptions
MaximumConnectionRedirectionCount : 5
NoCompression : False
NoMachineProfile : False
ProxyAccessType : None
ProxyAuthentication : Negotiate
ProxyCredential :
SkipCACheck : True
SkipCNCheck : True
SkipRevocationCheck : True
OperationTimeout : 00:03:00
NoEncryption : False
UseUTF16 : False
IncludePortInSPN : False
OutputBufferingMode : None
MaxConnectionRetryCount : 0
Culture :
UICulture :
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize :
ApplicationArguments :
OpenTimeout : 00:03:00
CancelTimeout : 00:01:00
IdleTimeout : -00:00:00.0010000
PS C:\WINDOWS\system32> Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL -SessionOption $sessOptions
WARNING: The Windows PowerShell interface of your device is intended to be used only for the initial network configuration. Please
engage Microsoft Support if you need to access this interface to troubleshoot any potential issues you may be experiencing.
Changes made through this interface without involving Microsoft Support could result in an unsupported configuration.
[1HXQG13.wdshcsso.com]: PS>
هام
في الإصدار الحالي، يمكنك الاتصال بواجهة PowerShell للجهاز فقط عبر عميل Windows. -UseSSL
لا يعمل الخيار مع عملاء Linux.
إنشاء حزمة دعم
إذا واجهت أي مشكلات في الجهاز، يمكنك إنشاء حزمة دعم من سجلات النظام. يستخدم دعم Microsoft هذه الحزمة لاستكشاف المشكلات وإصلاحها. اتبع هذه الخطوات لإنشاء حزمة دعم:
Get-HcsNodeSupportPackage
استخدم الأمر لإنشاء حزمة دعم. استخدام cmdlet كما يلي:Get-HcsNodeSupportPackage [-Path] <string> [-Zip] [-ZipFileName <string>] [-Include {None | RegistryKeys | EtwLogs | PeriodicEtwLogs | LogFiles | DumpLog | Platform | FullDumps | MiniDumps | ClusterManagementLog | ClusterLog | UpdateLogs | CbsLogs | StorageCmdlets | ClusterCmdlets | ConfigurationCmdlets | KernelDump | RollbackLogs | Symbols | NetworkCmdlets | NetworkCmds | Fltmc | ClusterStorageLogs | UTElement | UTFlag | SmbWmiProvider | TimeCmds | LocalUILogs | ClusterHealthLogs | BcdeditCommand | BitLockerCommand | DirStats | ComputeRolesLogs | ComputeCmdlets | DeviceGuard | Manifests | MeasuredBootLogs | Stats | PeriodicStatLogs | MigrationLogs | RollbackSupportPackage | ArchivedLogs | Default}] [-MinimumTimestamp <datetime>] [-MaximumTimestamp <datetime>] [-IncludeArchived] [-IncludePeriodicStats] [-Credential <pscredential>] [<CommonParameters>]
يجمع cmdlet السجلات من جهازك وينسخ هذه السجلات إلى شبكة محددة أو مشاركة محلية محددة.
المعلمات المستخدمة هي كما يلي:
-Path
- حدد الشبكة أو المسار المحلي لنسخ حزمة الدعم إليها. (مطلوب)-Credential
- حدد بيانات الاعتماد للوصول إلى المسار المحمي.-Zip
- حدد لإنشاء ملف مضغوط.-Include
- حدد لتضمين المكونات التي سيتم تضمينها في حزمة الدعم. إذا لم يتم تحديده،Default
فيفترض.-IncludeArchived
- حدد لتضمين السجلات المؤرشفة في حزمة الدعم.-IncludePeriodicStats
- حدد لتضمين سجلات الإحصائيات الدورية في حزمة الدعم.
عرض معلومات الجهاز
الاتصال إلى واجهة PowerShell.
Get-HcsApplianceInfo
استخدم للحصول على المعلومات لجهازك.يوضح المثال التالي استخدام cmdlet هذا:
[10.100.10.10]: PS>Get-HcsApplianceInfo Id : b2044bdb-56fd-4561-a90b-407b2a67bdfc FriendlyName : DBE-NBSVFQR94S6 Name : DBE-NBSVFQR94S6 SerialNumber : HCS-NBSVFQR94S6 DeviceId : 40d7288d-cd28-481d-a1ea-87ba9e71ca6b Model : Virtual FriendlySoftwareVersion : Data Box Gateway 1902 HcsVersion : 1.4.771.324 IsClustered : False IsVirtual : True LocalCapacityInMb : 1964992 SystemState : Initialized SystemStatus : Normal Type : DataBoxGateway CloudReadRateBytesPerSec : 0 CloudWriteRateBytesPerSec : 0 IsInitialPasswordSet : True FriendlySoftwareVersionNumber : 1902 UploadPolicy : All DataDiskResiliencySettingName : Simple ApplianceTypeFriendlyName : Data Box Gateway IsRegistered : False
فيما يلي جدول يلخص بعض معلومات الجهاز المهمة:
المعلمة الوصف اسم مألوف الاسم المألوف للجهاز كما تم تكوينه من خلال واجهة مستخدم الويب المحلية أثناء نشر الجهاز. الاسم المألوف الافتراضي هو الرقم التسلسلي للجهاز. SerialNumber الرقم التسلسلي للجهاز هو رقم فريد تم تعيينه في المصنع. النموذج نموذج جهاز Azure Stack Edge أو Data Box Gateway. النموذج فعلي ل Azure Stack Edge والظاهري ل Data Box Gateway. FriendlySoftwareVersion السلسلة المألوفة التي تتوافق مع إصدار برنامج الجهاز. بالنسبة إلى معاينة النظام قيد التشغيل، سيكون إصدار البرنامج المألوف Data Box Edge 1902. HcsVersion إصدار برنامج HCS قيد التشغيل على جهازك. على سبيل المثال، إصدار برنامج HCS المطابق ل Data Box Edge 1902 هو 1.4.771.324. LocalCapacityInMb إجمالي السعة المحلية للجهاز في Megabits. IsRegistered تشير هذه القيمة إلى ما إذا تم تنشيط جهازك باستخدام الخدمة.
عرض معلومات برنامج تشغيل GPU
إذا تم تكوين دور الحساب على جهازك، يمكنك أيضا الحصول على معلومات برنامج تشغيل GPU عبر واجهة PowerShell.
الاتصال إلى واجهة PowerShell.
Get-HcsGpuNvidiaSmi
استخدم للحصول على معلومات برنامج تشغيل GPU لجهازك.يوضح المثال التالي استخدام cmdlet هذا:
Get-HcsGpuNvidiaSmi
دون معلومات برنامج التشغيل من إخراج نموذج cmdlet هذا.
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 440.64.00 Driver Version: 440.64.00 CUDA Version: 10.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla T4 On | 000029CE:00:00.0 Off | 0 | | N/A 60C P0 29W / 70W | 1539MiB / 15109MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 Tesla T4 On | 0000AD50:00:00.0 Off | 0 | | N/A 58C P0 29W / 70W | 330MiB / 15109MiB | 0% Default | +-------------------------------+----------------------+----------------------+
تمكين خدمة متعددة العمليات (MPS)
توفر خدمة متعددة العمليات (MPS) على وحدات معالجة الرسومات Nvidia آلية حيث يمكن مشاركة وحدات معالجة الرسومات من خلال وظائف متعددة، حيث يتم تخصيص بعض النسبة المئوية من موارد وحدة معالجة الرسومات لكل وظيفة. MPS هي ميزة معاينة على جهاز Azure Stack Edge Pro GPU. لتمكين MPS على جهازك، اتبع الخطوات التالية:
قبل البدء، تأكد من:
- لقد قمت بتكوين جهاز Azure Stack Edge Pro وتنشيطه باستخدام مورد Azure Stack Edge في Azure.
- لقد قمت بتكوين الحساب على هذا الجهاز في مدخل Microsoft Azure.
الاتصال إلى واجهة PowerShell.
استخدم الأمر التالي لتمكين MPS على جهازك.
Start-HcsGpuMPS
إشعار
عند تحديث برنامج الجهاز وكتلة Kubernetes، لا يتم الاحتفاظ بإعداد MPS لأحمال العمل. ستحتاج إلى تمكين MPS مرة أخرى.
إعادة ضبط جهازك
لإعادة ضبط جهازك، تحتاج إلى مسح جميع البيانات الموجودة على قرص البيانات وقرص التمهيد لجهازك بشكل آمن.
Reset-HcsAppliance
استخدم cmdlet لمسح كل من أقراص البيانات وقرص التمهيد أو أقراص البيانات فقط. SecureWipeBootDisk
تسمح لك مفاتيح التبديل و SecureWipeDataDisks
بمسح قرص التمهيد وأقراص البيانات على التوالي.
يقوم SecureWipeBootDisk
مفتاح التبديل بمسح قرص التمهيد ويجعل الجهاز غير قابل للاستخدام. يجب استخدامه فقط عندما يحتاج الجهاز إلى إرجاعه إلى Microsoft. لمزيد من المعلومات، راجع إرجاع الجهاز إلى Microsoft.
إذا كنت تستخدم إعادة تعيين الجهاز في واجهة مستخدم الويب المحلية، يتم مسح أقراص البيانات فقط بشكل آمن ولكن يتم الاحتفاظ بقرص التمهيد كما هو. يحتوي قرص التمهيد على تكوين الجهاز.
الاتصال إلى واجهة PowerShell.
في نافذة موجه الأوامر، يُرجى كتابة:
Reset-HcsAppliance -SecureWipeBootDisk -SecureWipeDataDisks
يوضح المثال التالي كيفية استخدام cmdlet هذا:
[10.128.24.33]: PS>Reset-HcsAppliance -SecureWipeBootDisk -SecureWipeDataDisks Confirm Are you sure you want to perform this action? Performing the operation "Reset-HcsAppliance" on target "ShouldProcess appliance". [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): N
الحصول على سجلات الحوسبة
إذا تم تكوين دور الحساب على جهازك، يمكنك أيضا الحصول على سجلات الحوسبة عبر واجهة PowerShell.
الاتصال إلى واجهة PowerShell.
Get-AzureDataBoxEdgeComputeRoleLogs
استخدم للحصول على سجلات الحوسبة لجهازك.يوضح المثال التالي استخدام cmdlet هذا:
Get-AzureDataBoxEdgeComputeRoleLogs -Path "\\hcsfs\logs\myacct" -Credential "username" -FullLogCollection
فيما يلي وصف للمعلمات المستخدمة ل cmdlet:
Path
: قم بتوفير مسار شبكة للمشاركة حيث تريد إنشاء حزمة سجل الحوسبة.Credential
: قم بتوفير اسم المستخدم لمشاركة الشبكة. عند تشغيل cmdlet هذا، ستحتاج إلى توفير كلمة مرور المشاركة.FullLogCollection
: تضمن هذه المعلمة أن حزمة السجل ستحتوي على جميع سجلات الحوسبة. بشكل افتراضي، تحتوي حزمة السجل على مجموعة فرعية فقط من السجلات.
تغيير ملفات تعريف حمل عمل Kubernetes
بعد تكوين نظام مجموعة وإنشاء مفاتيح ظاهرية جديدة، يمكنك إضافة أو حذف الشبكات الظاهرية المقترنة بمفاتيح التبديل الظاهرية. للحصول على خطوات مفصلة، راجع تكوين مفاتيح التبديل الظاهرية.
بعد إنشاء رموز التبديل الظاهرية، يمكنك تمكين مفاتيح حركة مرور حساب Kubernetes لتحديد ملف تعريف حمل عمل Kubernetes. للقيام بذلك باستخدام واجهة المستخدم المحلية، استخدم الخطوات في تكوين IPS للحساب. للقيام بذلك باستخدام PowerShell، استخدم الخطوات التالية:
الاتصال إلى واجهة PowerShell.
Get-HcsApplianceInfo
استخدم الأمر cmdlet للحصول على الإعداداتKubernetesPlatform
والحاليةKubernetesWorkloadProfile
لجهازك.Get-HcsKubernetesWorkloadProfiles
استخدم cmdlet لتحديد ملفات التعريف المتوفرة على جهاز Azure Stack Edge.[Device-IP]: PS>Get-HcsKubernetesWorkloadProfiles Type Description ---- ----------- AP5GC an Azure Private MEC solution SAP a SAP Digital Manufacturing for Edge Computing or another Microsoft partner solution NONE other workloads [Device-IP]: PS>
Set-HcsKubernetesWorkloadProfile
استخدم cmdlet لتعيين ملف تعريف حمل العمل ل AP5GC، وهو حل Azure Private MEC.يوضح المثال التالي استخدام cmdlet هذا:
Set-HcsKubernetesWorkloadProfile -Type "AP5GC"
فيما يلي عينة إخراج ل cmdlet هذا:
[10.100.10.10]: PS>KubernetesPlatform : AKS [10.100.10.10]: PS>KubernetesWorkloadProfile : AP5GC [10.100.10.10]: PS>
تغيير جراب Kubernetes والشبكات الفرعية للخدمة
إذا كنت تقوم بتشغيل خيار أحمال العمل الأخرى في بيئتك، بشكل افتراضي، يستخدم Kubernetes على جهاز Azure Stack Edge الشبكات الفرعية 172.27.0.0/16 و172.28.0.0/16 للحجيرة والخدمة على التوالي. إذا كانت هذه الشبكات الفرعية قيد الاستخدام بالفعل في شبكتك، يمكنك تشغيل Set-HcsKubeClusterNetworkInfo
cmdlet لتغيير هذه الشبكات الفرعية.
تريد إجراء هذا التكوين قبل تكوين الحساب من مدخل Microsoft Azure حيث يتم إنشاء مجموعة Kubernetes في هذه الخطوة.
من واجهة PowerShell للجهاز، قم بتشغيل:
Set-HcsKubeClusterNetworkInfo -PodSubnet <subnet details> -ServiceSubnet <subnet details>
<استبدل تفاصيل> الشبكة الفرعية مع نطاق الشبكة الفرعية الذي تريد استخدامه.
بمجرد تشغيل هذا الأمر، يمكنك استخدام
Get-HcsKubeClusterNetworkInfo
الأمر للتحقق من تغيير الشبكات الفرعية للجراب والخدمة.
فيما يلي نموذج إخراج لهذا الأمر.
[10.100.10.10]: PS>Set-HcsKubeClusterNetworkInfo -PodSubnet 10.96.0.1/16 -ServiceSubnet 10.97.0.1/16
[10.100.10.10]: PS>Get-HcsKubeClusterNetworkInfo
Id PodSubnet ServiceSubnet
-- --------- -------------
6dbf23c3-f146-4d57-bdfc-76cad714cfd1 10.96.0.1/16 10.97.0.1/16
[10.100.10.10]: PS>
تصحيح مشكلات Kubernetes المتعلقة ب IoT Edge
قبل البدء، يجب أن يكون لديك:
- تم تكوين شبكة الحوسبة. راجع البرنامج التعليمي: تكوين الشبكة ل Azure Stack Edge Pro باستخدام GPU.
- تم تكوين دور الحساب على جهازك.
على جهاز Azure Stack Edge Pro GPU الذي تم تكوين دور الحساب له، يمكنك استكشاف أخطاء الجهاز أو مراقبته باستخدام مجموعتين مختلفتين من الأوامر.
- استخدام
iotedge
الأوامر. تتوفر هذه الأوامر للعمليات الأساسية لجهازك. - استخدام
kubectl
الأوامر. تتوفر هذه الأوامر لمجموعة واسعة من العمليات لجهازك.
لتنفيذ أي من مجموعة الأوامر أعلاه، تحتاج إلى الاتصال إلى واجهة PowerShell.
استخدام iotedge
الأوامر
لمشاهدة قائمة بالأوامر المتوفرة، اتصل بواجهة PowerShell واستخدم الدالة iotedge
.
[10.100.10.10]: PS>iotedge -?
Usage: iotedge COMMAND
Commands:
list
logs
restart
[10.100.10.10]: PS>
يحتوي الجدول التالي على وصف مختصر للأوامر المتوفرة ل iotedge
:
الأمر | الوصف |
---|---|
list |
سرد الوحدات النمطية |
logs |
إحضار سجلات وحدة نمطية |
restart |
إيقاف وحدة نمطية وإعادة تشغيلها |
سرد جميع وحدات IoT Edge
لسرد جميع الوحدات النمطية التي تعمل على جهازك، استخدم iotedge list
الأمر .
فيما يلي نموذج إخراج لهذا الأمر. يسرد هذا الأمر جميع الوحدات النمطية والتكوين المقترن وIPs الخارجية المقترنة بالوحدات النمطية. على سبيل المثال، يمكنك الوصول إلى تطبيق خادم الويب في https://10.128.44.244
.
[10.100.10.10]: PS>iotedge list
NAME STATUS DESCRIPTION CONFIG EXTERNAL-IP
---- ------ ----------- ------ -----
gettingstartedwithgpus Running Up 10 days mcr.microsoft.com/intelligentedge/solutions:latest
iotedged Running Up 10 days azureiotedge/azureiotedge-iotedged:0.1.0-beta10 <none>
edgehub Running Up 10 days mcr.microsoft.com/azureiotedge-hub:1.0 10.128.44.243
edgeagent Running Up 10 days azureiotedge/azureiotedge-agent:0.1.0-beta10
webserverapp Running Up 10 days nginx:stable 10.128.44.244
[10.100.10.10]: PS>
إعادة تشغيل الوحدات النمطية
يمكنك استخدام list
الأمر لسرد جميع الوحدات النمطية التي تعمل على جهازك. ثم حدد اسم الوحدة النمطية التي تريد إعادة تشغيلها واستخدمها مع restart
الأمر .
فيما يلي نموذج إخراج لكيفية إعادة تشغيل وحدة نمطية. استنادا إلى وصف المدة التي يتم فيها تشغيل الوحدة النمطية، يمكنك أن ترى أنه cuda-sample1
تمت إعادة التشغيل.
[10.100.10.10]: PS>iotedge list
NAME STATUS DESCRIPTION CONFIG EXTERNAL-IP PORT(S)
---- ------ ----------- ------ ----------- -------
edgehub Running Up 5 days mcr.microsoft.com/azureiotedge-hub:1.0 10.57.48.62 443:31457/TCP,5671:308
81/TCP,8883:31753/TCP
iotedged Running Up 7 days azureiotedge/azureiotedge-iotedged:0.1.0-beta13 <none> 35000/TCP,35001/TCP
cuda-sample2 Running Up 1 days nvidia/samples:nbody
edgeagent Running Up 7 days azureiotedge/azureiotedge-agent:0.1.0-beta13
cuda-sample1 Running Up 1 days nvidia/samples:nbody
[10.100.10.10]: PS>iotedge restart cuda-sample1
[10.100.10.10]: PS>iotedge list
NAME STATUS DESCRIPTION CONFIG EXTERNAL-IP PORT(S)
---- ------ ----------- ------ ----------- -------
edgehub Running Up 5 days mcr.microsoft.com/azureiotedge-hub:1.0 10.57.48.62 443:31457/TCP,5671:30
881/TCP,8883:31753/TC
P
iotedged Running Up 7 days azureiotedge/azureiotedge-iotedged:0.1.0-beta13 <none> 35000/TCP,35001/TCP
cuda-sample2 Running Up 1 days nvidia/samples:nbody
edgeagent Running Up 7 days azureiotedge/azureiotedge-agent:0.1.0-beta13
cuda-sample1 Running Up 4 minutes nvidia/samples:nbody
[10.100.10.10]: PS>
الحصول على سجلات الوحدة النمطية
logs
استخدم الأمر للحصول على سجلات لأي وحدة IoT Edge تعمل على جهازك.
إذا كان هناك خطأ في إنشاء صورة الحاوية أو أثناء سحب الصورة، فقم بتشغيل logs edgeagent
. edgeagent
هي حاوية وقت تشغيل IoT Edge المسؤولة عن توفير حاويات أخرى. نظرا لأن logs edgeagent
تفريغ كافة السجلات، فإن الطريقة الجيدة لرؤية الأخطاء الأخيرة هي استخدام الخيار --tail
0".
وفيما يلي عينة إخراج.
[10.100.10.10]: PS>iotedge logs cuda-sample2 --tail 10
[10.100.10.10]: PS>iotedge logs edgeagent --tail 10
<6> 2021-02-25 00:52:54.828 +00:00 [INF] - Executing command: "Report EdgeDeployment status: [Success]"
<6> 2021-02-25 00:52:54.829 +00:00 [INF] - Plan execution ended for deployment 11
<6> 2021-02-25 00:53:00.191 +00:00 [INF] - Plan execution started for deployment 11
<6> 2021-02-25 00:53:00.191 +00:00 [INF] - Executing command: "Create an EdgeDeployment with modules: [cuda-sample2, edgeAgent, edgeHub, cuda-sample1]"
<6> 2021-02-25 00:53:00.212 +00:00 [INF] - Executing command: "Report EdgeDeployment status: [Success]"
<6> 2021-02-25 00:53:00.212 +00:00 [INF] - Plan execution ended for deployment 11
<6> 2021-02-25 00:53:05.319 +00:00 [INF] - Plan execution started for deployment 11
<6> 2021-02-25 00:53:05.319 +00:00 [INF] - Executing command: "Create an EdgeDeployment with modules: [cuda-sample2, edgeAgent, edgeHub, cuda-sample1]"
<6> 2021-02-25 00:53:05.412 +00:00 [INF] - Executing command: "Report EdgeDeployment status: [Success]"
<6> 2021-02-25 00:53:05.412 +00:00 [INF] - Plan execution ended for deployment 11
[10.100.10.10]: PS>
إشعار
الأساليب المباشرة مثل GetModuleLogs أو UploadModuleLogs غير مدعومة على IoT Edge على Kubernetes على Azure Stack Edge.
استخدام أوامر kubectl
على جهاز Azure Stack Edge Pro GPU الذي تم تكوين دور الحوسبة عليه، تتوفر جميع kubectl
الأوامر لمراقبة الوحدات النمطية أو استكشاف الأخطاء وإصلاحها. لمشاهدة قائمة بالأوامر المتوفرة، قم بتشغيل kubectl --help
من نافذة الأوامر.
C:\Users\myuser>kubectl --help
kubectl controls the Kubernetes cluster manager.
Find more information at: https://kubernetes.io/docs/reference/kubectl/overview/
Basic Commands (Beginner):
create Create a resource from a file or from stdin.
expose Take a replication controller, service, deployment or pod and expose it as a new Kubernetes Service
run Run a particular image on the cluster
set Set specific features on objects
run-container Run a particular image on the cluster. This command is deprecated, use "run" instead
==============CUT=============CUT============CUT========================
Usage:
kubectl [flags] [options]
Use "kubectl <command> --help" for more information about a given command.
Use "kubectl options" for a list of global command-line options (applies to all commands).
C:\Users\myuser>
للحصول على قائمة شاملة بالأوامر kubectl
، انتقل إلى kubectl
ورقة المعلومات المرجعية.
للحصول على IP للخدمة أو الوحدة النمطية المكشوفة خارج مجموعة Kubernetes
للحصول على IP لخدمة موازنة التحميل أو الوحدات النمطية المكشوفة خارج Kubernetes، قم بتشغيل الأمر التالي:
kubectl get svc -n iotedge
فيما يلي عينة إخراج لكافة الخدمات أو الوحدات النمطية التي يتم كشفها خارج مجموعة Kubernetes.
[10.100.10.10]: PS>kubectl get svc -n iotedge
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
edgehub LoadBalancer 10.103.52.225 10.128.44.243 443:31987/TCP,5671:32336/TCP,8883:30618/TCP 34h
iotedged ClusterIP 10.107.236.20 <none> 35000/TCP,35001/TCP 3d8h
webserverapp LoadBalancer 10.105.186.35 10.128.44.244 8080:30976/TCP 16h
[10.100.10.10]: PS>
يتوافق عنوان IP في عمود IP الخارجي مع نقطة النهاية الخارجية للخدمة أو الوحدة النمطية. يمكنك أيضا الحصول على عنوان IP الخارجي في لوحة معلومات Kubernetes.
للتحقق مما إذا كانت الوحدة النمطية قد نشرت بنجاح
وحدات الحساب هي حاويات لها منطق عمل مطبق. يمكن أن تحتوي جراب Kubernetes على حاويات متعددة قيد التشغيل.
للتحقق مما إذا تم نشر وحدة حساب بنجاح، اتصل بواجهة PowerShell للجهاز.
get pods
قم بتشغيل الأمر وتحقق مما إذا كانت الحاوية (المقابلة لوحدة الحساب) قيد التشغيل.
للحصول على قائمة بجميع القرون التي تعمل في مساحة اسم معينة، قم بتشغيل الأمر التالي:
get pods -n <namespace>
للتحقق من الوحدات النمطية المنشورة عبر IoT Edge، قم بتشغيل الأمر التالي:
get pods -n iotedge
فيما يلي عينة إخراج لكافة الحجيرات التي تعمل في iotedge
مساحة الاسم.
[10.100.10.10]: PS>kubectl get pods -n iotedge
NAME READY STATUS RESTARTS AGE
edgeagent-cf6d4ffd4-q5l2k 2/2 Running 0 20h
edgehub-8c9dc8788-2mvwv 2/2 Running 0 56m
filemove-66c49984b7-h8lxc 2/2 Running 0 56m
iotedged-675d7f4b5f-9nml4 1/1 Running 0 20h
[10.100.10.10]: PS>
تشير حالة الحالة إلى أن كافة pods في مساحة الاسم قيد التشغيل وتشير Ready إلى عدد الحاويات المنشورة في pod. في العينة السابقة، يتم تشغيل جميع pods ويتم تشغيل جميع الوحدات النمطية المنشورة في كل من pods.
للتحقق من الوحدات النمطية المنشورة عبر Azure Arc، قم بتشغيل الأمر التالي:
get pods -n azure-arc
بدلا من ذلك، يمكنك الاتصال إلى لوحة معلومات Kubernetes لمشاهدة عمليات نشر IoT Edge أو Azure Arc.
للحصول على إخراج أكثر إسهابا لجراب معين لمساحة اسم معينة، يمكنك تشغيل الأمر التالي:
kubectl describe pod <pod name> -n <namespace>
يظهر إخراج العينة هنا.
[10.100.10.10]: PS>kubectl describe pod filemove-66c49984b7 -n iotedge
Name: filemove-66c49984b7-h8lxc
Namespace: iotedge
Priority: 0
Node: k8s-1hwf613cl-1hwf613/10.139.218.12
Start Time: Thu, 14 May 2020 12:46:28 -0700
Labels: net.azure-devices.edge.deviceid=myasegpu-edge
net.azure-devices.edge.hub=myasegpu2iothub.azure-devices.net
net.azure-devices.edge.module=filemove
pod-template-hash=66c49984b7
Annotations: net.azure-devices.edge.original-moduleid: filemove
Status: Running
IP: 172.17.75.81
IPs: <none>
Controlled By: ReplicaSet/filemove-66c49984b7
Containers:
proxy:
Container ID: docker://fd7975ca78209a633a1f314631042a0892a833b7e942db2e7708b41f03e8daaf
Image: azureiotedge/azureiotedge-proxy:0.1.0-beta8
Image ID: docker://sha256:5efbf6238f13d24bab9a2b499e5e05bc0c33ab1587d6cf6f289cdbe7aa667563
Port: <none>
Host Port: <none>
State: Running
Started: Thu, 14 May 2020 12:46:30 -0700
Ready: True
Restart Count: 0
Environment:
PROXY_LOG: Debug
=============CUT===============================CUT===========================
Volumes:
config-volume:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: iotedged-proxy-config
Optional: false
trust-bundle-volume:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: iotedged-proxy-trust-bundle
Optional: false
myasesmb1local:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: myasesmb1local
ReadOnly: false
myasesmb1:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: myasesmb1
ReadOnly: false
filemove-token-pzvw8:
Type: Secret (a volume populated by a Secret)
SecretName: filemove-token-pzvw8
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events: <none>
[10.100.10.10]: PS>
للحصول على سجلات الحاوية
للحصول على سجلات وحدة نمطية، قم بتشغيل الأمر التالي من واجهة PowerShell للجهاز:
kubectl logs <pod_name> -n <namespace> --all-containers
نظرا لأن all-containers
العلامة تتخلص من جميع السجلات لجميع الحاويات، فإن الطريقة الجيدة لرؤية الأخطاء الأخيرة هي استخدام الخيار --tail 10
.
فيما يلي عينة إخراج.
[10.100.10.10]: PS>kubectl logs filemove-66c49984b7-h8lxc -n iotedge --all-containers --tail 10
DEBUG 2020-05-14T20:40:42Z: loop process - 0 events, 0.000s
DEBUG 2020-05-14T20:40:44Z: loop process - 0 events, 0.000s
DEBUG 2020-05-14T20:40:44Z: loop process - 0 events, 0.000s
DEBUG 2020-05-14T20:40:44Z: loop process - 1 events, 0.000s
DEBUG 2020-05-14T20:40:44Z: loop process - 0 events, 0.000s
DEBUG 2020-05-14T20:42:12Z: loop process - 0 events, 0.000s
DEBUG 2020-05-14T20:42:14Z: loop process - 0 events, 0.000s
DEBUG 2020-05-14T20:42:14Z: loop process - 0 events, 0.000s
DEBUG 2020-05-14T20:42:14Z: loop process - 1 events, 0.000s
DEBUG 2020-05-14T20:42:14Z: loop process - 0 events, 0.000s
05/14/2020 19:46:44: Info: Opening module client connection.
05/14/2020 19:46:45: Info: Open done.
05/14/2020 19:46:45: Info: Initializing with input: /home/input, output: /home/output, protocol: Amqp.
05/14/2020 19:46:45: Info: IoT Hub module client initialized.
[10.100.10.10]: PS>
تغيير الذاكرة وحدود المعالج لعقدة عامل Kubernetes
لتغيير حدود الذاكرة أو المعالج لعقدة عامل Kubernetes، قم بالخطوات التالية:
للحصول على الموارد الحالية لعقدة العامل وخيارات الدور، قم بتشغيل الأمر التالي:
Get-AzureDataBoxEdgeRole
وفيما يلي عينة إخراج. لاحظ قيم القسم
Name
وضمنهResources
Compute
.MemoryInBytes
والإشارةProcessorCount
إلى ذاكرة القيم المعينة حاليا وعدد المعالجات لعقدة عامل Kubernetes.[10.100.10.10]: PS>Get-AzureDataBoxEdgeRole ImageDetail : Name:mcr.microsoft.com/azureiotedge-agent Tag:1.0 PlatformType:Linux EdgeDeviceConnectionString : IotDeviceConnectionString : HubHostName : ase-srp-007.azure-devices.net IotDeviceId : srp-007-storagegateway EdgeDeviceId : srp-007-edge Version : Id : 6ebeff9f-84c5-49a7-890c-f5e05520a506 Name : IotRole Type : IOT Resources : Compute: MemoryInBytes:34359738368 ProcessorCount:12 VMProfile: Storage: EndpointMap: EndpointId:c0721210-23c2-4d16-bca6-c80e171a0781 TargetPath:mysmbedgecloudshare1 Name:mysmbedgecloudshare1 Protocol:SMB EndpointId:6557c3b6-d3c5-4f94-aaa0-6b7313ab5c74 TargetPath:mysmbedgelocalshare Name:mysmbedgelocalshare Protocol:SMB RootFileSystemStorageSizeInBytes:0 HostPlatform : KubernetesCluster State : Created PlatformType : Linux HostPlatformInstanceId : 994632cb-853e-41c5-a9cd-05b36ddbb190 IsHostPlatformOwner : True IsCreated : True [10.100.10.10]: PS>
لتغيير قيم الذاكرة والمعالجات لعقدة العامل، قم بتشغيل الأمر التالي:
Set-AzureDataBoxEdgeRoleCompute -Name <Name value from the output of Get-AzureDataBoxEdgeRole> -Memory <Value in Bytes> -ProcessorCount <No. of cores>
وفيما يلي عينة إخراج.
[10.100.10.10]: PS>Set-AzureDataBoxEdgeRoleCompute -Name IotRole -MemoryInBytes 32GB -ProcessorCount 16 ImageDetail : Name:mcr.microsoft.com/azureiotedge-agent Tag:1.0 PlatformType:Linux EdgeDeviceConnectionString : IotDeviceConnectionString : HubHostName : ase-srp-007.azure-devices.net IotDeviceId : srp-007-storagegateway EdgeDeviceId : srp-007-edge Version : Id : 6ebeff9f-84c5-49a7-890c-f5e05520a506 Name : IotRole Type : IOT Resources : Compute: MemoryInBytes:34359738368 ProcessorCount:16 VMProfile: Storage: EndpointMap: EndpointId:c0721210-23c2-4d16-bca6-c80e171a0781 TargetPath:mysmbedgecloudshare1 Name:mysmbedgecloudshare1 Protocol:SMB EndpointId:6557c3b6-d3c5-4f94-aaa0-6b7313ab5c74 TargetPath:mysmbedgelocalshare Name:mysmbedgelocalshare Protocol:SMB RootFileSystemStorageSizeInBytes:0 HostPlatform : KubernetesCluster State : Created PlatformType : Linux HostPlatformInstanceId : 994632cb-853e-41c5-a9cd-05b36ddbb190 IsHostPlatformOwner : True IsCreated : True [10.100.10.10]: PS>
أثناء تغيير استخدام الذاكرة والمعالج، اتبع هذه الإرشادات.
- الذاكرة الافتراضية هي 25٪ من مواصفات الجهاز.
- عدد المعالجات الافتراضي هو 30٪ من مواصفات الجهاز.
- عند تغيير قيم عدد الذاكرة والمعالج، نوصي بتغيير القيم بين 15٪ إلى 60٪ من ذاكرة الجهاز وعدد المعالجات.
- نوصي بحد أعلى يبلغ 60٪ بحيث تكون هناك موارد كافية لمكونات النظام.
الاتصال إلى BMC
إشعار
وحدة تحكم إدارة لوحة الأساس (BMC) غير متوفرة على Azure Stack Edge Pro 2 وAzure Stack Edge Mini R. تنطبق أوامر cmdlets الموضحة في هذا القسم فقط على Azure Stack Edge Pro GPU وAzure Stack Edge Pro R.
يتم استخدام BMC لمراقبة جهازك وإدارته عن بعد. يصف هذا القسم أوامر cmdlets التي يمكن استخدامها لإدارة تكوين BMC. قبل تشغيل أي من أوامر cmdlets هذه، الاتصال إلى واجهة PowerShell للجهاز.
Get-HcsNetBmcInterface
: استخدم الأمر cmdlet هذا للحصول على خصائص تكوين الشبكة ل BMC، على سبيل المثال،IPv4Address
،IPv4Gateway
، ،IPv4SubnetMask
.DhcpEnabled
هنا هو إخراج العينة:
[10.100.10.10]: PS>Get-HcsNetBmcInterface IPv4Address IPv4Gateway IPv4SubnetMask DhcpEnabled ----------- ----------- -------------- ----------- 10.128.53.186 10.128.52.1 255.255.252.0 False [10.100.10.10]: PS>
Set-HcsNetBmcInterface
: يمكنك استخدام cmdlet هذا بطريقتين التاليتين.استخدم cmdlet لتمكين أو تعطيل تكوين DHCP ل BMC باستخدام القيمة المناسبة للمعلمة
UseDhcp
.Set-HcsNetBmcInterface -UseDhcp $true
هنا هو إخراج العينة:
[10.100.10.10]: PS>Set-HcsNetBmcInterface -UseDhcp $true [10.100.10.10]: PS>Get-HcsNetBmcInterface IPv4Address IPv4Gateway IPv4SubnetMask DhcpEnabled ----------- ----------- -------------- ----------- 10.128.54.8 10.128.52.1 255.255.252.0 True [10.100.10.10]: PS>
استخدم الأمر cmdlet هذا لتكوين التكوين الثابت ل BMC. يمكنك تحديد قيم و
IPv4Address
IPv4Gateway
و.IPv4SubnetMask
Set-HcsNetBmcInterface -IPv4Address "<IPv4 address of the device>" -IPv4Gateway "<IPv4 address of the gateway>" -IPv4SubnetMask "<IPv4 address for the subnet mask>"
هنا هو إخراج العينة:
[10.100.10.10]: PS>Set-HcsNetBmcInterface -IPv4Address 10.128.53.186 -IPv4Gateway 10.128.52.1 -IPv4SubnetMask 255.255.252.0 [10.100.10.10]: PS>Get-HcsNetBmcInterface IPv4Address IPv4Gateway IPv4SubnetMask DhcpEnabled ----------- ----------- -------------- ----------- 10.128.53.186 10.128.52.1 255.255.252.0 False [10.100.10.10]: PS>
Set-HcsBmcPassword
: استخدم cmdlet هذا لتعديل كلمة مرور BMC لEdgeUser
. اسم المستخدم -EdgeUser
- حساس لحالة الأحرف.هنا هو إخراج العينة:
[10.100.10.10]: PS> Set-HcsBmcPassword -NewPassword "Password1" [10.100.10.10]: PS>
الخروج من جلسة العمل البعيدة
للخروج من جلسة عمل PowerShell البعيدة، أغلق نافذة PowerShell.
الخطوات التالية
- انشر Azure Stack Edge Pro GPU في مدخل Azure.