Zarządzanie urządzeniem GPU Usługi Azure Stack Edge Pro za pomocą programu Windows PowerShell
DOTYCZY: Azure Stack Edge Pro — GPUAzure Stack Edge Pro 2Azure Stack Edge Pro R Azure Stack Edge 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ę wC:\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.
Uruchom sesję programu Windows PowerShell jako administrator.
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.
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.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
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.
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:
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
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.
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:
Przed rozpoczęciem upewnij się, że:
- Urządzenie Azure Stack Edge Pro zostało skonfigurowane i aktywowane przy użyciu zasobu usługi Azure Stack Edge na platformie Azure.
- Na tym urządzeniu skonfigurowano obliczenia w witrynie Azure Portal.
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.
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.
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:
Get-HcsApplianceInfo
Użyj polecenia cmdlet , aby pobrać bieżąceKubernetesPlatform
ustawienia iKubernetesWorkloadProfile
dla urządzenia.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>
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.
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ć.
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>
Debugowanie problemów z platformą Kubernetes związanych z usługą IoT Edge
Przed rozpoczęciem musisz mieć następujące elementy:
- Skonfigurowano sieć obliczeniową. Zobacz Samouczek: konfigurowanie sieci dla usługi Azure Stack Edge Pro przy użyciu procesora GPU.
- Rola obliczeniowa skonfigurowana na urządzeniu.
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:
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
iCompute
wResources
sekcji .MemoryInBytes
iProcessorCount
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>
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ładIPv4Address
, ,IPv4Gateway
IPv4SubnetMask
,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
,IPv4Gateway
iIPv4SubnetMask
.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 elementuEdgeUser
. Nazwa użytkownika —EdgeUser
uwzglę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.