Udostępnij za pośrednictwem


Zarządzanie urządzeniem GPU Usługi Azure Stack Edge Pro za pomocą programu Windows PowerShell

DOTYCZY: Tak dla jednostki SKU procesora GPU ProAzure Stack Edge Pro — GPUTak dla jednostki SKU Pro 2Azure Stack Edge Pro 2Tak dla jednostki SKU Pro RAzure Stack Edge Pro R Azure Stack Edge Mini RTak dla jednostki SKU Mini R

Rozwiązanie procesora GPU Usługi Azure Stack Edge Pro umożliwia przetwarzanie danych i wysyłanie ich za pośrednictwem sieci do platformy Azure. W tym artykule opisano niektóre zadania konfiguracji i zarządzania dla urządzenia GPU Usługi Azure Stack Edge Pro. Do zarządzania urządzeniem można użyć witryny Azure Portal, lokalnego internetowego interfejsu użytkownika lub interfejsu programu Windows PowerShell.

Ten artykuł koncentruje się na tym, jak można nawiązać połączenie z interfejsem programu PowerShell urządzenia i zadaniami, które można wykonać za pomocą tego interfejsu.

Nawiązywanie połączenia z interfejsem programu PowerShell

W zależności od systemu operacyjnego klienta procedury zdalnego nawiązywania połączenia z urządzeniem są różne.

Zdalne nawiązywanie połączenia z klienta systemu Windows

Wymagania wstępne

Przed rozpoczęciem upewnij się, że:

  • Klient systemu Windows korzysta z programu Windows PowerShell 5.0 lub nowszego.

  • Klient systemu Windows ma łańcuch podpisywania (certyfikat główny) odpowiadający certyfikatowi węzła zainstalowanemu na urządzeniu. Aby uzyskać szczegółowe instrukcje, zobacz Instalowanie certyfikatu na kliencie systemu Windows.

  • Plik hosts znajdujący się w C:\Windows\System32\drivers\etc lokalizacji dla klienta systemu Windows zawiera wpis odpowiadający certyfikatowi węzła w następującym formacie:

    <Device IP> <Node serial number>.<DNS domain of the device>

    Oto przykładowy wpis dla hosts pliku:

    10.100.10.10 1HXQG13.wdshcsso.com

Szczegółowe procedury

Wykonaj następujące kroki, aby zdalnie nawiązać połączenie z klienta systemu Windows.

  1. Uruchom sesję programu Windows PowerShell jako administrator.

  2. Upewnij się, że usługa zdalnego zarządzania systemem Windows jest uruchomiona na kliencie. W wierszu polecenia wpisz:

    winrm quickconfig
    

    Aby uzyskać więcej informacji, zobacz Instalacja i konfiguracja zarządzania zdalnego systemu Windows.

  3. Przypisz zmienną do parametry połączenia używanej hosts w pliku.

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

    Zastąp <Node serial number> wartości i <DNS domain of the device> numerem seryjnym węzła i domeną DNS urządzenia. Wartości numeru seryjnego węzła można uzyskać na stronie Certyfikaty i domenie DNS na stronie Urządzenie w lokalnym internetowym interfejsie użytkownika urządzenia.

  4. Aby dodać tę parametry połączenia dla urządzenia do listy zaufanych hostów klienta, wpisz następujące polecenie:

    Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force
    
  5. Uruchom sesję programu Windows PowerShell na urządzeniu:

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

    Jeśli zostanie wyświetlony błąd związany z relacją zaufania, sprawdź, czy łańcuch podpisywania certyfikatu węzła przekazany do urządzenia jest również zainstalowany na kliencie, który uzyskuje dostęp do urządzenia.

  6. Po wyświetleniu monitu podaj hasło. Użyj tego samego hasła, które jest używane do logowania się do lokalnego internetowego interfejsu użytkownika. Domyślne lokalne hasło internetowego interfejsu użytkownika to Password1. Po pomyślnym nawiązaniu połączenia z urządzeniem przy użyciu zdalnego programu PowerShell zobaczysz następujące przykładowe dane wyjściowe:

    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>
    

