Mengelola perangkat GPU Pro Azure Stack Edge melalui Windows PowerShell
BERLAKU UNTUK: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Solusi Azure Stack Edge Pro memungkinkan Anda memproses data dan mengirimkannya melalui jaringan ke Azure. Artikel ini menjelaskan beberapa tugas konfigurasi dan manajemen untuk perangkat Azure Stack Edge Pro Anda. Anda dapat menggunakan portal Microsoft Azure, antarmuka pengguna web lokal, atau antarmuka Windows PowerShell untuk mengelola perangkat Anda.
Artikel ini berfokus pada cara Anda dapat menyambungkan ke antarmuka PowerShell perangkat dan tugas yang dapat Anda lakukan menggunakan antarmuka ini.
Menyambungkan ke antarmuka PowerShell
Tergantung pada sistem operasi klien, prosedur untuk terhubung dari jarak jauh ke perangkat berbeda.
Tersambung dari klien Windows dari jarak jauh
Prasyarat
Sebelum Anda mulai, pastikan bahwa:
Klien menjalankan Windows PowerShell 5.0 atau yang lebih baru.
Klien Windows Anda memiliki rantai penandatanganan (sertifikat akar) yang sesuai dengan sertifikat simpul yang terinstal pada perangkat. Untuk petunjuk secara terperinci, lihat Menginstal sertifikat pada klien Windows Anda.
File
hosts
yang terletak diC:\Windows\System32\drivers\etc
untuk klien Windows Anda memiliki entri yang sesuai dengan sertifikat simpul dalam format berikut:<Device IP> <Node serial number>.<DNS domain of the device>
Berikut contoh entri untuk file
hosts
:10.100.10.10 1HXQG13.wdshcsso.com
Langkah terperinci
Ikuti langkah-langkah ini untuk menyambungkan dari jarak jauh melalui klien Windows.
Jalankan sesi Windows PowerShell sebagai admin.
Pastikan layanan Manajemen Windows Remote Management dapat dijalankan di klien Anda. Pada command prompt, ketik:
winrm quickconfig
Untuk mendapatkan informasi selengkapnya, lihat Penginstalan dan konfigurasi untuk Windows Remote Management.
Tetapkan variabel ke string koneksi yang digunakan dalam file
hosts
.$Name = "<Node serial number>.<DNS domain of the device>"
Ganti
<Node serial number>
dan<DNS domain of the device>
dengan nomor seri simpul dan domain DNS perangkat Anda. Anda bisa mendapatkan nilai untuk nomor seri simpul dari halaman Sertifikat dan domain DNS dari halaman Perangkat di UI web lokal perangkat Anda.Untuk menambahkan string koneksi ini untuk perangkat Anda ke daftar host tepercaya klien, ketik perintah berikut ini:
Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force
Mulai sesi Windows PowerShell di perangkat:
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL
Jika Anda melihat kesalahan terkait hubungan kepercayaan, maka periksa apakah rantai penandatanganan sertifikat simpul yang diunggah ke perangkat Anda juga diinstal pada klien yang mengakses perangkat Anda.
Berikan kata sandi saat diminta. Gunakan kata sandi yang sama dengan yang digunakan untuk masuk ke antarmuka pengguna web lokal. Kata sandi default UI web lokal adalah Password1. Saat Anda berhasil menyambungkan ke perangkat menggunakan PowerShell jarak jauh, Anda akan melihat contoh output berikut:
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>
Saat menggunakan opsi -UseSSL
, Anda menjalankan dari jarak jauh melalui PowerShell melalui https. Kami menyarankan Anda selalu menggunakan https untuk terhubung dari jarak jauh melalui PowerShell. Dalam jaringan tepercaya, terhubung dari jarak jauh melalui PowerShell menggunakan http diperbolehkan. Anda perlu mengaktifkan PowerShell jarak jauh terlebih dahulu melalui http di UI lokal. Kemudian, Anda dapat terhubung ke antarmuka PowerShell perangkat menggunakan prosedur sebelumnya tanpa opsi -UseSSL
.
Jika Anda tidak menggunakan sertifikat (kami sarankan Anda menggunakan sertifikat!), Anda dapat melewati pemeriksaan validasi sertifikat menggunakan opsi sesi: -SkipCACheck -SkipCNCheck -SkipRevocationCheck
.
$sessOptions = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL -SessionOption $sessOptions
Berikut contoh output saat melewatkan pemeriksaan sertifikat:
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>
Penting
Dalam rilis saat ini, Anda dapat menyambungkan ke antarmuka PowerShell perangkat hanya melalui klien Windows. Opsi -UseSSL
ini tidak berfungsi dengan klien Linux.
Membuat paket dukungan
Jika mengalami masalah perangkat, Anda dapat membuat paket dukungan dari log sistem. Dukungan Microsoft menggunakan paket ini untuk memecahkan masalah tersebut. Ikuti langkah-langkah berikut untuk membuat paket dukungan:
Sambungkan ke antarmuka PowerShell perangkat Anda.
Gunakan perintah
Get-HcsNodeSupportPackage
untuk membuat paket dukungan. Penggunaan cmdlet adalah sebagai berikut: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 mengumpulkan log dari perangkat Anda dan menyalin log tersebut ke jaringan yang ditentukan atau berbagi lokal.
Parameter yang digunakan adalah sebagai berikut:
-Path
- Tentukan jaringan atau jalur lokal untuk menyalin paket dukungan. (wajib)-Credential
- Tentukan informasi masuk untuk mengakses jalur yang dilindungi.-Zip
- Tentukan untuk membuat file zip.-Include
- Tentukan untuk menyertakan komponen yang akan disertakan dalam paket dukungan. Jika tidak ditentukan,Default
diasumsikan.-IncludeArchived
- Tentukan untuk menyertakan log yang diarsipkan dalam paket dukungan.-IncludePeriodicStats
- Tentukan untuk menyertakan log statistik berkala dalam paket dukungan.
Lihat informasi perangkat
Gunakan
Get-HcsApplianceInfo
untuk mendapatkan informasi untuk perangkat Anda.Contoh berikut menunjukkan penggunaan cmdlet ini:
[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
Berikut adalah tabel yang meringkas beberapa informasi perangkat penting:
Parameter Deskripsi FriendlyName Nama perangkat yang ramah seperti yang dikonfigurasi melalui UI web lokal selama penyebaran perangkat. Nama default yang ramah adalah nomor seri perangkat. SerialNumber Nomor seri perangkat adalah nomor unik yang ditetapkan saat di pabrik. Model Model untuk perangkat Azure Stack Edge atau Data Box Gateway Anda. Model ini berupa fisik untuk Azure Stack Edge dan virtual untuk Data Box Gateway. FriendlySoftwareVersion String yang ramah yang sesuai dengan versi perangkat lunak. Untuk pratinjau yang menjalankan sistem, versi perangkat lunak yang ramah adalah Azure Stack Edge Data Box 1902. HcsVersion Versi perangkat lunak HCS yang berjalan di perangkat Anda. Misalnya, versi perangkat lunak HCS yang sesuai dengan Azure Stack Edge Data Box 1902 adalah 1.4.771.324. LocalCapacityInMb Total kapasitas lokal perangkat dalam Megabit. IsRegistered Nilai ini menunjukkan apakah perangkat Anda diaktifkan dengan layanan.
Lihat informasi driver GPU
Jika peran komputasi dikonfigurasi di perangkat Anda, Anda juga bisa mendapatkan log komputasi melalui antarmuka PowerShell.
Gunakan
Get-HcsGpuNvidiaSmi
untuk mendapatkan informasi driver GPU untuk perangkat Anda.Contoh berikut menunjukkan penggunaan cmdlet ini:
Get-HcsGpuNvidiaSmi
Catat informasi driver dari contoh keluaran cmdlet ini.
+-----------------------------------------------------------------------------+ | 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 | +-------------------------------+----------------------+----------------------+
Mengaktifkan Layanan Multi-Proses (MPS)
Layanan Multi-Proses (MPS) pada GPU Nvidia menyediakan mekanisme yang mana GPU dapat dibagikan oleh beberapa pekerjaan, dengan setiap pekerjaan dialokasikan beberapa persentase sumber daya GPU. MPS adalah fitur pratinjau di perangkat GPU Azure Stack Edge Pro Anda. Untuk mengaktifkan MPS di perangkat Anda, ikuti langkah berikut:
Sebelum Anda mulai, pastikan bahwa:
- Anda telah mengonfigurasi dan Mengaktifkan perangkat Azure Stack Edge Pro dengan sumber daya Azure Stack Edge di Azure.
- Anda telah Mengonfigurasi komputasi pada perangkat ini di portal Microsoft Azure.
Gunakan perintah berikut untuk mengaktifkan MPS di perangkat Anda.
Start-HcsGpuMPS
Catatan
Ketika perangkat lunak perangkat dan kluster Kube diperbarui, pengaturan MPS tidak dipertahankan untuk beban kerja. Anda harus mengaktifkan MPS lagi.
Atur ulang perangkat Anda
Untuk mengatur ulang perangkat, Anda perlu menghapus menyeluruh data dari disk data dan disk boot dari perangkat.
Gunakan cmdlet Reset-HcsAppliance
untuk menghapus menyeluruh disk data dan disk boot atau hanya disk data. Sakelar SecureWipeBootDisk
dan SecureWipeDataDisks
memungkinkan Anda untuk menghapus disk boot dan disk data masing-masing.
Tombol SecureWipeBootDisk
menghapus disk boot dan membuat perangkat tidak dapat digunakan. Ini harus digunakan hanya saat perangkat perlu dikembalikan ke Microsoft. Untuk informasi selengkapnya, lihat Mengembalikan perangkat ke Microsoft.
Jika Anda menggunakan pengaturan ulang perangkat di antarmuka pengguna web lokal, hanya disk data yang dihapus dengan aman, dan disk boot tetap utuh. Disk boot berisi konfigurasi perangkat.
Pada command prompt, ketik:
Reset-HcsAppliance -SecureWipeBootDisk -SecureWipeDataDisks
Contoh berikut menunjukkan cara menggunakan cmdlet ini:
[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
Dapatkan log komputasi
Jika peran komputasi dikonfigurasi di perangkat Anda, Anda juga bisa mendapatkan log komputasi melalui antarmuka PowerShell.
Gunakan
Get-AzureDataBoxEdgeComputeRoleLogs
untuk mendapatkan log komputasi untuk perangkat Anda.Contoh berikut menunjukkan penggunaan cmdlet ini:
Get-AzureDataBoxEdgeComputeRoleLogs -Path "\\hcsfs\logs\myacct" -Credential "username" -FullLogCollection
Berikut adalah deskripsi parameter yang digunakan untuk cmdlet:
Path
: Sediakan jalur jaringan ke berbagi tempat Anda ingin membuat paket log komputasi.Credential
: Berikan nama pengguna untuk berbagi jaringan. Ketika Anda menjalankan cmdlet ini, Anda harus memberikan kata sandi berbagi.FullLogCollection
: Parameter ini memastikan bahwa paket log akan berisi semua log komputasi. Secara default, paket log hanya berisi sub kumpulan log.
Mengubah profil beban kerja Kubernetes
Setelah Anda membentuk dan mengonfigurasi kluster dan Anda telah membuat sakelar virtual baru, Anda dapat menambahkan atau menghapus jaringan virtual yang terkait dengan sakelar virtual Anda. Untuk langkah-langkah mendetail, lihat Mengonfigurasi sakelar virtual.
Setelah sakelar virtual dibuat, Anda dapat mengaktifkan sakelar untuk lalu lintas komputasi Kubernetes untuk menentukan profil beban kerja Kube. Untuk melakukannya menggunakan UI lokal, gunakan langkah-langkah dalam Mengonfigurasi IPS komputasi. Untuk melakukannya menggunakan PowerShell, gunakan langkah-langkah berikut:
Get-HcsApplianceInfo
Gunakan cmdlet untuk mendapatkan arusKubernetesPlatform
danKubernetesWorkloadProfile
pengaturan untuk perangkat Anda.Get-HcsKubernetesWorkloadProfiles
Gunakan cmdlet untuk mengidentifikasi profil yang tersedia di perangkat Azure Stack Edge Anda.[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
Gunakan cmdlet untuk mengatur profil beban kerja untuk AP5GC, solusi AZURE Private MEC.Contoh berikut menunjukkan penggunaan cmdlet ini:
Set-HcsKubernetesWorkloadProfile -Type "AP5GC"
Berikut adalah contoh output untuk cmdlet ini:
[10.100.10.10]: PS>KubernetesPlatform : AKS [10.100.10.10]: PS>KubernetesWorkloadProfile : AP5GC [10.100.10.10]: PS>
Ubah pod Kubernetes and subnet layanan
Jika Anda menjalankan opsi beban kerja lain di lingkungan Anda, secara default, Kubernetes pada perangkat Azure Stack Edge menggunakan subnet masing-masing 172.27.0.0/16 dan 172.28.0.0/16 untuk pod dan layanan. Jika subnet ini sudah digunakan dalam jaringan Anda, Anda dapat menjalankan cmdlet Set-HcsKubeClusterNetworkInfo
untuk mengubah subnet ini.
Anda ingin melakukan konfigurasi ini sebelum mengonfigurasi komputasi dari portal Microsoft Azure saat kluster Kubernetes dibuat pada langkah ini.
Sambungkan ke antarmuka PowerShell perangkat.
Dari antarmuka PowerShell perangkat, jalankan:
Set-HcsKubeClusterNetworkInfo -PodSubnet <subnet details> -ServiceSubnet <subnet details>
<Ganti detail> subnet dengan rentang subnet yang ingin Anda gunakan.
Setelah menjalankan perintah ini, Anda dapat menggunakan perintah
Get-HcsKubeClusterNetworkInfo
untuk memverifikasi bahwa pod dan subnet layanan telah berubah.
Berikut adalah contoh keluaran untuk perintah ini.
[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>
Mendebug masalah Kubernetes terkait IoT Edge
Sebelum memulai, Anda harus:
- Mengomputasi jaringan yang dikonfigurasi. Lihat Tutorial: Mengonfigurasi jaringan untuk Azure Stack Edge Pro dengan GPU.
- Mengomputasi peran yang dikonfigurasi di perangkat Anda.
Di perangkat GPU Azure Stack Edge Pro yang memiliki peran komputasi yang dikonfigurasi, Anda dapat memecahkan masalah atau memantau perangkat menggunakan dua set perintah yang berbeda.
- Menggunakan perintah
iotedge
. Perintah ini tersedia untuk operasi dasar pada perangkat Anda. - Menggunakan perintah
kubectl
. Perintah ini tersedia untuk serangkaian operasi yang luas untuk perangkat Anda.
Untuk menjalankan salah satu dari kumpulan perintah di atas, Anda perlu Menyambungkan ke antarmuka PowerShell.
Menggunakan perintah iotedge
Untuk melihat daftar perintah yang tersedia, sambungkan ke antarmuka PowerShell dan gunakan fungsi iotedge
.
[10.100.10.10]: PS>iotedge -?
Usage: iotedge COMMAND
Commands:
list
logs
restart
[10.100.10.10]: PS>
Tabel berikut memiliki deskripsi singkat tentang perintah yang tersedia untuk iotedge
:
command | Deskripsi |
---|---|
list |
Mencantumkan modul |
logs |
Mengambil log modul |
restart |
Menghentikan dan memulai ulang modul |
Mencantumkan semua modul IoT Edge
Untuk mencantumkan semua modul yang berjalan di perangkat Anda, gunakan perintah iotedge list
.
Berikut ini adalah sampel keluaran perintah. Perintah ini mencantumkan semua modul, konfigurasi terkait, dan IP eksternal yang terkait dengan modul. Misalnya, Anda dapat mengakses aplikasi webserver di 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>
Memulai ulang modul
Anda dapat menggunakan perintah list
untuk mencantumkan semua modul yang berjalan di perangkat Anda. Kemudian identifikasi nama modul yang ingin Anda mulai ulang dan gunakan dengan perintah restart
.
Berikut adalah sampel keluaran cara memulai ulang modul. Berdasarkan deskripsi berapa lama modul berjalan, Anda dapat melihat bahwa cuda-sample1
dimulai ulang.
[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>
Mendapatkan log modul
Gunakan perintah logs
untuk mendapatkan log untuk modul IoT Edge yang berjalan di perangkat Anda.
Jika ada kesalahan dalam pembuatan citra kontainer atau saat menarik gambar, jalankan logs edgeagent
. edgeagent
adalah kontainer runtime IoT Edge yang bertanggung jawab untuk memprovisikan kontainer lain. Karena logs edgeagent
membuang semua log, cara yang baik untuk melihat kesalahan terbaru adalah dengan menggunakan opsi --tail
0'.
Berikut adalah output sampelnya.
[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>
Catatan
Metode langsung seperti GetModuleLogs atau UploadModuleLogs tidak didukung pada IoT Edge di Kubernetes pada Azure Stack Edge Anda.
Menggunakan perintah kubectl
Pada perangkat GPU Azure Stack Edge Pro yang telah mengonfigurasi peran komputasi, semua perintah kubectl
tersedia untuk memantau atau memecahkan masalah modul. Untuk melihat daftar perintah yang tersedia, jalankan kubectl --help
dari jendela perintah.
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>
Untuk daftar komprehensif perintah kubectl
, buka kubectl
cheatsheet.
Untuk mendapatkan IP layanan atau modul yang terekspos di luar kluster Kubernetes
Untuk mendapatkan IP dari modul atau layanan penyeimbangan beban yang diekspos di luar Kubernetes, jalankan perintah berikut:
kubectl get svc -n iotedge
Berikut adalah sampel keluaran semua layanan atau modul yang diekspos di luar kluster 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>
Alamat IP di kolom IP Eksternal sesuai dengan titik akhir eksternal untuk layanan atau modul. Anda juga bisa Mendapatkan IP eksternal di dasbor Kubernetes.
Untuk memeriksa apakah modul berhasil disebarkan
Modul komputasi adalah kontainer yang memiliki logika bisnis yang diimplementasikan. Pod Kubernetes dapat memiliki beberapa kontainer yang berjalan.
Untuk memeriksa apakah modul komputasi berhasil disebarkan, sambungkan ke antarmuka PowerShell perangkat.
Jalankan perintah get pods
dan periksa apakah kontainer (sesuai dengan modul komputasi) sedang berjalan.
Untuk mendapatkan daftar semua pod yang berjalan di namespace layanan tertentu, jalankan perintah berikut:
get pods -n <namespace>
Untuk memeriksa modul yang diterapkan melalui IoT Edge, jalankan perintah berikut:
get pods -n iotedge
Berikut adalah contoh output semua pod yang berjalan di namespace layanan 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>
Status Status menunjukkan bahwa semua pod dalam namespace layanan berjalan dan Ready menunjukkan jumlah kontainer yang disebarkan dalam pod. Di sampel sebelumnya, semua pod berjalan dan semua modul yang disebarkan di masing-masing pod berjalan.
Untuk memeriksa modul yang disebarkan melalui Azure Arc, jalankan perintah berikut:
get pods -n azure-arc
Atau, Anda dapat Menyambungkan ke dashboard Kubernetes untuk melihat penyebaran IoT Edge atau Azure Arc.
Untuk keluaran yang lebih verbose dari pod tertentu untuk namespace layanan tertentu, Anda dapat menjalankan perintah berikut:
kubectl describe pod <pod name> -n <namespace>
Sampel output ditunjukkan di sini.
[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>
Untuk mendapatkan log kontainer
Untuk mendapatkan log untuk modul, jalankan perintah berikut dari antarmuka PowerShell perangkat:
kubectl logs <pod_name> -n <namespace> --all-containers
Karena bendera all-containers
membuang semua log untuk semua kontainer, cara yang baik untuk melihat kesalahan baru-baru ini adalah dengan menggunakan opsi --tail 10
.
Berikut adalah sampel keluarannya.
[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>
Mengubah batas memori dan prosesor untuk node pekerja Kubernetes
Untuk mengubah batas memori atau prosesor untuk node pekerja Kubernetes, lakukan langkah berikut:
Sambungkan ke antarmuka PowerShell perangkat.
Untuk mendapatkan sumber daya saat ini untuk node pekerja dan opsi peran, jalankan perintah berikut:
Get-AzureDataBoxEdgeRole
Berikut adalah output sampelnya. Perhatikan nilai untuk
Name
danCompute
di bawah bagianResources
.MemoryInBytes
danProcessorCount
menunjukkan jumlah memori dan prosesor nilai yang saat ini ditetapkan untuk node pekerja 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>
Untuk mengubah nilai memori dan prosesor untuk node pekerja, jalankan perintah berikut:
Set-AzureDataBoxEdgeRoleCompute -Name <Name value from the output of Get-AzureDataBoxEdgeRole> -Memory <Value in Bytes> -ProcessorCount <No. of cores>
Berikut adalah output sampelnya.
[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>
Saat mengubah penggunaan memori dan prosesor, ikuti panduan ini.
- Memori default adalah 25% dari spesifikasi perangkat.
- Jumlah prosesor default adalah 30% dari spesifikasi perangkat.
- Saat mengubah nilai untuk jumlah memori dan prosesor, kami sarankan Anda memvariasikan nilai antara 15% hingga 60% dari jumlah memori dan prosesor perangkat.
- Kami merekomendasikan batas atas 60% adalah agar ada cukup sumber daya untuk komponen sistem.
Menyambungkan ke BMC
Catatan
Pengontrol manajemen baseboard (BMC) tidak tersedia di Azure Stack Edge Pro 2 dan Azure Stack Edge Mini R. Cmdlet yang dijelaskan di bagian ini hanya berlaku untuk Azure Stack Edge Pro GPU dan Azure Stack Edge Pro R.
BMC digunakan untuk memantau dan mengelola perangkat Anda dari jarak jauh. Bagian ini menjelaskan cmdlet yang dapat digunakan untuk mengelola konfigurasi BMC. Sebelum menjalankan salah satu cmdlet ini, Sambungkan ke antarmuka PowerShell perangkat.
Get-HcsNetBmcInterface
: Gunakan cmdlet ini untuk mendapatkan properti konfigurasi jaringan BMC, misalnya,IPv4Address
,IPv4Gateway
,IPv4SubnetMask
,DhcpEnabled
.Berikut adalah hasil sampelnya:
[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
: Anda dapat menggunakan cmdlet ini dalam dua cara berikut.Gunakan cmdlet untuk mengaktifkan atau menonaktifkan konfigurasi DHCP untuk BMC dengan menggunakan nilai yang sesuai untuk parameter
UseDhcp
.Set-HcsNetBmcInterface -UseDhcp $true
Berikut adalah hasil sampelnya:
[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>
Gunakan cmdlet ini untuk mengonfigurasi konfigurasi statis untuk BMC. Anda dapat menentukan nilai untuk
IPv4Address
,IPv4Gateway
, danIPv4SubnetMask
.Set-HcsNetBmcInterface -IPv4Address "<IPv4 address of the device>" -IPv4Gateway "<IPv4 address of the gateway>" -IPv4SubnetMask "<IPv4 address for the subnet mask>"
Berikut adalah hasil sampelnya:
[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
: Gunakan cmdlet ini untuk memodifikasi kata sandi BMC untukEdgeUser
. Nama pengguna -EdgeUser
- peka huruf besar/kecil.Berikut adalah hasil sampelnya:
[10.100.10.10]: PS> Set-HcsBmcPassword -NewPassword "Password1" [10.100.10.10]: PS>
Keluar dari sesi jarak jauh
Untuk keluar dari sesi PowerShell jarak jauh, tutup jendela PowerShell.
Langkah berikutnya
- Menyebarkan Azure Stack Edge Pro GPU di portal Microsoft Azure.