Azure Stack Edge Pro GPU cihazını Windows PowerShell aracılığıyla yönetme
ŞUNLAR IÇIN GEÇERLIDIR: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Azure Stack Edge Pro GPU çözümü, verileri işlemenize ve ağ üzerinden Azure'a göndermenize olanak tanır. Bu makalede, Azure Stack Edge Pro GPU cihazınız için bazı yapılandırma ve yönetim görevleri açıklanmaktadır. Cihazınızı yönetmek için Azure portalını, yerel web kullanıcı arabirimini veya Windows PowerShell arabirimini kullanabilirsiniz.
Bu makalede, cihazın PowerShell arabirimine nasıl bağlanabileceğinize ve bu arabirimi kullanarak gerçekleştirebileceğiniz görevlere odaklanılmaktadır.
PowerShell arabirimine bağlanın
İstemcinin işletim sistemine bağlı olarak, cihaza uzaktan bağlanma yordamları farklıdır.
Windows istemcisinden uzaktan bağlanma
Önkoşullar
Başlamadan önce aşağıdakilerden emin olun:
Windows istemciniz Windows PowerShell 5.0 veya üzerini çalıştırıyor.
Windows istemcinizde, cihazda yüklü düğüm sertifikasına karşılık gelen imzalama zinciri (kök sertifika) vardır. Ayrıntılı yönergeler için bkz . Windows istemcinize sertifika yükleme.
hosts
Windows istemciniz için konumundaC:\Windows\System32\drivers\etc
bulunan dosyanın düğüm sertifikasına karşılık gelen bir girdisi aşağıdaki biçimdedir:<Device IP> <Node serial number>.<DNS domain of the device>
Aşağıda dosya için örnek bir giriş verilmiştir
hosts
:10.100.10.10 1HXQG13.wdshcsso.com
Ayrıntılı adımlar
Windows istemcisinden uzaktan bağlanmak için bu adımları izleyin.
Yönetici olarak bir Windows PowerShell oturumu çalıştırın.
İstemcinizde Windows Uzaktan Yönetim hizmetinin çalıştığından emin olun. Komut istemine şunu yazın:
winrm quickconfig
Daha fazla bilgi için bkz . Windows Uzaktan Yönetimi için yükleme ve yapılandırma.
Dosyasında kullanılan bağlantı dizesi bir değişken atayın
hosts
.$Name = "<Node serial number>.<DNS domain of the device>"
ve
<DNS domain of the device>
değerini cihazınızın düğüm seri numarası ve DNS etki alanı ile değiştirin<Node serial number>
. Düğüm seri numarası değerlerini, cihazınızın yerel web kullanıcı arabirimindeki Cihaz sayfasından Sertifikalar sayfasından ve DNS etki alanından alabilirsiniz.Cihazınızın bu bağlantı dizesi istemcinin güvenilen konaklar listesine eklemek için aşağıdaki komutu yazın:
Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force
Cihazda bir Windows PowerShell oturumu başlatın:
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL
Güven ilişkisiyle ilgili bir hata görürseniz, cihazınıza yüklenen düğüm sertifikasının imzalama zincirinin cihazınıza erişen istemcide de yüklü olup olmadığını denetleyin.
İstendiğinde parolayı belirtin. Yerel web kullanıcı arabiriminde oturum açmak için kullanılan parolayı kullanın. Varsayılan yerel web kullanıcı arabirimi parolası Parola1'dir. Uzak PowerShell kullanarak cihaza başarıyla bağlandığınızda aşağıdaki örnek çıkışı görürsünüz:
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>
seçeneğini kullandığınızda-UseSSL
, Https üzerinden PowerShell üzerinden uzaktan iletişim kurabilirsiniz. PowerShell aracılığıyla uzaktan bağlanmak için her zaman https kullanmanızı öneririz. Güvenilen ağlarda, Http üzerinden PowerShell üzerinden uzaktan iletişim kabul edilebilir. Önce yerel kullanıcı arabiriminde http üzerinden uzak PowerShell'i etkinleştirirsiniz. Ardından, seçeneği olmadan önceki yordamı kullanarak cihazın PowerShell arabirimine -UseSSL
bağlanabilirsiniz.
Sertifikaları kullanmıyorsanız (sertifikaları kullanmanızı öneririz!), oturum seçeneklerini kullanarak sertifika doğrulama denetimini atlayabilirsiniz: -SkipCACheck -SkipCNCheck -SkipRevocationCheck
.
$sessOptions = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL -SessionOption $sessOptions
Sertifika denetimi atlanırken örnek bir çıkış aşağıda verilmiştir:
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>
Önemli
Geçerli sürümde, cihazın PowerShell arabirimine yalnızca bir Windows istemcisi aracılığıyla bağlanabilirsiniz. Seçeneği -UseSSL
Linux istemcileriyle çalışmaz.
Destek paketi oluşturma
Herhangi bir cihaz sorunuyla karşılaşırsanız sistem günlüklerinden bir destek paketi oluşturabilirsiniz. Microsoft Desteği sorunları gidermek için bu paketi kullanır. Destek paketi oluşturmak için şu adımları izleyin:
Cihazınızın PowerShell arabirimine bağlanın.
Get-HcsNodeSupportPackage
Destek paketi oluşturmak için komutunu kullanın. Cmdlet'in kullanımı aşağıdaki gibidir: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, cihazınızdan günlükleri toplar ve bu günlükleri belirtilen bir ağa veya yerel paylaşıma kopyalar.
Kullanılan parametreler şunlardır:
-Path
- Destek paketinin kopyalanacak ağı veya yerel yolu belirtin. (gerekli)-Credential
- Korumalı yola erişmek için kimlik bilgilerini belirtin.-Zip
- Zip dosyası oluşturmak için belirtin.-Include
- Destek paketine dahil edilecek bileşenleri dahil etmek için belirtin. Belirtilmezse,Default
varsayılır.-IncludeArchived
- Arşivlenmiş günlükleri destek paketine eklemek için belirtin.-IncludePeriodicStats
- Düzenli istatistik günlüklerini destek paketine eklemek için belirtin.
Cihaz bilgilerini görüntüleme
Cihazınızın bilgilerini almak için öğesini
Get-HcsApplianceInfo
kullanın.Aşağıdaki örnekte bu cmdlet'in kullanımı gösterilmektedir:
[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
Önemli cihaz bilgilerinden bazılarını özetleyen bir tablo aşağıdadır:
Parametre Açıklama FriendlyName Cihaz dağıtımı sırasında yerel web kullanıcı arabirimi aracılığıyla yapılandırılan cihazın kolay adı. Varsayılan kolay ad, cihaz seri numarasıdır. SerialNumber Cihaz seri numarası, fabrikada atanan benzersiz bir numaradır. Model Azure Stack Edge veya Data Box Gateway cihazınızın modeli. Model, Azure Stack Edge için fiziksel ve Data Box Gateway için sanaldır. FriendlySoftwareVersion Cihaz yazılımı sürümüne karşılık gelen kolay dize. Önizleme çalıştıran bir sistem için kolay yazılım sürümü Data Box Edge 1902 olacaktır. HcsVersion Cihazınızda çalışan HCS yazılım sürümü. Örneğin, Data Box Edge 1902'ye karşılık gelen HCS yazılım sürümü 1.4.771.324'dür. LocalCapacityInMb Cihazın Megabitlerdeki toplam yerel kapasitesi. IsRegistered Bu değer, cihazınızın hizmetle etkinleştirilip etkinleştirilmediğini gösterir.
GPU sürücü bilgilerini görüntüleme
İşlem rolü cihazınızda yapılandırıldıysa, GPU sürücü bilgilerini PowerShell arabirimi aracılığıyla da alabilirsiniz.
Cihazınızın GPU sürücü bilgilerini almak için öğesini
Get-HcsGpuNvidiaSmi
kullanın.Aşağıdaki örnekte bu cmdlet'in kullanımı gösterilmektedir:
Get-HcsGpuNvidiaSmi
Bu cmdlet'in örnek çıktısından sürücü bilgilerini not edin.
+-----------------------------------------------------------------------------+ | 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 | +-------------------------------+----------------------+----------------------+
Çok İşlemli Hizmeti (MPS) etkinleştirme
Nvidia GPU'larında Çok İşlemli Hizmet (MPS), GPU'ların birden çok iş tarafından paylaşılabildiği ve her işin GPU kaynaklarının bir kısmının ayrıldığı bir mekanizma sağlar. MPS, Azure Stack Edge Pro GPU cihazınızdaki bir önizleme özelliğidir. Cihazınızda MPS'yi etkinleştirmek için şu adımları izleyin:
Başlamadan önce aşağıdakilerden emin olun:
- Azure Stack Edge Pro cihazınızı Azure'da bir Azure Stack Edge kaynağıyla yapılandırıp etkinleştirdiniz.
- Azure portalında bu cihazda işlem yapılandırdıysanız.
Cihazınızda MPS'yi etkinleştirmek için aşağıdaki komutu kullanın.
Start-HcsGpuMPS
Not
Cihaz yazılımı ve Kubernetes kümesi güncelleştirildiğinde, MPS ayarı iş yükleri için korunmaz. MPS'yi yeniden etkinleştirmeniz gerekir.
Cihazınızı sıfırlama
Cihazınızı sıfırlamak için veri diskinde ve cihazınızın önyükleme diskinde bulunan tüm verileri güvenli bir şekilde silmeniz gerekir.
Hem veri disklerini ve önyükleme diskini veya yalnızca veri disklerini silmek için Reset-HcsAppliance
cmdlet’ini kullanın. SecureWipeBootDisk
ve SecureWipeDataDisks
anahtarları, önyükleme diskini ve veri disklerini sırasıyla silmenize olanak sağlar.
SecureWipeBootDisk
anahtarı önyükleme diskini siler ve cihazı kullanılamaz hale getirir. Yalnızca cihazın Microsoft’a iade edilmesi gerektiğinde kullanılması gerekir. Daha fazla bilgi için bkz. Cihazı Microsoft’a iade etme.
Yerel web kullanıcı arabiriminde cihaz sıfırlama özelliğini kullanırsanız, yalnızca veri diskleri güvenli bir şekilde silinir ve önyükleme diskinde işlem yapılmaz. Önyükleme diski cihaz yapılandırmasını içerir.
Komut istemine şunu yazın:
Reset-HcsAppliance -SecureWipeBootDisk -SecureWipeDataDisks
Aşağıdaki örnek bu cmdlet’in nasıl kullanıldığını gösterir:
[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
İşlem günlüklerini alma
İşlem rolü cihazınızda yapılandırıldıysa, işlem günlüklerini PowerShell arabirimi aracılığıyla da alabilirsiniz.
cihazınızın işlem günlüklerini almak için öğesini
Get-AzureDataBoxEdgeComputeRoleLogs
kullanın.Aşağıdaki örnekte bu cmdlet'in kullanımı gösterilmektedir:
Get-AzureDataBoxEdgeComputeRoleLogs -Path "\\hcsfs\logs\myacct" -Credential "username" -FullLogCollection
Cmdlet için kullanılan parametrelerin açıklaması aşağıdadır:
Path
: İşlem günlüğü paketini oluşturmak istediğiniz paylaşıma bir ağ yolu sağlayın.Credential
: Ağ paylaşımı için kullanıcı adını girin. Bu cmdlet'i çalıştırdığınızda, paylaşım parolasını sağlamanız gerekir.FullLogCollection
: Bu parametre, günlük paketinin tüm işlem günlüklerini içermesini sağlar. Varsayılan olarak, günlük paketi günlüklerin yalnızca bir alt kümesini içerir.
Kubernetes iş yükü profillerini değiştirme
Bir küme oluşturup yapılandırdıktan ve yeni sanal anahtarlar oluşturduktan sonra, sanal anahtarlarınızla ilişkili sanal ağları ekleyebilir veya silebilirsiniz. Ayrıntılı adımlar için bkz . Sanal anahtarları yapılandırma.
Sanal anahtarlar oluşturulduktan sonra Kubernetes işlem trafiğinin anahtarlarını etkinleştirerek bir Kubernetes iş yükü profili belirtebilirsiniz. Bunu yerel kullanıcı arabirimini kullanarak yapmak için İşlem IPS'sini yapılandırma makalesindeki adımları kullanın. PowerShell kullanarak bunu yapmak için aşağıdaki adımları kullanın:
Get-HcsApplianceInfo
Cihazınızın güncelKubernetesPlatform
veKubernetesWorkloadProfile
ayarlarını almak için cmdlet'ini kullanın.Get-HcsKubernetesWorkloadProfiles
Azure Stack Edge cihazınızda kullanılabilen profilleri belirlemek için cmdlet'ini kullanın.[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
Bir Azure Özel MEC çözümü olan AP5GC için iş yükü profilini ayarlamak için cmdlet'ini kullanın.Aşağıdaki örnekte bu cmdlet'in kullanımı gösterilmektedir:
Set-HcsKubernetesWorkloadProfile -Type "AP5GC"
Bu cmdlet için örnek çıktı aşağıda verilmiştir:
[10.100.10.10]: PS>KubernetesPlatform : AKS [10.100.10.10]: PS>KubernetesWorkloadProfile : AP5GC [10.100.10.10]: PS>
Kubernetes pod ve hizmet alt ağlarını değiştirme
Ortamınızda diğer iş yükleri seçeneğini çalıştırıyorsanız, varsayılan olarak Azure Stack Edge cihazınızdaKi Kubernetes sırasıyla pod ve hizmet için 172.27.0.0/16 ve 172.28.0.0/16 alt ağlarını kullanır. Bu alt ağlar ağınızda zaten kullanılıyorsa, bu alt ağları değiştirmek için cmdlet'ini Set-HcsKubeClusterNetworkInfo
çalıştırabilirsiniz.
Bu adımda Kubernetes kümesi oluşturulurken Azure portalından işlem yapılandırmadan önce bu yapılandırmayı gerçekleştirmek istiyorsunuz.
Cihazın PowerShell arabirimine bağlanın.
Cihazın PowerShell arabiriminden şunu çalıştırın:
Set-HcsKubeClusterNetworkInfo -PodSubnet <subnet details> -ServiceSubnet <subnet details>
<Alt ağ ayrıntılarını> kullanmak istediğiniz alt ağ aralığıyla değiştirin.
Bu komutu çalıştırdıktan sonra, pod ve hizmet alt ağlarının değiştiğini doğrulamak için komutunu kullanabilirsiniz
Get-HcsKubeClusterNetworkInfo
.
Bu komut için örnek bir çıkış aşağıda verilmiştir.
[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>
IoT Edge ile ilgili Kubernetes sorunlarını ayıklama
Başlamadan önce şunları yapmanız gerekir:
- İşlem ağı yapılandırıldı. Bkz . Öğretici: GPU ile Azure Stack Edge Pro için ağı yapılandırma.
- Cihazınızda yapılandırılmış işlem rolü.
İşlem rolü yapılandırılmış bir Azure Stack Edge Pro GPU cihazında iki farklı komut kümesi kullanarak cihazla ilgili sorunları giderebilir veya izleyebilirsiniz.
- Komutları kullanma
iotedge
. Bu komutlar cihazınız için temel işlemler için kullanılabilir. - Komutları kullanma
kubectl
. Bu komutlar, cihazınız için kapsamlı bir işlem kümesi için kullanılabilir.
Yukarıdaki komut kümelerinden birini yürütmek için PowerShell arabirimine bağlanmanız gerekir.
Komutları kullanma iotedge
Kullanılabilir komutların listesini görmek için PowerShell arabirimine bağlanın ve işlevini kullanın iotedge
.
[10.100.10.10]: PS>iotedge -?
Usage: iotedge COMMAND
Commands:
list
logs
restart
[10.100.10.10]: PS>
Aşağıdaki tabloda, için iotedge
kullanılabilen komutların kısa bir açıklaması yer alır:
komut | Açıklama |
---|---|
list |
Modülleri listeleme |
logs |
Modülün günlüklerini getirme |
restart |
Modülü durdurma ve yeniden başlatma |
Tüm IoT Edge modüllerini listeleme
Cihazınızda çalışan tüm modülleri listelemek için komutunu kullanın iotedge list
.
Bu komutun örnek çıktısı aşağıda verilmiştir. Bu komut tüm modülleri, ilişkili yapılandırmayı ve modüllerle ilişkili dış IP'leri listeler. Örneğin, web sunucusu uygulamasına adresinden https://10.128.44.244
erişebilirsiniz.
[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>
Modülleri yeniden başlatma
Cihazınızda çalışan tüm modülleri listelemek için komutunu kullanabilirsiniz list
. Ardından yeniden başlatmak istediğiniz modülün adını belirleyin ve komutuyla restart
kullanın.
Bir modülü yeniden başlatmanın örnek çıktısı aşağıda verilmiştir. Modülün ne kadar süreyle çalıştığının açıklamasına bağlı olarak, bunun cuda-sample1
yeniden başlatıldığını görebilirsiniz.
[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>
Modül günlüklerini alma
logs
Cihazınızda çalışan herhangi bir IoT Edge modülünün günlüklerini almak için komutunu kullanın.
Kapsayıcı görüntüsü oluşturulurken veya görüntüyü çekerken bir hata oluştuysa komutunu çalıştırın logs edgeagent
. edgeagent
, diğer kapsayıcıların sağlanmasından sorumlu IoT Edge çalışma zamanı kapsayıcısıdır. logs edgeagent
Tüm günlükleri döküm ettiğinden, son hataları görmenin iyi bir yolu 0' seçeneğini --tail
kullanmaktır.
Aşağıda, örnek bir çıkış bulunmaktadır.
[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>
Not
GetModuleLogs veya UploadModuleLogs gibi doğrudan yöntemler, Azure Stack Edge'inizdeki Kubernetes'te IoT Edge'de desteklenmez.
kubectl komutlarını kullanma
İşlem rolü yapılandırılmış bir Azure Stack Edge Pro GPU cihazında kubectl
, modülleri izlemek veya sorunlarını gidermek için tüm komutlar kullanılabilir. Kullanılabilir komutların listesini görmek için komut penceresinden komutunu çalıştırın 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>
Komutların kubectl
kapsamlı bir listesi için kubectl
bilgi sayfasına gidin.
Kubernetes kümesi dışında kullanıma sunulan hizmet veya modülün IP'sini almak için
Kubernetes dışında kullanıma sunulan bir yük dengeleme hizmetinin veya modüllerin IP'sini almak için aşağıdaki komutu çalıştırın:
kubectl get svc -n iotedge
Aşağıda, Kubernetes kümesinin dışında kullanıma sunulan tüm hizmetlerin veya modüllerin örnek çıkışı verilmiştir.
[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>
Dış IP sütunundaki IP adresi, hizmetin veya modülün dış uç noktasına karşılık gelir. Kubernetes panosunda dış IP'yi de alabilirsiniz.
Modülün başarıyla dağıtılıp dağıtılmadığını denetlemek için
İşlem modülleri, iş mantığının uygulandığı kapsayıcılardır. Kubernetes pod'larının birden çok kapsayıcısı olabilir.
İşlem modülünün başarıyla dağıtılıp dağıtılmadığını denetlemek için cihazın PowerShell arabirimine bağlanın.
get pods
komutunu çalıştırın ve kapsayıcının (işlem modülüne karşılık gelen) çalışıp çalışmadığını denetleyin.
Belirli bir ad alanında çalışan tüm podların listesini almak için aşağıdaki komutu çalıştırın:
get pods -n <namespace>
IoT Edge aracılığıyla dağıtılan modülleri denetlemek için aşağıdaki komutu çalıştırın:
get pods -n iotedge
Aşağıda, ad alanında çalışan tüm podların örnek çıktısı verilmiştir 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>
Durum durumu, ad alanı içindeki tüm podların çalıştığını ve Ready ise bir podda dağıtılan kapsayıcı sayısını gösterir. Yukarıdaki örnekte tüm podlar çalışır durumdadır ve podların her birinde dağıtılan tüm modüller çalışır durumdadır.
Azure Arc aracılığıyla dağıtılan modülleri denetlemek için aşağıdaki komutu çalıştırın:
get pods -n azure-arc
Alternatif olarak, IoT Edge veya Azure Arc dağıtımlarını görmek için Kubernetes panosuna bağlanabilirsiniz.
Belirli bir ad alanı için belirli bir podun daha ayrıntılı bir çıkışı için aşağıdaki komutu çalıştırabilirsiniz:
kubectl describe pod <pod name> -n <namespace>
Örnek çıktı burada gösterilmiştir.
[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>
Kapsayıcı günlüklerini almak için
Bir modülün günlüklerini almak için cihazın PowerShell arabiriminden aşağıdaki komutu çalıştırın:
kubectl logs <pod_name> -n <namespace> --all-containers
all-containers
Bayrak tüm kapsayıcılar için tüm günlükleri döküm ettiğinden, son hataları görmenin iyi bir yolu seçeneğini --tail 10
kullanmaktır.
Aşağıda örnek bir çıkış verilmiştir.
[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 çalışan düğümü için bellek, işlemci sınırlarını değiştirme
Kubernetes çalışan düğümü için bellek veya işlemci sınırlarını değiştirmek için aşağıdaki adımları uygulayın:
Cihazın PowerShell arabirimine bağlanın.
Çalışan düğümü için geçerli kaynakları ve rol seçeneklerini almak için aşağıdaki komutu çalıştırın:
Get-AzureDataBoxEdgeRole
Aşağıda, örnek bir çıkış bulunmaktadır. bölümü için
Name
veCompute
altındakiResources
değerleri not edin.MemoryInBytes
veProcessorCount
Kubernetes çalışan düğümü için şu anda atanmış olan değerlerin bellek ve işlemci sayısını belirtir.[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>
Çalışan düğümü için bellek ve işlemci değerlerini değiştirmek için aşağıdaki komutu çalıştırın:
Set-AzureDataBoxEdgeRoleCompute -Name <Name value from the output of Get-AzureDataBoxEdgeRole> -Memory <Value in Bytes> -ProcessorCount <No. of cores>
Aşağıda, örnek bir çıkış bulunmaktadır.
[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>
Bellek ve işlemci kullanımını değiştirirken bu yönergeleri izleyin.
- Varsayılan bellek, cihaz belirtiminin %25'idir.
- Varsayılan işlemci sayısı, cihaz belirtiminin %30'dur.
- Bellek ve işlemci sayıları için değerleri değiştirirken, cihaz belleğinin %15 ile %60'ı arasındaki değerleri ve işlemci sayısını değiştirmenizi öneririz.
- Sistem bileşenleri için yeterli kaynak olması için %60'lık bir üst sınır kullanmanızı öneririz.
BMC'ye bağlanma
Not
Temel kart yönetim denetleyicisi (BMC), Azure Stack Edge Pro 2 ve Azure Stack Edge Mini R'de kullanılamaz. Bu bölümde açıklanan cmdlet'ler yalnızca Azure Stack Edge Pro GPU ve Azure Stack Edge Pro R için geçerlidir.
BMC, cihazınızı uzaktan izlemek ve yönetmek için kullanılır. Bu bölümde, BMC yapılandırmasını yönetmek için kullanılabilecek cmdlet'ler açıklanmaktadır. Bu cmdlet'lerden herhangi birini çalıştırmadan önce cihazın PowerShell arabirimine bağlanın.
Get-HcsNetBmcInterface
: BMC'nin ağ yapılandırma özelliklerini (örneğin,IPv4Address
,IPv4Gateway
,IPv4SubnetMask
DhcpEnabled
) almak için bu cmdlet'i kullanın.Örnek çıktı aşağıdaki gibidir:
[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
: Bu cmdlet'i aşağıdaki iki yolla kullanabilirsiniz.Cmdlet'ini kullanarak parametre için uygun değeri
UseDhcp
kullanarak BMC için DHCP yapılandırmasını etkinleştirin veya devre dışı bırakın.Set-HcsNetBmcInterface -UseDhcp $true
Örnek çıktı aşağıdaki gibidir:
[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>
BMC için statik yapılandırmayı yapılandırmak için bu cmdlet'i kullanın. ,
IPv4Gateway
veIPv4SubnetMask
değerleriniIPv4Address
belirtebilirsiniz.Set-HcsNetBmcInterface -IPv4Address "<IPv4 address of the device>" -IPv4Gateway "<IPv4 address of the gateway>" -IPv4SubnetMask "<IPv4 address for the subnet mask>"
Örnek çıktı aşağıdaki gibidir:
[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
: için BMC parolasını değiştirmek içinEdgeUser
bu cmdlet'i kullanın. Kullanıcı adı -EdgeUser
büyük/küçük harfe duyarlıdır.Örnek çıktı aşağıdaki gibidir:
[10.100.10.10]: PS> Set-HcsBmcPassword -NewPassword "Password1" [10.100.10.10]: PS>
Uzak oturumdan çıkma
Uzak PowerShell oturumundan çıkmak için PowerShell penceresini kapatın.
Sonraki adımlar
- Azure portalda Azure Stack Edge Pro GPU'larını dağıtma.