Správa zařízení Azure Stack Edge Pro GPU přes Windows PowerShell

PLATÍ PRO:Yes for Pro GPU SKU Azure Stack Edge Pro – GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro RYes for Mini R SKUAzure 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ý v C:\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.

  1. Spusťte relaci Windows PowerShellu jako správce.

  2. 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.

  3. 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í.

  4. 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
    
  5. 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í.

  6. 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:

  1. Připojení do rozhraní PowerShellu vašeho zařízení.

  2. 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í

  1. Připojte se k rozhraní PowerShellu.

  2. 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.

  1. Připojte se k rozhraní PowerShellu.

  2. 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:

  1. Než začnete, ujistěte se, že:

    1. Nakonfigurovali a aktivovali jste zařízení Azure Stack Edge Pro s prostředkem Azure Stack Edge v Azure.
    2. Na tomto zařízení jste na webu Azure Portal nakonfigurovali výpočetní prostředky.
  2. Připojte se k rozhraní PowerShellu.

  3. 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í.

  1. Připojte se k rozhraní PowerShellu.

  2. 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.

  1. Připojte se k rozhraní PowerShellu.

  2. 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ě:

  1. Připojte se k rozhraní PowerShellu.

  2. Pomocí rutiny Get-HcsApplianceInfo získáte aktuální KubernetesPlatform a KubernetesWorkloadProfile nastavení pro vaše zařízení.

  3. 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>
    
  4. 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.

  1. Připojení do rozhraní PowerShellu zařízení.

  2. 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.

  3. 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>

Než začnete, musíte mít:

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 Připojení do 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 edgeagentpří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

Alternativně můžete Připojení na řídicí panel Kubernetes, abyste viděli 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:

  1. Připojení do rozhraní PowerShellu zařízení.

  2. 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 a Compute v části Resources . MemoryInBytes a ProcessorCount 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>
    
  3. 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í do řadiče 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 Připojení do 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, IPv4Addressnapří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, IPv4Gatewaya IPv4SubnetMask.

      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 pro EdgeUser. Uživatelské jméno – EdgeUserrozliš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