Správa zařízení Azure Stack Edge Pro GPU přes Windows PowerShell
PLATÍ PRO: Azure Stack Edge Pro – GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Řešení Azure Stack Edge Pro GPU umožňuje zpracovávat data a odesílat je přes síť do Azure. Tento článek popisuje některé úlohy konfigurace a správy pro vaše zařízení Azure Stack Edge Pro GPU. Ke správě zařízení můžete použít Azure Portal, místní webové uživatelské rozhraní nebo rozhraní Windows PowerShellu.
Tento článek se zaměřuje na to, jak se můžete připojit k rozhraní PowerShellu zařízení a k úlohám, které můžete pomocí tohoto rozhraní provádět.
Připojte se k rozhraní PowerShellu.
V závislosti na operačním systému klienta se postupy vzdáleného připojení k zařízení liší.
Vzdálené připojení z klienta systému Windows
Požadavky
Než začnete, ujistěte se, že:
Váš klient Windows používá Windows PowerShell 5.0 nebo novější.
Váš klient Windows má podpisový řetězec (kořenový certifikát) odpovídající certifikátu uzlu nainstalovanému v zařízení. Podrobné pokyny najdete v tématu Instalace certifikátu v klientovi systému Windows.
Soubor
hosts
umístěný vC:\Windows\System32\drivers\etc
klientovi s Windows má položku odpovídající certifikátu uzlu v následujícím formátu:<Device IP> <Node serial number>.<DNS domain of the device>
Tady je příklad položky souboru
hosts
:10.100.10.10 1HXQG13.wdshcsso.com
Podrobné kroky
Pomocí těchto kroků se vzdáleně připojte z klienta systému Windows.
Spusťte relaci Windows PowerShellu jako správce.
Ujistěte se, že je ve vašem klientovi spuštěná služba Vzdálená správa systému Windows. Na příkazovém řádku zadejte:
winrm quickconfig
Další informace naleznete v tématu Instalace a konfigurace pro vzdálenou správu systému Windows.
Přiřaďte proměnnou k připojovací řetězec použitému v
hosts
souboru.$Name = "<Node serial number>.<DNS domain of the device>"
Nahraďte
<Node serial number>
sériové<DNS domain of the device>
číslo uzlu a doménou DNS vašeho zařízení. Hodnoty sériového čísla uzlu můžete získat ze stránky Certifikáty a domény DNS ze stránky Zařízení v místním webovém uživatelském rozhraní vašeho zařízení.Pokud chcete přidat tento připojovací řetězec pro vaše zařízení do seznamu důvěryhodných hostitelů klienta, zadejte následující příkaz:
Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force
Na zařízení spusťte relaci Windows PowerShellu:
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL
Pokud se zobrazí chyba související s vztahem důvěryhodnosti, zkontrolujte, jestli je na klientském počítači, který přistupuje k vašemu zařízení, nainstalovaný podpisový řetězec certifikátu uzlu nahraného do vašeho zařízení.
Po zobrazení výzvy zadejte heslo. Použijte stejné heslo, které se používá k přihlášení k místnímu webovému uživatelskému rozhraní. Výchozí heslo místního webového uživatelského rozhraní je Password1. Po úspěšném připojení k zařízení pomocí vzdáleného PowerShellu se zobrazí následující ukázkový výstup:
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>
Když použijete -UseSSL
tuto možnost, přes PowerShell přes https se přeskakujete do vzdálené komunikace. Ke vzdálenému připojení přes PowerShell doporučujeme vždy používat https . V rámci důvěryhodných sítí je vzdálené komunikace přes PowerShell přes http přijatelná. Nejprve v místním uživatelském rozhraní povolíte vzdálený PowerShell přes http. Potom se můžete připojit k rozhraní PowerShellu zařízení pomocí předchozího postupu bez -UseSSL
možnosti.
Pokud certifikáty nepoužíváte (doporučujeme používat certifikáty!), můžete kontrolu ověření certifikátu přeskočit pomocí možností relace: -SkipCACheck -SkipCNCheck -SkipRevocationCheck
$sessOptions = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL -SessionOption $sessOptions
Tady je příklad výstupu při vynechání kontroly certifikátu:
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>
Důležité
V aktuální verzi se můžete připojit k rozhraní PowerShellu zařízení jenom přes klienta Windows. Tato -UseSSL
možnost nefunguje s klienty Linuxu.
Vytvoření balíčku podpory
Pokud dojde k problémům se zařízením, můžete vytvořit balíček podpory z systémových protokolů. podpora Microsoftu tento balíček používá k řešení potíží. Pokud chcete vytvořit balíček podpory, postupujte takto:
Get-HcsNodeSupportPackage
Pomocí příkazu vytvořte balíček podpory. Použití rutiny je následující: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>]
Rutina shromažďuje protokoly z vašeho zařízení a kopíruje tyto protokoly do zadané sítě nebo místní sdílené složky.
Použité parametry jsou následující:
-Path
– Zadejte síť nebo místní cestu, do které chcete zkopírovat balíček podpory. (požadováno)-Credential
– Zadejte přihlašovací údaje pro přístup k chráněné cestě.-Zip
- Zadejte, chcete-li vygenerovat soubor ZIP.-Include
– Určete, aby byly součástí balíčku podpory zahrnuté součásti. Pokud není zadán,Default
předpokládá se.-IncludeArchived
– Zadejte, aby se do balíčku podpory zahrnuly archivované protokoly.-IncludePeriodicStats
– Zadejte, aby se do balíčku podpory zahrnuly pravidelné protokoly statistiky.
Zobrazení informací o zařízení
Informace o vašem zařízení získáte pomocí příkazu.<
/a0> Následující příklad ukazuje použití této rutiny:
[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
Tady je tabulka se souhrnem některých důležitých informací o zařízení:
Parametr Popis FriendlyName Popisný název zařízení nakonfigurovaný prostřednictvím místního webového uživatelského rozhraní během nasazování zařízení. Výchozí popisný název je sériové číslo zařízení. SerialNumber Sériové číslo zařízení je jedinečné číslo přiřazené v továrně. Model Model pro zařízení Azure Stack Edge nebo Data Box Gateway. Model je fyzický pro Azure Stack Edge a virtuální pro Službu Data Box Gateway. FriendlySoftwareVersion Popisný řetězec, který odpovídá verzi softwaru zařízení. V případě systému, na kterém běží verze Preview, by byla uživatelsky přívětivá verze softwaru Data Box Edge 1902. HcsVersion Verze softwaru HCS spuštěná na vašem zařízení. Například verze softwaru HCS odpovídající Data Box Edge 1902 je 1.4.771.324. LocalCapacityInMb Celková místní kapacita zařízení v Megabitech. IsRegistered Tato hodnota označuje, jestli je vaše zařízení aktivované se službou.
Zobrazení informací o ovladači GPU
Pokud je na vašem zařízení nakonfigurovaná výpočetní role, můžete také získat informace o ovladači GPU prostřednictvím rozhraní PowerShellu.
Get-HcsGpuNvidiaSmi
Použijte k získání informací o ovladači GPU pro vaše zařízení.Následující příklad ukazuje použití této rutiny:
Get-HcsGpuNvidiaSmi
Poznamenejte si informace o ovladači z ukázkového výstupu této rutiny.
+-----------------------------------------------------------------------------+ | 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 | +-------------------------------+----------------------+----------------------+
Povolení služby s více procesy (MPS)
Služba MPS (Multi-Process Service) na grafických procesorech Nvidia poskytuje mechanismus, ve kterém je možné gpu sdílet více úlohami, kde je každé úloze přiděleno určité procento prostředků GPU. MPS je funkce Preview na zařízení Azure Stack Edge Pro GPU. Pokud chcete ve svém zařízení povolit MPS, postupujte takto:
Než začnete, ujistěte se, že:
- Nakonfigurovali a aktivovali jste zařízení Azure Stack Edge Pro s prostředkem Azure Stack Edge v Azure.
- Na tomto zařízení jste na webu Azure Portal nakonfigurovali výpočetní prostředky.
Pomocí následujícího příkazu povolte mps na vašem zařízení.
Start-HcsGpuMPS
Poznámka:
Když se aktualizuje software zařízení a cluster Kubernetes, nastavení MPS se pro úlohy nezachová. Budete muset znovu povolit MPS.
Resetování zařízení
Pokud chcete resetovat zařízení, musíte bezpečně vymazat všechna data na datovém a spouštěcím disku zařízení.
Pomocí rutiny Reset-HcsAppliance
můžete vymazat datové disky i spouštěcí disk nebo pouze datové disky. SecureWipeDataDisks
Přepínače SecureWipeBootDisk
umožňují vymazat spouštěcí disk a datové disky.
Přepínač SecureWipeBootDisk
vymaže spouštěcí disk a zařízení bude nepoužitelné. Měl by se použít pouze v případě, že je potřeba vrátit zařízení do Microsoftu. Další informace najdete v tématu Vrácení zařízení do Microsoftu.
Pokud využijete možnost resetování zařízení v místním webovém uživatelském rozhraní, bezpečně se vymažou pouze datové disky a spouštěcí disk zůstane nedotčený. Spouštěcí disk obsahuje konfiguraci zařízení.
Na příkazovém řádku zadejte:
Reset-HcsAppliance -SecureWipeBootDisk -SecureWipeDataDisks
Příklad použití této rutiny najdete v následujícím příkladu:
[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
Získání výpočetních protokolů
Pokud je na vašem zařízení nakonfigurovaná výpočetní role, můžete také získat výpočetní protokoly přes rozhraní PowerShellu.
Použijte k
Get-AzureDataBoxEdgeComputeRoleLogs
získání výpočetních protokolů pro vaše zařízení.Následující příklad ukazuje použití této rutiny:
Get-AzureDataBoxEdgeComputeRoleLogs -Path "\\hcsfs\logs\myacct" -Credential "username" -FullLogCollection
Tady je popis parametrů použitých pro rutinu:
Path
: Zadejte síťovou cestu ke sdílené složce, do které chcete vytvořit balíček výpočetního protokolu.Credential
: Zadejte uživatelské jméno pro sdílenou síťovou složku. Když tuto rutinu spustíte, budete muset zadat heslo ke sdílené složce.FullLogCollection
: Tento parametr zajistí, že balíček protokolu bude obsahovat všechny výpočetní protokoly. Ve výchozím nastavení balíček protokolu obsahuje pouze podmnožinu protokolů.
Změna profilů úloh Kubernetes
Po vytvoření a konfiguraci clusteru a vytvoření nových virtuálních přepínačů můžete přidat nebo odstranit virtuální sítě přidružené k virtuálním přepínačům. Podrobný postup najdete v tématu Konfigurace virtuálních přepínačů.
Po vytvoření virtuálních přepínačů můžete povolit přepínače pro výpočetní provoz Kubernetes a určit profil úlohy Kubernetes. Pokud to chcete provést pomocí místního uživatelského rozhraní, postupujte podle kroků v části Konfigurace výpočetních IPS. Pokud to chcete provést pomocí PowerShellu, postupujte následovně:
Pomocí rutiny
Get-HcsApplianceInfo
získáte aktuálníKubernetesPlatform
aKubernetesWorkloadProfile
nastavení pro vaše zařízení.Pomocí rutiny
Get-HcsKubernetesWorkloadProfiles
identifikujte profily dostupné na vašem zařízení 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>
Pomocí rutiny
Set-HcsKubernetesWorkloadProfile
nastavte profil úlohy pro AP5GC, řešení Azure Private MEC.Následující příklad ukazuje použití této rutiny:
Set-HcsKubernetesWorkloadProfile -Type "AP5GC"
Tady je ukázkový výstup pro tuto rutinu:
[10.100.10.10]: PS>KubernetesPlatform : AKS [10.100.10.10]: PS>KubernetesWorkloadProfile : AP5GC [10.100.10.10]: PS>
Změna podsítí podu a služby Kubernetes
Pokud ve svém prostředí spouštíte další možnosti úloh , kubernetes ve výchozím nastavení na vašem zařízení Azure Stack Edge používá podsítě 172.27.0.0/16 a 172.28.0.0/16 pro pod a službu. Pokud se tyto podsítě už používají ve vaší síti, můžete tuto rutinu Set-HcsKubeClusterNetworkInfo
spustit a změnit tyto podsítě.
Tuto konfiguraci chcete provést před konfigurací výpočetních prostředků z webu Azure Portal při vytváření clusteru Kubernetes v tomto kroku.
V rozhraní PowerShellu zařízení spusťte:
Set-HcsKubeClusterNetworkInfo -PodSubnet <subnet details> -ServiceSubnet <subnet details>
<Nahraďte podrobnosti> podsítě rozsahem podsítě, který chcete použít.
Po spuštění tohoto příkazu můžete pomocí
Get-HcsKubeClusterNetworkInfo
příkazu ověřit, že se pody a podsítě služby změnily.
Tady je ukázkový výstup pro tento příkaz.
[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>
Ladění problémů s Kubernetes souvisejícími s IoT Edge
Než začnete, musíte mít:
- Nakonfigurovaná výpočetní síť Viz kurz: Konfigurace sítě pro Azure Stack Edge Pro pomocí GPU.
- Výpočetní role nakonfigurovaná na vašem zařízení.
Na zařízení Azure Stack Edge Pro s nakonfigurovanou výpočetní rolí můžete zařízení řešit nebo monitorovat pomocí dvou různých sad příkazů.
- Pomocí
iotedge
příkazů. Tyto příkazy jsou k dispozici pro základní operace pro vaše zařízení. - Pomocí
kubectl
příkazů. Tyto příkazy jsou k dispozici pro rozsáhlou sadu operací pro vaše zařízení.
Pokud chcete spustit některou z výše uvedených příkazů, musíte se připojit k rozhraní PowerShellu.
Použití iotedge
příkazů
Pokud chcete zobrazit seznam dostupných příkazů, připojte se k rozhraní PowerShellu a použijte iotedge
funkci.
[10.100.10.10]: PS>iotedge -?
Usage: iotedge COMMAND
Commands:
list
logs
restart
[10.100.10.10]: PS>
Následující tabulka obsahuje stručný popis příkazů dostupných pro iotedge
:
příkaz | Popis |
---|---|
list |
Seznam modulů |
logs |
Načtení protokolů modulu |
restart |
Zastavení a restartování modulu |
Výpis všech modulů IoT Edge
Pokud chcete zobrazit seznam všech modulů spuštěných na vašem zařízení, použijte iotedge list
příkaz.
Tady je ukázkový výstup tohoto příkazu. Tento příkaz zobrazí seznam všech modulů, přidružené konfigurace a externíCH IP adres přidružených k modulům. Například k aplikaci webového serveru můžete přistupovat na adrese 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>
Restartování modulů
Pomocí list
příkazu můžete zobrazit seznam všech modulů spuštěných na vašem zařízení. Pak identifikujte název modulu, který chcete restartovat, a použijte ho s příkazem restart
.
Tady je ukázkový výstup, jak restartovat modul. Na základě popisu, jak dlouho modul běží, uvidíte, že cuda-sample1
se restartoval.
[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>
Získání protokolů modulů
logs
Pomocí příkazu získáte protokoly pro libovolný modul IoT Edge spuštěný na vašem zařízení.
Pokud při vytváření image kontejneru nebo při načítání image došlo k chybě, spusťte logs edgeagent
příkaz . edgeagent
je kontejner modulu runtime IoT Edge, který zodpovídá za zřizování dalších kontejnerů. Vzhledem k tomu, že logs edgeagent
se vyhlásí všechny protokoly, je dobrým způsobem, jak zobrazit nedávné chyby, použít možnost --tail
0.
Zde je ukázkový výstup.
[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>
Poznámka:
Přímé metody, jako jsou GetModuleLogs nebo UploadModuleLogs, nejsou podporované ve službě IoT Edge v Kubernetes ve službě Azure Stack Edge.
Použití příkazů kubectl
Na zařízení s gpu Azure Stack Edge Pro, které má nakonfigurovanou výpočetní roli, jsou všechny kubectl
příkazy k dispozici pro monitorování nebo řešení potíží s moduly. Pokud chcete zobrazit seznam dostupných příkazů, spusťte kubectl --help
ho z příkazového okna.
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>
Úplný seznam kubectl
příkazů najdete v kubectl
taháku.
Získání IP adresy služby nebo modulu zveřejněného mimo cluster Kubernetes
Pokud chcete získat IP adresu služby vyrovnávání zatížení nebo modulů vystavených mimo Kubernetes, spusťte následující příkaz:
kubectl get svc -n iotedge
Následuje ukázkový výstup všech služeb nebo modulů, které jsou vystavené mimo cluster 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 adresa ve sloupci Externí IP adresa odpovídá externímu koncovému bodu pro službu nebo modul. Externí IP adresu můžete získat také na řídicím panelu Kubernetes.
Kontrola úspěšného nasazení modulu
Výpočetní moduly jsou kontejnery, které mají implementovanou obchodní logiku. Pod Kubernetes může mít spuštěných více kontejnerů.
Pokud chcete zkontrolovat, jestli je výpočetní modul úspěšně nasazený, připojte se k rozhraní PowerShellu zařízení.
get pods
Spusťte příkaz a zkontrolujte, jestli je spuštěný kontejner (odpovídající výpočetnímu modulu).
Pokud chcete získat seznam všech podů spuštěných v určitém oboru názvů, spusťte následující příkaz:
get pods -n <namespace>
Pokud chcete zkontrolovat moduly nasazené přes IoT Edge, spusťte následující příkaz:
get pods -n iotedge
Následuje ukázkový výstup všech podů spuštěných v iotedge
oboru názvů.
[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>
Stav označuje, že jsou spuštěné všechny pody v oboru názvů a připraveno označuje počet kontejnerů nasazených v podu. V předchozí ukázce jsou spuštěné všechny pody a všechny moduly nasazené v každém z podů jsou spuštěné.
Pokud chcete zkontrolovat moduly nasazené přes Azure Arc, spusťte následující příkaz:
get pods -n azure-arc
Případně se můžete připojit k řídicímu panelu Kubernetes a zobrazit nasazení IoT Edge nebo Azure Arc.
Pro podrobnější výstup konkrétního podu pro daný obor názvů můžete spustit následující příkaz:
kubectl describe pod <pod name> -n <namespace>
Tady se zobrazí ukázkový výstup.
[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>
Získání protokolů kontejneru
Pokud chcete získat protokoly pro modul, spusťte v rozhraní PowerShellu zařízení následující příkaz:
kubectl logs <pod_name> -n <namespace> --all-containers
Vzhledem k tomu all-containers
, že příznak vyhlásí všechny protokoly pro všechny kontejnery, dobrým způsobem, jak zobrazit nedávné chyby, je použít možnost --tail 10
.
Následuje ukázkový výstup.
[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>
Změna limitů paměti a procesorů pro pracovní uzel Kubernetes
Pokud chcete změnit omezení paměti nebo procesoru pro pracovní uzel Kubernetes, postupujte takto:
Pokud chcete získat aktuální prostředky pro pracovní uzel a možnosti role, spusťte následující příkaz:
Get-AzureDataBoxEdgeRole
Zde je ukázkový výstup. Poznamenejte si hodnoty pro
Name
oddíl aCompute
v částiResources
.MemoryInBytes
aProcessorCount
označte aktuálně přiřazené hodnoty paměti a počtu procesorů pro pracovní uzel 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>
Pokud chcete změnit hodnoty paměti a procesorů pracovního uzlu, spusťte následující příkaz:
Set-AzureDataBoxEdgeRoleCompute -Name <Name value from the output of Get-AzureDataBoxEdgeRole> -Memory <Value in Bytes> -ProcessorCount <No. of cores>
Zde je ukázkový výstup.
[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>
Při změně využití paměti a procesoru postupujte podle těchto pokynů.
- Výchozí paměť je 25 % specifikace zařízení.
- Výchozí počet procesorů je 30 % specifikace zařízení.
- Při změně hodnot počtu paměti a procesoru doporučujeme změnit hodnoty mezi 15 % až 60 % paměti zařízení a počtem procesorů.
- Doporučujeme horní limit 60 % tak, aby byly k dispozici dostatek prostředků pro systémové komponenty.
Připojení k řadiči pro správu základní desky
Poznámka:
Řadič pro správu základní desky (BMC) není k dispozici ve službě Azure Stack Edge Pro 2 a Azure Stack Edge Mini R. Rutiny popsané v této části platí jenom pro azure Stack Edge Pro GPU a Azure Stack Edge Pro R.
Řadič pro správu základní desky slouží k vzdálenému monitorování a správě zařízení. Tato část popisuje rutiny, které lze použít ke správě konfigurace řadiče pro správu základní desky. Před spuštěním některé z těchto rutin se připojte k rozhraní PowerShellu zařízení.
Get-HcsNetBmcInterface
: Pomocí této rutiny získáte vlastnosti konfigurace sítě řadiče pro správu základní desky,IPv4Address
například ,IPv4Gateway
,IPv4SubnetMask
,DhcpEnabled
.Tady je ukázkový výstup:
[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
: Tuto rutinu můžete použít následujícími dvěma způsoby.Pomocí rutiny povolte nebo zakažte konfiguraci DHCP pro řadič pro správu základní desky pomocí odpovídající hodnoty parametru
UseDhcp
.Set-HcsNetBmcInterface -UseDhcp $true
Tady je ukázkový výstup:
[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>
Pomocí této rutiny nakonfigurujte statickou konfiguraci řadiče pro správu základní desky. Můžete zadat hodnoty pro
IPv4Address
,IPv4Gateway
aIPv4SubnetMask
.Set-HcsNetBmcInterface -IPv4Address "<IPv4 address of the device>" -IPv4Gateway "<IPv4 address of the gateway>" -IPv4SubnetMask "<IPv4 address for the subnet mask>"
Tady je ukázkový výstup:
[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
: Pomocí této rutiny upravte heslo řadiče pro správu základní desky proEdgeUser
. Uživatelské jméno –EdgeUser
rozlišují se malá a velká písmena.Tady je ukázkový výstup:
[10.100.10.10]: PS> Set-HcsBmcPassword -NewPassword "Password1" [10.100.10.10]: PS>
Ukončení vzdálené relace
Pokud chcete ukončit vzdálenou relaci PowerShellu, zavřete okno PowerShellu.
Další kroky
- Nasazení GPU Azure Stack Edge Pro na webu Azure Portal