správa Azure Stack hraničního zařízení Pro GPU prostřednictvím Windows PowerShell

platí pro:  Ano pro SKU GPU Azure Stack Edge pro – GPU  pro r SKU Azure Stack Edge pro r  Ano pro Mini r SKU Azure 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 Azure Stack hraniční Pro zařízení GPU. ke správě zařízení můžete použít Azure Portal, místní webové uživatelské rozhraní nebo rozhraní Windows PowerShell.

Tento článek se zaměřuje na to, jak se můžete připojit k rozhraní PowerShellu zařízení a úlohám, které můžete používat v tomto rozhraní.

Připojte se k rozhraní PowerShellu.

Postupy vzdáleného připojení k zařízení se liší v závislosti na operačním systému klienta.

Vzdálené připojení z klienta 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á řetěz podpisů (kořenový certifikát) odpovídající certifikátu uzlu nainstalovanému na zařízení. Podrobné pokyny najdete v tématu Instalace certifikátu do klienta Windows.

  • Soubor pro vašeho klienta windows má položku hosts C:\Windows\System32\drivers\etc 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 pro hosts soubor:

    10.100.10.10 1HXQG13.wdshcsso.com

Podrobné kroky

Pokud se chcete vzdáleně připojit z klienta Windows, postupujte podle těchto kroků.

  1. Spusťte Windows PowerShell jako správce.

  2. Ujistěte se, Vzdálená správa systému Windows ve vašem klientovi spuštěná služba . Na příkazovém řádku zadejte:

    winrm quickconfig
    

    Další informace najdete v tématu Instalace a konfigurace pro Vzdálená správa systému Windows.

  3. Přiřaďte proměnnou k připojovacímu řetězci použitému v hosts souboru.

    $Name = "<Node serial number>.<DNS domain of the device>"
    

    Nahraďte <Node serial number> <DNS domain of the device> a sériovým číslem 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. Spusťte Windows PowerShell na zařízení:

    Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL
    

    Pokud se zobrazí chyba související s vztahem důvěryhodnosti, zkontrolujte, jestli je na klientovi, který přistupuje k vašemu zařízení, nainstalovaný také řetěz podepisování 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á pro 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 prostředí PowerShell se zobrazí následující vzorový 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 tuto -UseSSL možnost, bude Vzdálená komunikace prostřednictvím prostředí PowerShell prostřednictvím protokolu HTTPS. Pro vzdálené připojení prostřednictvím PowerShellu doporučujeme vždycky používat protokol HTTPS . V rámci důvěryhodných sítí je komunikace prostřednictvím PowerShellu přes protokol HTTP přijatelná. Nejdřív v místním uživatelském rozhraní povolíte vzdálené prostředí PowerShell přes protokol HTTP. Pak se můžete připojit k rozhraní PowerShell zařízení pomocí předchozího postupu bez -UseSSL Možnosti.

Pokud certifikáty nepoužíváte (doporučujeme použít certifikáty!), můžete tuto kontrolu 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 přeskočení 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í PowerShell zařízení jenom přes klienta Windows. -UseSSLMožnost nefunguje u klientů se systémem Linux.

Vytvoření balíčku pro podporu

Pokud se setkáte s problémy zařízení, můžete vytvořit balíček pro podporu ze systémových protokolů. Podpora Microsoftu používá tento balíček k řešení problémů. Pomocí těchto kroků vytvořte balíček pro podporu:

  1. Připojte se k rozhraní PowerShell vašeho zařízení.

  2. Pomocí Get-HcsNodeSupportPackage příkazu vytvořte balíček pro podporu. 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 ze zařízení a kopíruje tyto protokoly do zadané sítě nebo místní sdílené složky.

    Použijí se následující parametry:

    • -Path -Zadejte síť nebo místní cestu ke zkopírování balíčku pro podporu. požadovanou
    • -Credential -Zadejte přihlašovací údaje pro přístup k chráněné cestě.
    • -Zip – Určete, aby se vygeneroval soubor zip.
    • -Include – Určuje, že se mají zahrnout součásti, které se mají zahrnout do balíčku pro podporu. Pokud není zadaný, Default předpokládá se.
    • -IncludeArchived – Určuje, že se mají do balíčku pro podporu zahrnout archivované protokoly.
    • -IncludePeriodicStats – Určuje, že se mají do balíčku pro podporu zahrnout protokoly pravidelného oznámení.