W przypadku korzystania z -UseSSL tej opcji komunikacja zdalna jest zdalna za pośrednictwem programu PowerShell za pośrednictwem protokołu HTTPS. Zalecamy, aby zawsze używać protokołu HTTPS do zdalnego nawiązywania połączenia za pośrednictwem programu PowerShell. W ramach zaufanych sieci komunikacja zdalna za pośrednictwem programu PowerShell za pośrednictwem protokołu HTTP jest akceptowalna. Najpierw włącz zdalny program PowerShell za pośrednictwem protokołu HTTP w lokalnym interfejsie użytkownika. Następnie możesz nawiązać połączenie z interfejsem programu PowerShell urządzenia przy użyciu poprzedniej procedury bez -UseSSL opcji.

Jeśli nie używasz certyfikatów (zalecamy użycie certyfikatów!), możesz pominąć sprawdzanie poprawności certyfikatu przy użyciu opcji sesji: -SkipCACheck -SkipCNCheck -SkipRevocationCheck.

$sessOptions = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck 
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL -SessionOption $sessOptions    

Oto przykładowe dane wyjściowe po pomijaniu sprawdzania certyfikatu:

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>

Ważne

W bieżącej wersji można nawiązać połączenie z interfejsem programu PowerShell urządzenia tylko za pośrednictwem klienta systemu Windows. Opcja -UseSSL nie działa z klientami systemu Linux.

Tworzenie pakietu pomocy technicznej

Jeśli wystąpią jakiekolwiek problemy z urządzeniem, możesz utworzyć pakiet pomocy technicznej z dzienników systemowych. pomoc techniczna firmy Microsoft używa tego pakietu do rozwiązywania problemów. Wykonaj następujące kroki, aby utworzyć pakiet pomocy technicznej:

  1. Połącz się z interfejsem programu PowerShell urządzenia.

  2. Użyj polecenia , Get-HcsNodeSupportPackage aby utworzyć pakiet pomocy technicznej. Użycie polecenia cmdlet jest następujące:

    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>]
    

    Polecenie cmdlet zbiera dzienniki z urządzenia i kopiuje te dzienniki do określonej sieci lub udziału lokalnego.

    Używane parametry są następujące:

    • -Path - Określ sieć lub ścieżkę lokalną do kopiowania pakietu do. (wymagane)
    • -Credential - Określ poświadczenia, aby uzyskać dostęp do chronionej ścieżki.
    • -Zip - Określ, aby wygenerować plik zip.
    • -Include - Określ, aby uwzględnić składniki, które mają zostać uwzględnione w pakiecie pomocy technicznej. Jeśli nie zostanie określony, Default przyjmuje się założenie.
    • -IncludeArchived — Określ, aby uwzględnić zarchiwizowane dzienniki w pakiecie pomocy technicznej.
    • -IncludePeriodicStats — Określ, aby uwzględnić okresowe dzienniki statystyk w pakiecie pomocy technicznej.

