Een GPU Azure Stack Edge Pro apparaat beheren via Windows PowerShell
van toepassing op:
Azure stack Edge Pro-GPU
Azure stack Edge Pro r
Azure stack Edge-mini -r
Azure Stack Edge Pro GPU-oplossing kunt u gegevens verwerken en verzenden via het netwerk naar Azure. In dit artikel worden enkele van de configuratie- en beheertaken voor uw Azure Stack Edge Pro GPU-apparaat beschreven. U kunt de Azure Portal, lokale webinterface of de Windows PowerShell interface gebruiken om uw apparaat te beheren.
In dit artikel wordt beschreven hoe u verbinding kunt maken met de PowerShell-interface van het apparaat en welke taken u met deze interface kunt uitvoeren.
Verbinding maken met de PowerShell-interface
Afhankelijk van het besturingssysteem van de client zijn de procedures voor het extern verbinden met het apparaat verschillend.
Extern verbinding maken vanaf een Windows-client
Vereisten
Zorg voordat u begint voor het volgende:
Uw Windows-client wordt uitgevoerd Windows PowerShell versie 5.0 of hoger.
Op uw Windows-client is de ondertekeningsketen (basiscertificaat) geïnstalleerd die overeenkomt met het knooppuntcertificaat op het apparaat. Zie Certificaat installeren op uw Windows-client voor gedetailleerde instructies.
Het
hostsbestand voor uwC:\Windows\System32\drivers\etcWindows-client heeft een vermelding die overeenkomt met het knooppuntcertificaat in de volgende indeling:<Device IP> <Node serial number>.<DNS domain of the device>Hier is een voorbeeld van een vermelding voor het
hostsbestand:10.100.10.10 1HXQG13.wdshcsso.com
Gedetailleerde stappen
Volg deze stappen om op afstand verbinding te maken vanaf een Windows-client.
Voer een Windows PowerShell uit als beheerder.
Zorg ervoor dat de Windows Remote Management-service wordt uitgevoerd op uw client. Typ in de opdrachtprompt:
winrm quickconfigZie Installatie en configuratie voor Windows Remote Management voor meer informatie.
Wijs een variabele toe aan de connection string in het bestand wordt
hostsgebruikt.$Name = "<Node serial number>.<DNS domain of the device>"Vervang
<Node serial number>en door het serienummer van het<DNS domain of the device>knooppunt en het DNS-domein van uw apparaat. U kunt de waarden voor het serienummer van het knooppunt op de pagina Certificaten en het DNS-domein vinden op de pagina Apparaat in de lokale webinterface van uw apparaat.Als u deze connection string 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 -ForceStart een Windows PowerShell sessie op het apparaat:
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSLAls er een fout wordt weergegeven met betrekking tot de vertrouwensrelatie, controleert u of de ondertekeningsketen van het knooppuntcertificaat dat is geüpload naar uw apparaat, ook is geïnstalleerd op de client die toegang heeft tot uw apparaat.
Geef het wachtwoord op wanneer u hier om wordt gevraagd. Gebruik hetzelfde wachtwoord dat wordt gebruikt om u aan te melden bij de lokale webgebruikersinterface. Het standaardwachtwoord voor de lokale webinterface is Password1. Wanneer u verbinding met het apparaat hebt gemaakt met behulp van 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 optie -UseSSL gebruikt, gebruikt u een remoting via PowerShell via https. U wordt aangeraden altijd https te gebruiken om op afstand verbinding te maken via PowerShell. Binnen vertrouwde netwerken is remoting via PowerShell via http acceptabel. U kunt eerst externe PowerShell via http inschakelen in de lokale gebruikersinterface. Vervolgens kunt u zonder de optie verbinding maken met de PowerShell-interface van het apparaat met behulp van de voorgaande -UseSSL procedure.
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 is een voorbeeld van uitvoer 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 versie 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 het apparaat, kunt u een ondersteunings pakket maken op basis van de systeem Logboeken. Microsoft Ondersteuning gebruikt dit pakket om de problemen op te lossen. Volg deze stappen voor het maken van een ondersteunings pakket:
Verbinding maken met de Power shell-interface van uw apparaat.
Gebruik de
Get-HcsNodeSupportPackageopdracht om een ondersteunings pakket 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 volgende para meters worden gebruikt:
-Path-Geef het netwerk of het lokale pad op waarnaar u het ondersteunings pakket wilt kopiëren. lang-Credential-Geef de referenties op voor toegang tot het beveiligde pad.-Zip-Geef op of u een zip-bestand wilt genereren.-Include-Geef op of u de onderdelen wilt opnemen die moeten worden opgenomen in het ondersteunings pakket. Als niet wordt opgegeven,Defaultwordt ervan uitgegaan.-IncludeArchived-Geef op of u gearchiveerde logboeken wilt toevoegen aan het ondersteunings pakket.-IncludePeriodicStats-Geef op of u periodieke Statie logboeken wilt gebruiken in het ondersteunings pakket.
Apparaatgegevens weergeven
Gebruik de
Get-HcsApplianceInfoom de informatie voor uw apparaat op te halen.In het volgende voor beeld 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 : FalseHier volgt een tabel met een overzicht van een aantal belang rijke informatie over apparaten:
Parameter Beschrijving FriendlyName De beschrijvende naam van het apparaat zoals geconfigureerd via de lokale web-UI tijdens de implementatie van het apparaat. De standaard beschrijvende naam is het serie nummer van het apparaat. SerialNumber Het serie nummer van het apparaat is een uniek nummer dat is toegewezen aan de Factory. Model Het model voor uw Azure Stack rand of Data Box Gateway apparaat. Het model is fysiek voor Azure Stack Edge en virtueel voor Data Box Gateway. FriendlySoftwareVersion De beschrijvende teken reeks die overeenkomt met de versie van de apparaatsoftware. Voor een systeem met Preview wordt de beschrijvende software versie Data Box Edge 1902. HcsVersion De versie van de HCS-software die op uw apparaat wordt uitgevoerd. De HCS-software versie 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's weergeven
Als de rekenrol op uw apparaat is geconfigureerd, kunt u ook informatie over het GPU-stuurprogramma verkrijgen via de PowerShell-interface.
Gebruik de
Get-HcsGpuNvidiaSmiom de GPU-stuurprogrammagegevens voor uw apparaat op te halen.In het volgende voorbeeld ziet u het gebruik van deze cmdlet:
Get-HcsGpuNvidiaSmiNoteer 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 | +-------------------------------+----------------------+----------------------+
MpS (Multi-Process Service) inschakelen
Een MPS (Multi-Process Service) op Nvidia GPU's biedt een mechanisme waarbij GPU's kunnen worden gedeeld door meerdere taken, waarbij aan elke taak een bepaald percentage van de RESOURCES van de GPU wordt toegewezen. MPS is een preview-functie op uw Azure Stack Edge Pro GPU-apparaat. Als u MPS op uw apparaat wilt inschakelen, volgt u deze stappen:
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 Compute op dit apparaat geconfigureerd in de Azure Portal.
Gebruik de volgende opdracht om MPS op uw apparaat in te scha kelen.
Start-HcsGpuMPS
Notitie
Wanneer de apparaatsoftware en het Kubernetes-cluster worden bijgewerkt, blijft de MPS-instelling niet behouden voor de werkbelastingen. U moet MPS opnieuw inschakelen.
Het 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 Reset-HcsAppliance cmdlet om zowel de gegevens schijven als de opstart schijf of alleen de gegevens schijven te wissen. ClearDataMet de BootDisk Opties en kunt u de gegevens schijven en de opstart schijf respectievelijk wissen.
De BootDisk Switch wist de opstart schijf en maakt het apparaat onbruikbaar. Deze optie dient alleen te worden gebruikt wanneer het apparaat moet worden geretourneerd naar Microsoft. Zie het apparaat terugsturen naar micro softvoor meer informatie.
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 in de opdrachtprompt:
Reset-HcsAppliance -ClearData -BootDiskIn het volgende voor beeld ziet u hoe u deze cmdlet gebruikt:
[10.128.24.33]: PS>Reset-HcsAppliance -ClearData -BootDisk Confirm Are you sure you want to perform this action? Performing the operation "Reset-HcsAppliance" on target "ShouldProcess appliance". [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): N
Rekenlogboeken op halen
Als de rekenrol op uw apparaat is geconfigureerd, kunt u ook de rekenlogboeken op halen via de PowerShell-interface.
Gebruik de
Get-AzureDataBoxEdgeComputeRoleLogsom 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" -FullLogCollectionHier is 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 voor de netwerk share op. Wanneer u deze cmdlet hebt uitgevoerd, moet u het wachtwoord voor de share opgeven.FullLogCollection: Deze parameter zorgt ervoor dat het logboekpakket alle rekenlogboeken bevat. Standaard bevat het logboekpakket slechts een subset van logboeken.
Subnetten voor Kubernetes-pods en -services wijzigen
Kubernetes op uw Azure Stack Edge-apparaat maakt standaard gebruik van subnetten 172.27.0.0/16 en 172.28.0.0/16 voor pods en service. 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 configureert vanaf de Azure Portal het Kubernetes-cluster in deze stap wordt gemaakt.
Verbinding maken naar 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 door <subnet details> het subnetbereik dat u wilt gebruiken.
Nadat u deze opdracht hebt uitgevoerd, kunt u de opdracht gebruiken om te controleren of de
Get-HcsKubeClusterNetworkInfosubnetten pod en service zijn gewijzigd.
Hier is 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-problemen 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 op uw apparaat is geconfigureerd.
Op een Azure Stack Edge Pro GPU-apparaat waar de rekenrol is geconfigureerd, kunt u problemen met het apparaat oplossen of controleren met behulp van twee verschillende sets opdrachten.
- Met
iotedgebehulp van opdrachten. Deze opdrachten zijn beschikbaar voor basisbewerkingen voor uw apparaat. - Met
kubectlbehulp van opdrachten. Deze opdrachten zijn beschikbaar voor een uitgebreide reeks bewerkingen voor uw apparaat.
Als u een van de bovenstaande reeks opdrachten wilt uitvoeren, moet Verbinding maken naar de PowerShell-interface.
Opdrachten iotedge gebruiken
Als u een lijst met beschikbare opdrachten wilt zien, maakt u verbinding met de PowerShell-interface en gebruikt u de functie iotedge .
[10.100.10.10]: PS>iotedge -?
Usage: iotedge COMMAND
Commands:
list
logs
restart
[10.100.10.10]: PS>
De volgende tabel heeft een korte beschrijving van de opdrachten die beschikbaar zijn voor iotedge :
| command | Beschrijving |
|---|---|
list |
Modules in lijst weergeven |
logs |
De logboeken van een module ophalen |
restart |
Een module stoppen en opnieuw starten |
Een lijst met alle IoT Edge maken
Gebruik de opdracht om alle modules weer te geven die op uw apparaat worden iotedge list uitgevoerd.
Hier is een voorbeeld van de uitvoer van deze opdracht. Met deze opdracht worden alle modules, de bijbehorende configuratie en de externe IP's die aan de modules zijn gekoppeld, vermeld. 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 opdracht list gebruiken om alle modules weer te geven die op uw apparaat worden uitgevoerd. Identificeer vervolgens de naam van de module die u opnieuw wilt starten en gebruik deze met de restart opdracht .
Hier is een voorbeeld van de uitvoer van het opnieuw starten van een module. Op basis van de beschrijving van hoe lang de module wordt uitgevoerd, kunt u zien dat cuda-sample1 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 op halen
Gebruik de logs opdracht om logboeken op te halen voor IoT Edge module die op uw apparaat wordt uitgevoerd.
Als er een fout is opgetreden bij het maken van de containerafbeelding of tijdens het binnenhalen van de afbeelding, voer dan logs edgeagent uit. edgeagent is de IoT Edge runtimecontainer die verantwoordelijk is voor het inrichten van andere containers. Omdat alle logboeken dumpt, is het een goede manier om de recente fouten te zien met de logs edgeagent optie --tail 0'.
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 op IoT Edge kubernetes op uw Azure Stack Edge.
Kubectl-opdrachten gebruiken
Op een Azure Stack Edge Pro GPU-apparaat waar de rekenrol is geconfigureerd, zijn alle opdrachten beschikbaar voor het bewaken of kubectl oplossen van problemen met modules. Voer uit vanuit het opdrachtvenster om een lijst met beschikbare kubectl --help opdrachten weer te geven.
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 een uitgebreide kubectl lijst kubectl met opdrachten.
IP-adres van service of module buiten Kubernetes-cluster zichtbaar maken
Voer de volgende opdracht uit om het IP-adres van een taakverdelingsservice of modules buiten Kubernetes beschikbaar te maken:
kubectl get svc -n iotedge
Hieronder volgt een voorbeeld van de uitvoer van alle services of modules die buiten het Kubernetes-cluster beschikbaar worden gemaakt.
[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-adres komt overeen met het externe eindpunt voor de service of de module. U kunt ook het externe IP-adres in het Kubernetes-dashboard op halen.
Controleren of de module is geïmplementeerd
Rekenmodules zijn containers met een geïmplementeerde bedrijfslogica. 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 op te halen met alle pods die worden uitgevoerd in een specifieke naamruimte:
get pods -n <namespace>
Voer de volgende opdracht uit om te controleren IoT Edge modules zijn geïmplementeerd:
get pods -n iotedge
Hieronder volgt een voorbeeld van de uitvoer van alle pods die in de iotedge naamruimte worden uitgevoerd.
[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 status Status geeft aan dat alle pods in de naamruimte worden uitgevoerd en de Status 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 te controleren Azure Arc modules zijn geïmplementeerd:
get pods -n azure-arc
U kunt ook naar Verbinding maken Kubernetes-dashboardgaan om de IoT Edge of Azure Arc zien.
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 op te halen
Voer de volgende opdracht uit vanuit de PowerShell-interface van het apparaat om de logboeken voor een module op te halen:
kubectl logs <pod_name> -n <namespace> --all-containers
Omdat vlag alle logboeken voor alle containers dumpt, is het een goede manier om de recente fouten te zien met all-containers de optie --tail 10 .
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
Ga als volgt te werk om de geheugen- of processorlimieten voor het Kubernetes-werk knooppunt te wijzigen:
Verbinding maken naar de PowerShell-interface van het apparaat.
Voer de volgende opdracht uit om de huidige resources voor het werkrol-knooppunt en de rolopties op te halen:
Get-AzureDataBoxEdgeRoleHier is een voorbeelduitvoer. Noteer de waarden voor
Nameen onder de sectieComputeResources.MemoryInBytesen geven de momenteel toegewezen waarden voor het geheugen enProcessorCounthet aantal processoren voor het Kubernetes-werk knooppunt aan.[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 worker-knooppunt 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.
- Standaardgeheugen is 25% van de apparaatspecificatie.
- Het standaardprocessortelling is 30% van de apparaatspecificatie.
- Wanneer u de waarden voor het geheugen- en processortellingen verandert, raden we u aan de waarden te variëren tussen 15% tot 60% van het geheugen van het apparaat en het aantal processoren.
- We raden een bovengrens van 60% aan, zodat er voldoende resources zijn voor systeemonderdelen.
Verbinding maken naar BMC
Baseboard management controller (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 gaat uitvoeren, Verbinding maken naar de PowerShell-interface van het apparaat.
Get-HcsNetBmcInterface: Gebruik deze cmdlet om de netwerkconfiguratie-eigenschappen van de BMC op te halen, bijvoorbeeldIPv4Address,IPv4Gateway, ,IPv4SubnetMaskDhcpEnabled.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 de DHCP-configuratie voor BMC in of uit te schakelen met behulp van de juiste waarde voor
UseDhcpparameter.Set-HcsNetBmcInterface -UseDhcp $trueHier 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,IPv4GatewayenIPv4SubnetMaskopgeven.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 voor teEdgeUserwijzigen. De gebruikersnaam -EdgeUser- is case-sensitive.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.