Zobrazit informace o zařízení

  1. Připojte se k rozhraní PowerShell.

  2. Get-HcsApplianceInfoInformace pro vaše zařízení získáte pomocí.

    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 shrnující některé důležité informace 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ím popisným názvem je sériové číslo zařízení.
    SerialNumber Sériové číslo zařízení je jedinečné číslo přiřazené v továrně.
    Modelování Model pro Azure Stack Edge nebo Data Box Gateway zařízení. Model je fyzický pro Azure Stack Edge a Virtual pro Data Box Gateway.
    FriendlySoftwareVersion Popisný řetězec, který odpovídá verzi softwaru zařízení. V systému, ve kterém je spuštěný náhled, by se měla používat popisná verze softwaru Data Box Edge 1902.
    HcsVersion Verze softwaru klientovi HCS spuštěná na vašem zařízení. Například verze softwaru klientovi HCS, která odpovídá Data Box Edge 1902, je 1.4.771.324.
    LocalCapacityInMb Celková místní kapacita zařízení v megabajtech.
    Registrováno Tato hodnota označuje, jestli je zařízení aktivované službou.

Zobrazit informace o ovladači GPU

Pokud je v zařízení nakonfigurovaná výpočetní role, můžete informace o ovladači GPU získat taky přes rozhraní PowerShell.

  1. Připojení rozhraní PowerShell.

  2. Použijte Get-HcsGpuNvidiaSmi 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 |
    +-------------------------------+----------------------+----------------------+
    

Povolit službu Multi-Process Service (MPS)

Služba multi-Process (MPS) na NVIDIA GPU poskytuje mechanismus, ve kterém může být prostředí GPU sdíleno více úlohami, kde každá úloha má přiděleno určité procento prostředků GPU. mp je funkce ve verzi preview na Azure Stack Edge Pro zařízení GPU. Pokud chcete na svém zařízení povolit MPS, postupujte podle těchto kroků:

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

    1. Nakonfigurovali jste a aktivovali své zařízení Azure Stack Edge pro s využitím prostředků Azure Stack Edge v Azure.
    2. Na tomto zařízení jste nakonfigurovali COMPUTE na Azure Portal.
  2. Připojte se k rozhraní PowerShell.

  3. Pomocí následujícího příkazu povolte na svém zařízení MPS.

    Start-HcsGpuMPS
    

Poznámka

Po aktualizaci softwaru zařízení a clusteru Kubernetes se nastavení MPS 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í Reset-HcsAppliance rutiny můžete vymazat datové disky i spouštěcí disk nebo jenom datové disky. ClearDataPřepínače a BootDisk umožňují vymazat datové disky a spouštěcí disk v uvedeném pořadí.

BootDiskPřepínač 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 o 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í PowerShell.

  2. Na příkazovém řádku zadejte:

    Reset-HcsAppliance -ClearData -BootDisk

    Následující příklad ukazuje, jak použít tuto rutinu:

    [10.128.24.33]: PS>Reset-HcsAppliance -ClearData -BootDisk
    
    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ískat výpočetní protokoly

Pokud je v zařízení nakonfigurovaná výpočetní role, můžete získat výpočetní protokoly i přes rozhraní PowerShell.

  1. Připojení rozhraní PowerShell.

  2. Použijte Get-AzureDataBoxEdgeComputeRoleLogs k 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, ve které chcete vytvořit balíček výpočetního protokolu.
    • Credential: Zadejte uživatelské jméno pro sdílenou síťovou složku. Při spuštění této rutiny budete muset zadat heslo pro sdílení.
    • FullLogCollection: Tento parametr zajišťuje, že balíček protokolu bude obsahovat všechny protokoly výpočtů. Ve výchozím nastavení obsahuje balíček protokolu pouze podmnožinu protokolů.