Wyświetlanie informacji o urządzeniu

  1. Nawiązywanie połączenia z interfejsem programu PowerShell.

  2. Użyj polecenia , Get-HcsApplianceInfo aby uzyskać informacje dotyczące urządzenia.

    W poniższym przykładzie pokazano użycie tego polecenia cmdlet:

    [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
    

    Oto tabela podsumowująca niektóre ważne informacje o urządzeniu:

    Parametr Opis
    FriendlyName Przyjazna nazwa urządzenia skonfigurowana za pośrednictwem lokalnego internetowego interfejsu użytkownika podczas wdrażania urządzenia. Domyślna przyjazna nazwa to numer seryjny urządzenia.
    SerialNumber Numer seryjny urządzenia jest unikatowym numerem przypisanym w fabryce.
    Model Model urządzenia Azure Stack Edge lub Data Box Gateway. Model jest fizyczny dla usługi Azure Stack Edge i wirtualny dla usługi Data Box Gateway.
    FriendlySoftwareVersion Przyjazny ciąg odpowiadający wersji oprogramowania urządzenia. W przypadku systemu z uruchomioną wersją zapoznawcza przyjazna wersja oprogramowania to Data Box Edge 1902.
    HcsVersion Wersja oprogramowania HCS uruchomiona na urządzeniu. Na przykład wersja oprogramowania HCS odpowiadająca usłudze Data Box Edge 1902 to 1.4.771.324.
    LocalCapacityInMb Łączna pojemność lokalna urządzenia w megabitach.
    IsRegistered Ta wartość wskazuje, czy urządzenie jest aktywowane z usługą.

Wyświetlanie informacji o sterowniku procesora GPU

Jeśli rola obliczeniowa jest skonfigurowana na urządzeniu, możesz również uzyskać informacje o sterowniku procesora GPU za pośrednictwem interfejsu programu PowerShell.

  1. Nawiązywanie połączenia z interfejsem programu PowerShell.

  2. Użyj polecenia , Get-HcsGpuNvidiaSmi aby uzyskać informacje o sterowniku procesora GPU dla urządzenia.

    W poniższym przykładzie pokazano użycie tego polecenia cmdlet:

    Get-HcsGpuNvidiaSmi
    

    Zanotuj informacje o sterownikach z przykładowych danych wyjściowych tego polecenia cmdlet.

    +-----------------------------------------------------------------------------+    
    | 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 |
    +-------------------------------+----------------------+----------------------+
    

Włączanie usługi wieloprocesowej (MPS)

Usługa wieloprocesowa (MPS) na procesorach GPU firmy Nvidia udostępnia mechanizm, w którym procesory GPU mogą być współużytkowane przez wiele zadań, w których każde zadanie jest przydzielane w procentach zasobów procesora GPU. MPS to funkcja w wersji zapoznawczej na urządzeniu z procesorem GPU Usługi Azure Stack Edge Pro. Aby włączyć usługę MPS na urządzeniu, wykonaj następujące kroki:

  1. Przed rozpoczęciem upewnij się, że:

    1. Urządzenie Azure Stack Edge Pro zostało skonfigurowane i aktywowane przy użyciu zasobu usługi Azure Stack Edge na platformie Azure.
    2. Na tym urządzeniu skonfigurowano obliczenia w witrynie Azure Portal.
  2. Nawiązywanie połączenia z interfejsem programu PowerShell.

  3. Użyj następującego polecenia, aby włączyć usługę MPS na urządzeniu.

    Start-HcsGpuMPS
    

Uwaga

Gdy oprogramowanie urządzenia i klaster Kubernetes zostaną zaktualizowane, ustawienie MPS nie zostanie zachowane dla obciążeń. Należy ponownie włączyć usługę MPS.

Resetowanie urządzenia

Aby zresetować urządzenie, należy bezpiecznie wyczyścić wszystkie dane na dysku danych i dysku rozruchowym urządzenia.

Użyj polecenia cmdlet Reset-HcsAppliance, aby wyczyścić zarówno dyski danych, jak i dysk rozruchowy albo tylko dyski danych. Przełączniki SecureWipeBootDisk i SecureWipeDataDisks umożliwiają czyszczenie dysku rozruchowego i dysków danych odpowiednio.

Przełącznik SecureWipeBootDisk czyści dysk rozruchowy i uniemożliwia korzystanie z urządzenia. Należy go używać tylko wtedy, gdy urządzenie ma zostać zwrócone firmie Microsoft. Aby uzyskać więcej informacji, zobacz Zwracanie urządzenia firmie Microsoft.

Jeśli użyjesz funkcji resetowania urządzenia w lokalnym internetowym interfejsie użytkownika, tylko dyski danych zostaną bezpiecznie wyczyszczone, a dysk rozruchowy pozostanie nienaruszony. Dysk rozruchowy zawiera konfigurację urządzenia.

  1. Nawiązywanie połączenia z interfejsem programu PowerShell.

  2. W wierszu polecenia wpisz:

    Reset-HcsAppliance -SecureWipeBootDisk -SecureWipeDataDisks

    W poniższym przykładzie pokazano, jak użyć tego polecenia cmdlet:

    [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
    

Pobieranie dzienników obliczeniowych

Jeśli rola obliczeniowa jest skonfigurowana na urządzeniu, możesz również pobrać dzienniki obliczeniowe za pośrednictwem interfejsu programu PowerShell.

  1. Nawiązywanie połączenia z interfejsem programu PowerShell.

  2. Użyj polecenia , Get-AzureDataBoxEdgeComputeRoleLogs aby pobrać dzienniki obliczeniowe dla urządzenia.

    W poniższym przykładzie pokazano użycie tego polecenia cmdlet:

    Get-AzureDataBoxEdgeComputeRoleLogs -Path "\\hcsfs\logs\myacct" -Credential "username" -FullLogCollection    
    

    Oto opis parametrów używanych dla polecenia cmdlet:

    • Path: podaj ścieżkę sieciową do udziału, w którym chcesz utworzyć pakiet dziennika obliczeniowego.
    • Credential: podaj nazwę użytkownika udziału sieciowego. Po uruchomieniu tego polecenia cmdlet należy podać hasło udziału.
    • FullLogCollection: Ten parametr gwarantuje, że pakiet dziennika będzie zawierać wszystkie dzienniki obliczeniowe. Domyślnie pakiet dziennika zawiera tylko podzestaw dzienników.

Zmienianie profilów obciążeń platformy Kubernetes

Po utworzeniu i skonfigurowaniu klastra oraz utworzeniu nowych przełączników wirtualnych można dodawać lub usuwać sieci wirtualne skojarzone z przełącznikami wirtualnymi. Aby uzyskać szczegółowe instrukcje, zobacz Konfigurowanie przełączników wirtualnych.

Po utworzeniu przełączników wirtualnych można włączyć przełączniki dla ruchu obliczeniowego kubernetes w celu określenia profilu obciążenia Kubernetes. Aby to zrobić przy użyciu lokalnego interfejsu użytkownika, wykonaj kroki opisane w temacie Konfigurowanie obliczeniowych adresów IPS. Aby to zrobić przy użyciu programu PowerShell, wykonaj następujące czynności:

  1. Nawiązywanie połączenia z interfejsem programu PowerShell.

  2. Get-HcsApplianceInfo Użyj polecenia cmdlet , aby pobrać bieżące KubernetesPlatform ustawienia i KubernetesWorkloadProfile dla urządzenia.

  3. Get-HcsKubernetesWorkloadProfiles Użyj polecenia cmdlet , aby zidentyfikować profile dostępne na urządzeniu 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. Set-HcsKubernetesWorkloadProfile Użyj polecenia cmdlet , aby ustawić profil obciążenia dla usługi AP5GC, rozwiązania Azure Private MEC.

    W poniższym przykładzie pokazano użycie tego polecenia cmdlet:

    Set-HcsKubernetesWorkloadProfile -Type "AP5GC"
    

    Oto przykładowe dane wyjściowe dla tego polecenia cmdlet:

    [10.100.10.10]: PS>KubernetesPlatform : AKS
    [10.100.10.10]: PS>KubernetesWorkloadProfile : AP5GC
    [10.100.10.10]: PS>
    

Zmienianie zasobników klastra Kubernetes i podsieci usługi

Jeśli korzystasz z innych obciążeń w środowisku, domyślnie platforma Kubernetes na urządzeniu Azure Stack Edge używa odpowiednio podsieci 172.27.0.0/16 i 172.28.0.0/16 dla zasobnika i usługi. Jeśli te podsieci są już używane w sieci, możesz uruchomić Set-HcsKubeClusterNetworkInfo polecenie cmdlet , aby zmienić te podsieci.

Chcesz wykonać tę konfigurację przed skonfigurowaniem obliczeń z witryny Azure Portal, ponieważ klaster Kubernetes zostanie utworzony w tym kroku.

  1. Połącz się z interfejsem programu PowerShell urządzenia.

  2. W interfejsie programu PowerShell urządzenia uruchom polecenie:

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

    Zastąp szczegóły> podsieci <zakresem podsieci, którego chcesz użyć.

  3. Po uruchomieniu Get-HcsKubeClusterNetworkInfo tego polecenia możesz użyć polecenia , aby sprawdzić, czy podsieci zasobnika i usługi uległy zmianie.

Oto przykładowe dane wyjściowe dla tego polecenia.

[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>

Przed rozpoczęciem musisz mieć następujące elementy:

Na urządzeniu usługi Azure Stack Edge Pro z skonfigurowaną rolą obliczeniową można rozwiązywać problemy lub monitorować urządzenie przy użyciu dwóch różnych zestawów poleceń.

  • Za pomocą iotedge poleceń. Te polecenia są dostępne dla podstawowych operacji na urządzeniu.
  • Za pomocą kubectl poleceń. Te polecenia są dostępne dla szerokiego zestawu operacji dla urządzenia.

Aby wykonać jeden z powyższych poleceń, musisz nawiązać połączenie z interfejsem programu PowerShell.

Używanie iotedge poleceń

Aby wyświetlić listę dostępnych poleceń, połącz się z interfejsem programu PowerShell i użyj iotedge funkcji .

[10.100.10.10]: PS>iotedge -?                                                                                                                           
Usage: iotedge COMMAND

Commands:
   list
   logs
   restart

[10.100.10.10]: PS>

Poniższa tabela zawiera krótki opis poleceń dostępnych dla programu iotedge:

polecenie opis
list Wyświetlanie listy modułów
logs Pobieranie dzienników modułu
restart Zatrzymywanie i ponowne uruchamianie modułu

Wyświetlanie listy wszystkich modułów usługi IoT Edge

Aby wyświetlić listę wszystkich modułów uruchomionych na urządzeniu iotedge list , użyj polecenia .

Oto przykładowe dane wyjściowe tego polecenia. To polecenie wyświetla listę wszystkich modułów, skojarzonej konfiguracji i zewnętrznych adresów IP skojarzonych z modułami. Na przykład możesz uzyskać dostęp do aplikacji webserver pod adresem 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>

Ponowne uruchamianie modułów

Możesz użyć list polecenia , aby wyświetlić listę wszystkich modułów uruchomionych na urządzeniu. Następnie zidentyfikuj nazwę modułu, który chcesz ponownie uruchomić, i użyj go za restart pomocą polecenia .

Oto przykładowe dane wyjściowe dotyczące ponownego uruchamiania modułu. Na podstawie opisu czasu działania modułu można zobaczyć, że cuda-sample1 zostało uruchomione ponownie.

[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>

Pobieranie dzienników modułów

logs Użyj polecenia , aby pobrać dzienniki dla dowolnego modułu usługi IoT Edge uruchomionego na urządzeniu.

Jeśli wystąpił błąd podczas tworzenia obrazu kontenera lub podczas ściągania obrazu, uruchom polecenie logs edgeagent. edgeagent to kontener środowiska uruchomieniowego usługi IoT Edge, który jest odpowiedzialny za aprowizowanie innych kontenerów. Ponieważ logs edgeagent zrzuty wszystkich dzienników, dobrym sposobem wyświetlenia ostatnich błędów jest użycie opcji --tail 0.

Oto przykładowe dane wyjściowe.

[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>

Uwaga

Metody bezpośrednie, takie jak GetModuleLogs lub UploadModuleLogs, nie są obsługiwane w usłudze IoT Edge na platformie Kubernetes w usłudze Azure Stack Edge.

Korzystanie z poleceń narzędzia kubectl

Na urządzeniu z procesorem GPU Usługi Azure Stack Edge Pro ze skonfigurowaną rolą obliczeniową wszystkie kubectl polecenia są dostępne do monitorowania modułów lub rozwiązywania problemów. Aby wyświetlić listę dostępnych poleceń, uruchom polecenie kubectl --help w oknie polecenia.

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>

Aby uzyskać kompleksową listę kubectl poleceń, przejdź do kubectl ściągawki.

Aby uzyskać adres IP usługi lub modułu uwidoczniony poza klastrem Kubernetes

Aby uzyskać adres IP usługi równoważenia obciążenia lub modułów uwidocznionych poza platformą Kubernetes, uruchom następujące polecenie:

kubectl get svc -n iotedge

Poniżej przedstawiono przykładowe dane wyjściowe wszystkich usług lub modułów uwidocznionych poza klastrem 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>

Adres IP w kolumnie Zewnętrzny adres IP odpowiada zewnętrznemu punktowi końcowemu usługi lub modułowi. Możesz również pobrać zewnętrzny adres IP na pulpicie nawigacyjnym platformy Kubernetes.

Aby sprawdzić, czy moduł został pomyślnie wdrożony

Moduły obliczeniowe to kontenery, które mają zaimplementowaną logikę biznesową. Zasobnik Kubernetes może mieć uruchomione wiele kontenerów.

Aby sprawdzić, czy moduł obliczeniowy został pomyślnie wdrożony, połącz się z interfejsem programu PowerShell urządzenia. get pods Uruchom polecenie i sprawdź, czy kontener (odpowiadający modułowi obliczeniowemu) jest uruchomiony.

Aby uzyskać listę wszystkich zasobników uruchomionych w określonej przestrzeni nazw, uruchom następujące polecenie:

get pods -n <namespace>

Aby sprawdzić moduły wdrożone za pośrednictwem usługi IoT Edge, uruchom następujące polecenie:

get pods -n iotedge

Poniżej przedstawiono przykładowe dane wyjściowe wszystkich zasobników uruchomionych w iotedge przestrzeni nazw.

[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>

Stan wskazuje, że wszystkie zasobniki w przestrzeni nazw są uruchomione, a pole Gotowe wskazuje liczbę kontenerów wdrożonych w zasobniku. W poprzednim przykładzie wszystkie zasobniki są uruchomione, a wszystkie moduły wdrożone w każdym z zasobników są uruchomione.

Aby sprawdzić moduły wdrożone za pośrednictwem usługi Azure Arc, uruchom następujące polecenie:

get pods -n azure-arc

Alternatywnie możesz nawiązać połączenie z pulpitem nawigacyjnym platformy Kubernetes, aby wyświetlić wdrożenia usługi IoT Edge lub Azure Arc.

Aby uzyskać bardziej szczegółowe dane wyjściowe określonego zasobnika dla danej przestrzeni nazw, można uruchomić następujące polecenie:

kubectl describe pod <pod name> -n <namespace>

Przykładowe dane wyjściowe są wyświetlane tutaj.

[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>

Aby uzyskać dzienniki kontenerów

Aby pobrać dzienniki dla modułu, uruchom następujące polecenie z interfejsu programu PowerShell urządzenia:

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

Ponieważ all-containers flaga zrzutów wszystkich dzienników dla wszystkich kontenerów, dobrym sposobem wyświetlenia ostatnich błędów jest użycie opcji --tail 10.

Poniżej przedstawiono przykładowe dane wyjściowe.

[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>

Zmienianie limitów pamięci i procesora dla węzła roboczego platformy Kubernetes

Aby zmienić limity pamięci lub procesora dla węzła roboczego platformy Kubernetes, wykonaj następujące czynności:

  1. Połącz się z interfejsem programu PowerShell urządzenia.

  2. Aby uzyskać bieżące zasoby dla węzła procesu roboczego i opcje roli, uruchom następujące polecenie:

    Get-AzureDataBoxEdgeRole

    Oto przykładowe dane wyjściowe. Zanotuj wartości dla Name i Compute w Resources sekcji . MemoryInBytes i ProcessorCount oznaczają aktualnie przypisane wartości pamięci i liczby procesorów dla węzła roboczego 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. Aby zmienić wartości pamięci i procesorów dla węzła procesu roboczego, uruchom następujące polecenie:

    Set-AzureDataBoxEdgeRoleCompute -Name <Name value from the output of Get-AzureDataBoxEdgeRole> -Memory <Value in Bytes> -ProcessorCount <No. of cores>
    

    Oto przykładowe dane wyjściowe.

    [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>    
    

Podczas zmiany użycia pamięci i procesora postępuj zgodnie z tymi wytycznymi.

  • Pamięć domyślna to 25% specyfikacji urządzenia.
  • Domyślna liczba procesorów to 30% specyfikacji urządzenia.
  • Podczas zmieniania wartości liczby pamięci i procesora zalecamy zmianę wartości z zakresu od 15% do 60% pamięci urządzenia i liczby procesorów.
  • Zalecamy przekroczenie górnego limitu 60% w celu zapewnienia wystarczającej ilości zasobów dla składników systemu.

Nawiązywanie połączenia z kontrolerem BMC

Uwaga

Kontroler zarządzania płytą główną (BMC) nie jest dostępny w usługach Azure Stack Edge Pro 2 i Azure Stack Edge Mini R. Polecenia cmdlet opisane w tej sekcji dotyczą tylko procesorów GPU Azure Stack Edge Pro i Azure Stack Edge Pro R.

Usługa BMC służy do zdalnego monitorowania urządzenia i zarządzania nim. W tej sekcji opisano polecenia cmdlet, których można użyć do zarządzania konfiguracją kontrolera BMC. Przed uruchomieniem dowolnego z tych poleceń cmdlet połącz się z interfejsem programu PowerShell urządzenia.

  • Get-HcsNetBmcInterface: Użyj tego polecenia cmdlet, aby uzyskać właściwości konfiguracji sieci kontrolera BMC, na przykład IPv4Address, , IPv4GatewayIPv4SubnetMask, DhcpEnabled.

    Oto przykładowe dane wyjściowe:

    [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: To polecenie cmdlet można użyć na następujące dwa sposoby.

    • Użyj polecenia cmdlet , aby włączyć lub wyłączyć konfigurację DHCP dla kontrolera BMC przy użyciu odpowiedniej wartości parametru UseDhcp .

      Set-HcsNetBmcInterface -UseDhcp $true
      

      Oto przykładowe dane wyjściowe:

      [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>
      
    • Użyj tego polecenia cmdlet, aby skonfigurować konfigurację statyczną kontrolera BMC. Można określić wartości dla IPv4Address, IPv4Gatewayi IPv4SubnetMask.

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

      Oto przykładowe dane wyjściowe:

      [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: użyj tego polecenia cmdlet, aby zmodyfikować hasło kontrolera BMC dla elementu EdgeUser. Nazwa użytkownika — EdgeUseruwzględnia wielkość liter.

    Oto przykładowe dane wyjściowe:

    [10.100.10.10]: PS> Set-HcsBmcPassword -NewPassword "Password1"
    [10.100.10.10]: PS>
    

Zamykanie sesji zdalnej

Aby zakończyć zdalną sesję programu PowerShell, zamknij okno programu PowerShell.

Następne kroki

  • Wdrażanie procesora GPU usługi Azure Stack Edge Pro w witrynie Azure Portal.