Een Azure Stack Edge Pro GPU-apparaat beheren via Windows PowerShell
VAN TOEPASSING OP: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Met azure Stack Edge Pro GPU-oplossing kunt u gegevens verwerken en verzenden via het netwerk naar Azure. In dit artikel worden enkele configuratie- en beheertaken voor uw Azure Stack Edge Pro GPU-apparaat beschreven. U kunt de Azure-portal, de lokale webinterface of de Windows PowerShell-interface gebruiken om uw apparaat te beheren.
In dit artikel wordt uitgelegd hoe u verbinding kunt maken met de PowerShell-interface van het apparaat en de taken die u met deze interface kunt uitvoeren.
Verbinding maken met de PowerShell-interface
Afhankelijk van het besturingssysteem van de client zijn de procedures om extern verbinding te maken met het apparaat anders.
Extern verbinding maken vanaf een Windows-client
Vereisten
Zorg voordat u begint voor het volgende:
Op uw Windows-client wordt Windows PowerShell 5.0 of hoger uitgevoerd.
Uw Windows-client heeft de ondertekeningsketen (basiscertificaat) die overeenkomt met het knooppuntcertificaat dat op het apparaat is geïnstalleerd. Zie Certificaat installeren op uw Windows-client voor gedetailleerde instructies.
Het
hosts
bestand dat zich voorC:\Windows\System32\drivers\etc
uw Windows-client bevindt, heeft een vermelding die overeenkomt met het knooppuntcertificaat in de volgende indeling:<Device IP> <Node serial number>.<DNS domain of the device>
Hier volgt een voorbeeldvermelding voor het
hosts
bestand:10.100.10.10 1HXQG13.wdshcsso.com
Gedetailleerde stappen
Volg deze stappen om extern verbinding te maken vanaf een Windows-client.
Voer een Windows PowerShell-sessie uit als beheerder.
Zorg ervoor dat de Windows Remote Management-service wordt uitgevoerd op uw client. Typ bij de opdrachtprompt:
winrm quickconfig
Zie Installatie en configuratie voor Windows Remote Management voor meer informatie.
Wijs een variabele toe aan de verbindingsreeks die in het
hosts
bestand worden gebruikt.$Name = "<Node serial number>.<DNS domain of the device>"
Vervang en vervang
<Node serial number>
het<DNS domain of the device>
serienummer van het knooppunt en het DNS-domein van uw apparaat. U kunt de waarden voor het serienummer van het knooppunt ophalen via de pagina Certificaten en DNS-domein op de pagina Apparaat in de lokale webgebruikersinterface van uw apparaat.Als u deze verbindingsreeks voor uw apparaat wilt toevoegen aan de lijst met vertrouwde hosts van de client, typt u de volgende opdracht:
Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -Force
Start een Windows PowerShell-sessie op het apparaat:
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL
Als er een fout wordt weergegeven met betrekking tot de vertrouwensrelatie, controleert u of de ondertekeningsketen van het knooppuntcertificaat dat naar uw apparaat is geüpload, ook is geïnstalleerd op de client die toegang heeft tot uw apparaat.
Geef het wachtwoord op wanneer u hierom wordt gevraagd. Gebruik hetzelfde wachtwoord dat wordt gebruikt om u aan te melden bij de lokale webgebruikersinterface. Het standaardwachtwoord voor de lokale webgebruikersinterface is Password1. Wanneer u verbinding maakt met het apparaat via externe PowerShell, ziet u de volgende voorbeelduitvoer:
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>
Wanneer u de -UseSSL
optie gebruikt, krijgt u externe toegang via PowerShell via https. U wordt aangeraden altijd https te gebruiken om extern verbinding te maken via PowerShell. Binnen vertrouwde netwerken is externe communicatie via PowerShell via http acceptabel. U schakelt eerst externe PowerShell in via http in de lokale gebruikersinterface. Vervolgens kunt u verbinding maken met de PowerShell-interface van het apparaat met behulp van de voorgaande procedure zonder de -UseSSL
optie.
Als u de certificaten niet gebruikt (we raden u aan de certificaten te gebruiken!), kunt u de certificaatvalidatiecontrole overslaan met behulp van de sessieopties: -SkipCACheck -SkipCNCheck -SkipRevocationCheck
$sessOptions = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL -SessionOption $sessOptions
Hier volgt een voorbeelduitvoer bij het overslaan van de certificaatcontrole:
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>
Belangrijk
In de huidige release kunt u alleen via een Windows-client verbinding maken met de PowerShell-interface van het apparaat. De -UseSSL
optie werkt niet met de Linux-clients.
Een ondersteuningspakket maken
Als u problemen ondervindt met apparaten, kunt u een ondersteuningspakket maken vanuit de systeemlogboeken. Microsoft Ondersteuning dit pakket gebruikt om de problemen op te lossen. Volg deze stappen om een ondersteuningspakket te maken:
Maak verbinding met de PowerShell-interface van uw apparaat.
Gebruik de
Get-HcsNodeSupportPackage
opdracht om een ondersteuningspakket te maken. Het gebruik van de cmdlet is als volgt: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>]
De cmdlet verzamelt logboeken van uw apparaat en kopieert deze logboeken naar een opgegeven netwerk of lokale share.
De gebruikte parameters zijn als volgt:
-Path
- Geef het netwerk of het lokale pad op naar het ondersteuningspakket te kopiëren. (vereist)-Credential
- Geef de referenties op voor toegang tot het beveiligde pad.-Zip
- Geef op om een zip-bestand te genereren.-Include
- Geef op dat de onderdelen moeten worden opgenomen in het ondersteuningspakket. Als dit niet is opgegeven,Default
wordt ervan uitgegaan.-IncludeArchived
- Geef op dat gearchiveerde logboeken in het ondersteuningspakket moeten worden opgenomen.-IncludePeriodicStats
- Geef op dat u periodieke logboeken wilt opnemen in het ondersteuningspakket.
Apparaatgegevens weergeven
Gebruik de opdracht
Get-HcsApplianceInfo
om de informatie voor uw apparaat op te halen.In het volgende voorbeeld ziet u het gebruik van deze 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
Hier volgt een tabel met een overzicht van enkele belangrijke apparaatgegevens:
Parameter Description FriendlyName De beschrijvende naam van het apparaat zoals geconfigureerd via de lokale webgebruikersinterface tijdens de implementatie van het apparaat. De standaard beschrijvende naam is het serienummer van het apparaat. SerialNumber Het serienummer van het apparaat is een uniek nummer dat in de fabriek is toegewezen. Modelleren Het model voor uw Azure Stack Edge- of Data Box Gateway-apparaat. Het model is fysiek voor Azure Stack Edge en virtueel voor Data Box Gateway. FriendlySoftwareVersion De beschrijvende tekenreeks die overeenkomt met de softwareversie van het apparaat. Voor een systeem met preview is de beschrijvende softwareversie Data Box Edge 1902. HcsVersion De HCS-softwareversie die op uw apparaat wordt uitgevoerd. De HCS-softwareversie die overeenkomt met Data Box Edge 1902 is bijvoorbeeld 1.4.771.324. LocalCapacityInMb De totale lokale capaciteit van het apparaat in Megabits. IsRegistered Deze waarde geeft aan of uw apparaat is geactiveerd met de service.
Informatie over GPU-stuurprogramma weergeven
Als de rekenrol op uw apparaat is geconfigureerd, kunt u ook informatie over het GPU-stuurprogramma ophalen via de PowerShell-interface.
Gebruik de opdracht
Get-HcsGpuNvidiaSmi
om informatie over het GPU-stuurprogramma voor uw apparaat op te halen.In het volgende voorbeeld ziet u het gebruik van deze cmdlet:
Get-HcsGpuNvidiaSmi
Noteer de stuurprogrammagegevens uit de voorbeelduitvoer van deze 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 | +-------------------------------+----------------------+----------------------+
Multi-Process Service (MPS) inschakelen
Een MULTI-Process Service (MPS) op Nvidia GPU's biedt een mechanisme waarin GPU's kunnen worden gedeeld door meerdere taken, waarbij elke taak een percentage van de GPU-resources wordt toegewezen. MPS is een preview-functie op uw Azure Stack Edge Pro GPU-apparaat. Voer de volgende stappen uit om MPS in te schakelen op uw apparaat:
Zorg voordat u begint voor het volgende:
- U hebt uw Azure Stack Edge Pro-apparaat geconfigureerd en geactiveerd met een Azure Stack Edge-resource in Azure.
- U hebt rekenkracht geconfigureerd op dit apparaat in Azure Portal.
Gebruik de volgende opdracht om MPS in te schakelen op uw apparaat.
Start-HcsGpuMPS
Notitie
Wanneer de apparaatsoftware en het Kubernetes-cluster worden bijgewerkt, blijft de MPS-instelling niet behouden voor de workloads. U moet MPS opnieuw inschakelen.
Uw apparaat opnieuw instellen
Om uw apparaat te herstellen naar de fabrieksinstellingen, moet u alle gegevens op de gegevensschijf en de opstartschijf veilig wissen.
Gebruik de cmdlet Reset-HcsAppliance
om zowel de gegevensschijven als de opstartschijf of alleen de gegevensschijven te wissen. Met SecureWipeBootDisk
de schakelopties SecureWipeDataDisks
kunt u de opstartschijf en de gegevensschijven wissen.
Met de schakeloptie SecureWipeBootDisk
wordt de opstartschijf gewist en wordt het apparaat onbruikbaar. Deze optie dient alleen te worden gebruikt wanneer het apparaat moet worden geretourneerd naar Microsoft. Raadpleeg voor meer informatie Het apparaat terugsturen naar Microsoft.
Als u het apparaat opnieuw instelt in de lokale webinterface, worden alleen de gegevensschijven veilig gewist, maar wordt de opstartschijf intact gehouden. De opstartschijf bevat de apparaatconfiguratie.
Typ bij de opdrachtprompt:
Reset-HcsAppliance -SecureWipeBootDisk -SecureWipeDataDisks
In het volgende voorbeeld ziet u hoe u deze cmdlet gebruikt:
[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
Rekenlogboeken ophalen
Als de rekenrol op uw apparaat is geconfigureerd, kunt u de rekenlogboeken ook ophalen via de PowerShell-interface.
Gebruik de opdracht
Get-AzureDataBoxEdgeComputeRoleLogs
om de rekenlogboeken voor uw apparaat op te halen.In het volgende voorbeeld ziet u het gebruik van deze cmdlet:
Get-AzureDataBoxEdgeComputeRoleLogs -Path "\\hcsfs\logs\myacct" -Credential "username" -FullLogCollection
Hier volgt een beschrijving van de parameters die worden gebruikt voor de cmdlet:
Path
: Geef een netwerkpad op naar de share waar u het rekenlogboekpakket wilt maken.Credential
: Geef de gebruikersnaam op voor de netwerkshare. Wanneer u deze cmdlet uitvoert, moet u het wachtwoord voor de share opgeven.FullLogCollection
: Deze parameter zorgt ervoor dat het logboekpakket alle rekenlogboeken bevat. Standaard bevat het logboekpakket alleen een subset van logboeken.
Kubernetes-workloadprofielen wijzigen
Nadat u een cluster hebt gevormd en geconfigureerd en u nieuwe virtuele switches hebt gemaakt, kunt u virtuele netwerken toevoegen of verwijderen die zijn gekoppeld aan uw virtuele switches. Zie Virtuele switches configureren voor gedetailleerde stappen.
Nadat virtuele switches zijn gemaakt, kunt u de switches voor Kubernetes-rekenverkeer inschakelen om een Kubernetes-workloadprofiel op te geven. Als u dit wilt doen met behulp van de lokale gebruikersinterface, gebruikt u de stappen in Reken-IPS configureren. Voer hiervoor de volgende stappen uit met behulp van PowerShell:
Gebruik de
Get-HcsApplianceInfo
cmdlet om de huidigeKubernetesPlatform
enKubernetesWorkloadProfile
instellingen voor uw apparaat op te halen.Gebruik de
Get-HcsKubernetesWorkloadProfiles
cmdlet om de profielen te identificeren die beschikbaar zijn op uw Azure Stack Edge-apparaat.[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>
Gebruik de
Set-HcsKubernetesWorkloadProfile
cmdlet om het workloadprofiel in te stellen voor AP5GC, een Azure Private MEC-oplossing.In het volgende voorbeeld ziet u het gebruik van deze cmdlet:
Set-HcsKubernetesWorkloadProfile -Type "AP5GC"
Hier volgt voorbeelduitvoer voor deze cmdlet:
[10.100.10.10]: PS>KubernetesPlatform : AKS [10.100.10.10]: PS>KubernetesWorkloadProfile : AP5GC [10.100.10.10]: PS>
Subnetten voor Kubernetes-pods en -services wijzigen
Als u de andere workloads in uw omgeving uitvoert, gebruikt Kubernetes op uw Azure Stack Edge-apparaat standaard subnetten 172.27.0.0/16 en 172.28.0.0/16 voor pods en services. Als deze subnetten al in uw netwerk worden gebruikt, kunt u de Set-HcsKubeClusterNetworkInfo
cmdlet uitvoeren om deze subnetten te wijzigen.
U wilt deze configuratie uitvoeren voordat u rekenkracht vanuit Azure Portal configureert wanneer het Kubernetes-cluster in deze stap wordt gemaakt.
Maak verbinding met de PowerShell-interface van het apparaat.
Voer vanuit de PowerShell-interface van het apparaat het volgende uit:
Set-HcsKubeClusterNetworkInfo -PodSubnet <subnet details> -ServiceSubnet <subnet details>
Vervang de details van het <subnet door het subnetbereik> dat u wilt gebruiken.
Zodra u deze opdracht hebt uitgevoerd, kunt u de
Get-HcsKubeClusterNetworkInfo
opdracht gebruiken om te controleren of de pod- en servicesubnetten zijn gewijzigd.
Hier volgt een voorbeelduitvoer voor deze opdracht.
[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>
Fouten opsporen in Kubernetes met betrekking tot IoT Edge
Voordat u begint, moet u het volgende hebben:
- Rekennetwerk geconfigureerd. Zie zelfstudie: Netwerk configureren voor Azure Stack Edge Pro met GPU.
- De rekenrol die is geconfigureerd op uw apparaat.
Op een Azure Stack Edge Pro GPU-apparaat waarop de rekenrol is geconfigureerd, kunt u problemen met het apparaat oplossen of bewaken met behulp van twee verschillende sets opdrachten.
- Opdrachten
iotedge
gebruiken. Deze opdrachten zijn beschikbaar voor basisbewerkingen voor uw apparaat. - Opdrachten
kubectl
gebruiken. Deze opdrachten zijn beschikbaar voor een uitgebreide set bewerkingen voor uw apparaat.
Als u een van de bovenstaande opdrachten wilt uitvoeren, moet u verbinding maken met de PowerShell-interface.
Opdrachten gebruiken iotedge
Als u een lijst met beschikbare opdrachten wilt zien, maakt u verbinding met de PowerShell-interface en gebruikt u de iotedge
functie.
[10.100.10.10]: PS>iotedge -?
Usage: iotedge COMMAND
Commands:
list
logs
restart
[10.100.10.10]: PS>
De volgende tabel bevat een korte beschrijving van de opdrachten die beschikbaar zijn voor iotedge
:
opdracht | Beschrijving |
---|---|
list |
Modules in lijst weergeven |
logs |
De logboeken van een module ophalen |
restart |
Een module stoppen en opnieuw starten |
Alle IoT Edge-modules weergeven
Gebruik de iotedge list
opdracht om alle modules weer te geven die op uw apparaat worden uitgevoerd.
Hier volgt een voorbeeld van de uitvoer van deze opdracht. Met deze opdracht worden alle modules, de bijbehorende configuratie en de externe IP-adressen weergegeven die aan de modules zijn gekoppeld. U hebt bijvoorbeeld toegang tot de webserver-app op 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>
Modules opnieuw opstarten
U kunt de list
opdracht gebruiken om alle modules weer te geven die op uw apparaat worden uitgevoerd. Identificeer vervolgens de naam van de module die u opnieuw wilt opstarten en gebruik deze met de restart
opdracht.
Hier volgt een voorbeelduitvoer van het opnieuw starten van een module. Op basis van de beschrijving van hoelang de module wordt uitgevoerd, kunt u zien dat cuda-sample1
deze opnieuw is opgestart.
[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>
Modulelogboeken ophalen
Gebruik de logs
opdracht om logboeken op te halen voor elke IoT Edge-module die op uw apparaat wordt uitgevoerd.
Als er een fout is opgetreden bij het maken van de containerinstallatiekopie of tijdens het ophalen van de installatiekopie, voert u de opdracht uit logs edgeagent
. edgeagent
is de IoT Edge-runtimecontainer die verantwoordelijk is voor het inrichten van andere containers. Omdat logs edgeagent
alle logboeken worden gedumpt, kunt u de recente fouten zien door de optie --tail
0 te gebruiken.
Hier is een voorbeelduitvoer.
[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>
Notitie
De directe methoden, zoals GetModuleLogs of UploadModuleLogs, worden niet ondersteund in IoT Edge in Kubernetes op uw Azure Stack Edge.
Kubectl-opdrachten gebruiken
Op een Azure Stack Edge Pro GPU-apparaat waarop de rekenrol is geconfigureerd, zijn alle kubectl
opdrachten beschikbaar voor het bewaken of oplossen van problemen met modules. Als u een lijst met beschikbare opdrachten wilt zien, voert u deze uit kubectl --help
vanuit het opdrachtvenster.
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>
Ga naar cheatsheet voor kubectl
een uitgebreide lijst met opdrachtenkubectl
.
IP-adres van de service of module ophalen die buiten het Kubernetes-cluster wordt weergegeven
Voer de volgende opdracht uit om het IP-adres van een taakverdelingsservice of -modules op te halen die buiten de Kubernetes worden weergegeven:
kubectl get svc -n iotedge
Hieronder volgt een voorbeelduitvoer van alle services of modules die buiten het Kubernetes-cluster worden weergegeven.
[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>
Het IP-adres in de kolom Extern IP komt overeen met het externe eindpunt voor de service of de module. U kunt ook het externe IP-adres ophalen in het Kubernetes-dashboard.
Controleren of de module is geïmplementeerd
Compute-modules zijn containers waarvoor bedrijfslogica is geïmplementeerd. Een Kubernetes-pod kan meerdere containers uitvoeren.
Als u wilt controleren of een rekenmodule is geïmplementeerd, maakt u verbinding met de PowerShell-interface van het apparaat.
Voer de get pods
opdracht uit en controleer of de container (die overeenkomt met de rekenmodule) wordt uitgevoerd.
Voer de volgende opdracht uit om de lijst met alle pods op te halen die worden uitgevoerd in een specifieke naamruimte:
get pods -n <namespace>
Voer de volgende opdracht uit om de modules te controleren die zijn geïmplementeerd via IoT Edge:
get pods -n iotedge
Hieronder volgt een voorbeelduitvoer van alle pods die worden uitgevoerd in de iotedge
naamruimte.
[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>
De statusstatus geeft aan dat alle pods in de naamruimte worden uitgevoerd en de gereedheid geeft het aantal containers aan dat in een pod is geïmplementeerd. In het voorgaande voorbeeld worden alle pods uitgevoerd en worden alle modules uitgevoerd die in elk van de pods zijn geïmplementeerd.
Voer de volgende opdracht uit om de modules te controleren die zijn geïmplementeerd via Azure Arc:
get pods -n azure-arc
U kunt ook verbinding maken met het Kubernetes-dashboard om IoT Edge- of Azure Arc-implementaties te bekijken.
Voor een uitgebreidere uitvoer van een specifieke pod voor een bepaalde naamruimte kunt u de volgende opdracht uitvoeren:
kubectl describe pod <pod name> -n <namespace>
De voorbeelduitvoer wordt hier weergegeven.
[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>
Containerlogboeken ophalen
Als u de logboeken voor een module wilt ophalen, voert u de volgende opdracht uit vanuit de PowerShell-interface van het apparaat:
kubectl logs <pod_name> -n <namespace> --all-containers
Omdat all-containers
vlag alle logboeken voor alle containers dumpt, kunt u de recente fouten zien door de optie --tail 10
te gebruiken.
Hieronder volgt een voorbeelduitvoer.
[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>
Geheugen of limieten voor processor wijzigen voor Kubernetes-werkknooppunt
Voer de volgende stappen uit om de geheugen- of processorlimieten voor het Kubernetes-werkknooppunt te wijzigen:
Maak verbinding met de PowerShell-interface van het apparaat.
Voer de volgende opdracht uit om de huidige resources voor het werkknooppunt en de rolopties op te halen:
Get-AzureDataBoxEdgeRole
Hier is een voorbeelduitvoer. Noteer de waarden voor
Name
enCompute
onderResources
sectie.MemoryInBytes
enProcessorCount
geeft het aantal momenteel toegewezen waarden aan voor geheugen en processor voor het Kubernetes-werkknooppunt.[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>
Voer de volgende opdracht uit om de waarden van het geheugen en de processors voor het werkknooppunt te wijzigen:
Set-AzureDataBoxEdgeRoleCompute -Name <Name value from the output of Get-AzureDataBoxEdgeRole> -Memory <Value in Bytes> -ProcessorCount <No. of cores>
Hier is een voorbeelduitvoer.
[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>
Volg deze richtlijnen tijdens het wijzigen van het geheugen- en processorgebruik.
- Het standaardgeheugen is 25% van de apparaatspecificatie.
- Het standaardaantal processoren is 30% van de apparaatspecificatie.
- Bij het wijzigen van de waarden voor het aantal geheugen en processor wordt u aangeraden de waarden tussen 15% en 60% van het geheugen van het apparaat en het aantal processoren te variëren.
- We raden een bovengrens van 60% aan, zodat er voldoende resources zijn voor systeemonderdelen.
Verbinding maken met BMC
Notitie
BMC (Baseboard Management Controller) is niet beschikbaar op Azure Stack Edge Pro 2 en Azure Stack Edge Mini R. De cmdlets die in deze sectie worden beschreven, zijn alleen van toepassing op Azure Stack Edge Pro GPU en Azure Stack Edge Pro R.
BMC wordt gebruikt om uw apparaat op afstand te bewaken en te beheren. In deze sectie worden de cmdlets beschreven die kunnen worden gebruikt voor het beheren van de BMC-configuratie. Voordat u een van deze cmdlets uitvoert, maakt u verbinding met de PowerShell-interface van het apparaat.
Get-HcsNetBmcInterface
: Gebruik deze cmdlet om de netwerkconfiguratie-eigenschappen van de BMC op te halen, bijvoorbeeld ,IPv4Address
IPv4Gateway
,IPv4SubnetMask
.DhcpEnabled
Hier volgt een voorbeeld van uitvoer:
[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
: U kunt deze cmdlet op de volgende twee manieren gebruiken.Gebruik de cmdlet om DHCP-configuratie voor BMC in of uit te schakelen met behulp van de juiste waarde voor
UseDhcp
de parameter.Set-HcsNetBmcInterface -UseDhcp $true
Hier volgt een voorbeeld van uitvoer:
[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>
Gebruik deze cmdlet om de statische configuratie voor de BMC te configureren. U kunt de waarden voor
IPv4Address
,IPv4Gateway
enIPv4SubnetMask
.Set-HcsNetBmcInterface -IPv4Address "<IPv4 address of the device>" -IPv4Gateway "<IPv4 address of the gateway>" -IPv4SubnetMask "<IPv4 address for the subnet mask>"
Hier volgt een voorbeeld van uitvoer:
[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
: Gebruik deze cmdlet om het BMC-wachtwoord voorEdgeUser
te wijzigen. De gebruikersnaam -EdgeUser
is hoofdlettergevoelig.Hier volgt een voorbeeld van uitvoer:
[10.100.10.10]: PS> Set-HcsBmcPassword -NewPassword "Password1" [10.100.10.10]: PS>
De externe sessie afsluiten
Sluit het PowerShell-venster om de externe PowerShell-sessie af te sluiten.
Volgende stappen
- Implementeer Azure Stack Edge Pro GPU in Azure Portal.