Změna podsítí podu a služby Kubernetes

Ve výchozím nastavení Kubernetes Azure Stack na zařízení 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ž ve vaší síti používají, můžete spuštěním Set-HcsKubeClusterNetworkInfo rutiny tyto podsítě změnit.

Tuto konfiguraci chcete provést před konfigurací výpočtů z Azure Portal, protože se v tomto kroku vytvoří cluster Kubernetes.

  1. Připojení rozhraní PowerShell zařízení.

  2. Z rozhraní PowerShellu zařízení spusťte:

    Set-HcsKubeClusterNetworkInfo -PodSubnet <subnet details> -ServiceSubnet <subnet details>

    Nahraďte <subnet details> rozsahem podsítě, který chcete použít.

  3. Po spuštění tohoto příkazu můžete pomocí Get-HcsKubeClusterNetworkInfo příkazu ověřit, zda byly podsítě pod a služby změněny.

Zde je ukázkový výstup tohoto příkazu.

[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 Azure Stack Edge Pro zařízení GPU s nakonfigurovanou výpočetní rolí můžete vyřešit nebo monitorovat zařízení pomocí dvou různých sad příkazů.

  • Použití iotedge příkazů. Tyto příkazy jsou k dispozici pro základní operace vašeho zařízení.
  • Použití kubectl příkazů. Tyto příkazy jsou k dispozici pro rozsáhlou sadu operací pro vaše zařízení.

pokud chcete spustit jednu z výše uvedených příkazů, musíte Připojení k rozhraní PowerShell.

Použití iotedge příkazů

Pokud chcete zobrazit seznam dostupných příkazů, Připojte se k rozhraní PowerShell 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ů, které jsou k dispozici pro iotedge :

command Popis
list Seznam modulů
logs Načtení protokolů modulu
restart Zastavení a restartování modulu

Vypsat všechny IoT Edge moduly

Pokud chcete zobrazit seznam všech modulů spuštěných v zařízení, použijte iotedge list příkaz.

Zde je ukázkový výstup tohoto příkazu. Tento příkaz vypíše všechny moduly, přidruženou konfiguraci a externí IP adresy přidružené k modulům. Můžete například získat přístup k aplikaci webserver 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>

Restartovat moduly

Pomocí list příkazu můžete zobrazit seznam všech modulů spuštěných ve vašem zařízení. Pak Identifikujte název modulu, který chcete restartovat, a použijte ho pomocí restart příkazu.

Tady je ukázkový výstup, jak restartovat modul. V závislosti na tom, jak dlouho je modul spuštěný, vidíte, že se cuda-sample1 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ískat protokoly modulů

Pomocí logs příkazu můžete získat protokoly pro jakýkoli IoT Edge modul běžící na vašem zařízení.

Pokud došlo k chybě při vytváření image kontejneru nebo při nastavování image, spusťte příkaz logs edgeagent . edgeagent je kontejner IoT Edge runtime, který zodpovídá za zřizování jiných kontejnerů. Protože logs edgeagent vypíše všechny protokoly, dobrým způsobem, jak zobrazit nedávné chyby, je použití možnosti --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 je GetModuleLogs nebo UploadModuleLogs, nejsou podporované v IoT Edge na Kubernetesu na Azure Stack Edge.

Použití příkazů kubectl

na Azure Stack Edge Pro zařízení GPU s nakonfigurovanou výpočetní rolí je kubectl k dispozici všechny příkazy pro monitorování a odstraňování potíží s moduly. Pokud chcete zobrazit seznam dostupných příkazů, spusťte kubectl --help z příkazového řádku.

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 na kubectl k vytištění.

Získání IP adresy služby nebo modulu vystavené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 vystaveny 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 i na řídicím panelu Kubernetes.

Postup kontroly úspěšného nasazení modulu

Výpočetní moduly jsou kontejnery, které mají implementaci obchodní logiky. Kubernetes pod může mít spuštěno více kontejnerů.

Pokud chcete zjistit, jestli je výpočetní modul úspěšně nasazený, připojte se k rozhraní PowerShell zařízení. Spusťte get pods příkaz a ověřte, jestli je spuštěný kontejner (odpovídající modulu COMPUTE).

Chcete-li získat seznam všech lusků spuštěných v určitém oboru názvů, spusťte následující příkaz:

get pods -n <namespace>

Chcete-li kontrolovat moduly nasazené pomocí IoT Edge, spusťte následující příkaz:

get pods -n iotedge

Následuje ukázkový výstup všech lusků 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 stav označuje, že všechny lusky v oboru názvů jsou spuštěné a kde Ready označuje počet kontejnerů nasazených v poli pod. V předchozí ukázce jsou spuštěny všechny lusky a jsou spuštěny všechny moduly nasazené v každém z obou lusků.

Pokud chcete kontrolovat 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 a zobrazit tak IoT Edge nebo nasazení Arc Azure.

Pokud chcete 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>

Ukázkový výstup je zobrazený tady.

[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 z rozhraní PowerShellu zařízení následující příkaz:

kubectl logs <pod_name> -n <namespace> --all-containers

Vzhledem k tomu, že příznak vy výpisy všech protokolů pro všechny kontejnery, je dobrým způsobem, jak zobrazit nedávné all-containers chyby, 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 limity paměti nebo procesoru pro pracovní uzel Kubernetes, proveďte následující kroky:

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

  2. Spuštěním následujícího příkazu získejte aktuální prostředky pro pracovní uzel a možnosti role:

    Get-AzureDataBoxEdgeRole

    Tady je ukázkový výstup. Poznamenejte si hodnoty pro Name Compute a v části Resources . MemoryInBytes a označují aktuálně přiřazené hodnoty paměti a ProcessorCount 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>
    

    Tady 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 pro počty paměti a procesorů doporučujeme měnit hodnoty od 15 % do 60 % paměti zařízení a počtu procesorů.
  • Doporučujeme použít horní limit 60 %, aby pro systémové komponenty byl dostatek prostředků.

Připojení k BMC

Řadič pro správu základní desky (BMC) se používá ke vzdálenému monitorování a správě vašeho zařízení. Tato část popisuje rutiny, které je možné použít ke správě konfigurace BMC. Před spuštěním kterékoli z těchto rutin Připojení k rozhraní PowerShellu zařízení.

  • Get-HcsNetBmcInterface: Pomocí této rutiny můžete získat vlastnosti konfigurace sítě konzoly pro správu základní desky, například IPv4Address , IPv4Gateway , , IPv4SubnetMask DhcpEnabled .

    Zde 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 BMC pomocí příslušné hodnoty UseDhcp parametru .

      Set-HcsNetBmcInterface -UseDhcp $true
      

      Zde 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>
      
    • Tuto rutinu použijte ke konfiguraci statické konfigurace pro BMC. Můžete zadat hodnoty IPv4Address pro , a IPv4Gateway IPv4SubnetMask .

      Set-HcsNetBmcInterface -IPv4Address "<IPv4 address of the device>&quot; -IPv4Gateway &quot;<IPv4 address of the gateway>&quot; -IPv4SubnetMask &quot;<IPv4 address for the subnet mask>"
      

      Zde 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: Tuto rutinu použijte k úpravě hesla konzoly pro správu základní desky pro EdgeUser . V uživatelském jménu se EdgeUser rozlišují malá a velká písmena.

    Zde 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 vzdálenou relaci PowerShellu ukončit, zavřete okno PowerShellu.

Další kroky