Hantera en Azure Stack Edge Pro GPU-enhet via Windows PowerShell
gäller för:
Azure Stack Edge Pro – GPU
Azure Stack Edge Pro r
Azure Stack Edge mini r
Azure Stack Edge Pro GPU-lösning kan du bearbeta data och skicka dem via nätverket till Azure. I den här artikeln beskrivs några av konfigurations- och hanteringsuppgifterna för din Azure Stack Edge Pro GPU-enhet. Du kan använda Azure Portal, lokalt webbgränssnitt eller Windows PowerShell för att hantera din enhet.
Den här artikeln fokuserar på hur du kan ansluta till Enhetens PowerShell-gränssnitt och de uppgifter som du kan utföra med det här gränssnittet.
Ansluta till PowerShell-gränssnittet
Beroende på klientoperativsystemet är procedurerna för att fjärransluta till enheten olika.
Fjärransluta från en Windows-klient
Krav
Innan du börjar ska du kontrollera att:
Windows-klienten kör Windows PowerShell 5.0 eller senare.
Windows-klienten har en signeringskedja (rotcertifikat) som motsvarar nodcertifikatet som är installerat på enheten. Detaljerade anvisningar finns i Installera certifikat på Windows-klienten.
Filen
hostssom finns på förC:\Windows\System32\drivers\etcWindows-klienten har en post som motsvarar nodcertifikatet i följande format:<Device IP> <Node serial number>.<DNS domain of the device>Här är ett exempel på en post för
hostsfilen:10.100.10.10 1HXQG13.wdshcsso.com
Detaljerade steg
Följ dessa steg för att fjärransluta från en Windows-klient.
Kör en Windows PowerShell-session som administratör.
Kontrollera att tjänsten Windows Remote Management körs på klienten. Skriv följande i kommandotolken:
winrm quickconfigMer information finns i Installation och konfiguration för Windows Remote Management.
Tilldela en variabel till anslutningssträngen som används i
hostsfilen.$Name = "<Node serial number>.<DNS domain of the device>"Ersätt
<Node serial number>och<DNS domain of the device>med nodserienumret och DNS-domänen för enheten. Du kan hämta värdena för nodserienumret från sidan Certifikat och DNS-domän från sidan Enhet i det lokala webbgränssnittet på enheten.Om du vill lägga till den här anslutningssträngen för enheten i klientens lista över betrodda värdar skriver du följande kommando:
Set-Item WSMan:\localhost\Client\TrustedHosts $Name -Concatenate -ForceStarta en Windows PowerShell-session på enheten:
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSLOm du ser ett fel som rör förtroenderelation kontrollerar du om signeringskedjan för nodcertifikatet som laddats upp till enheten också är installerad på klienten som har åtkomst till enheten.
Ange lösenordet när du uppmanas att göra det. Använd samma lösenord som används för att logga in på det lokala webbgränssnittet. Standardlösenordet för det lokala webbgränssnittet är Password1. När du ansluter till enheten med fjärr-PowerShell visas följande exempelutdata:
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>
När du använder -UseSSL alternativet fjärrkommunikation via PowerShell via https. Vi rekommenderar att du alltid använder https för att fjärransluta via PowerShell. I betrodda nätverk är fjärrkommunikation via PowerShell via http acceptabelt. Först aktiverar du fjärr-PowerShell via http i det lokala användargränssnittet. Sedan kan du ansluta till PowerShell-gränssnittet för enheten med hjälp av föregående procedur utan -UseSSL alternativet .
Om du inte använder certifikaten (vi rekommenderar att du använder certifikaten!) kan du hoppa över certifikatverifieringskontrollen med hjälp av sessionsalternativen: -SkipCACheck -SkipCNCheck -SkipRevocationCheck .
$sessOptions = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
Enter-PSSession -ComputerName $Name -Credential ~\EdgeUser -ConfigurationName Minishell -UseSSL -SessionOption $sessOptions
Här är ett exempel på utdata när du hoppar över certifikatkontrollen:
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>
Viktigt
I den aktuella versionen kan du bara ansluta till Enhetens PowerShell-gränssnitt via en Windows-klient. Alternativet -UseSSL fungerar inte med Linux-klienterna.
Skapa ett supportpaket
Om du får problem med enheten kan du skapa ett support paket från system loggarna. Microsoft Support använder det här paketet för att felsöka problemen. Följ de här stegen för att skapa ett support paket:
Använd
Get-HcsNodeSupportPackagekommandot för att skapa ett support paket. Användningen av cmdleten är följande: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>]Cmdlet: en samlar in loggar från enheten och kopierar dessa loggar till ett angivet nätverk eller en lokal resurs.
De parametrar som används är följande:
-Path-Ange nätverket eller den lokala sökvägen för att kopiera support paketet till. kunna-Credential– Ange autentiseringsuppgifterna för att få åtkomst till den skyddade sökvägen.-Zip-Ange om du vill generera en zip-fil.-Include-Ange om du vill inkludera de komponenter som ska ingå i support paketet. Om inget angesDefaultantas detta.-IncludeArchived-Ange om du vill inkludera arkiverade loggar i support paketet.-IncludePeriodicStats-Ange om du vill inkludera periodiska stat loggar i support paketet.
Visa enhetsinformation
Använd
Get-HcsApplianceInfoför att hämta information om enheten.I följande exempel visas användningen av denna 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 : FalseHär är en tabell som sammanfattar en del av viktig enhets information:
Parameter Beskrivning FriendlyName Det egna namnet på enheten enligt konfigurationen via det lokala webb gränssnittet under enhets distributionen. Det egna standard namnet är enhetens serie nummer. Serienummer Enhetens serie nummer är ett unikt nummer som tilldelas på fabriken. Modell Modellen för din Azure Stack Edge-eller Data Box Gateway-enhet. Modellen är fysisk för Azure Stack Edge och Virtual för Data Box Gateway. FriendlySoftwareVersion Den egna strängen som motsvarar enhetens program varu version. För ett system som kör för hands version blir den egna program varu versionen Data Box Edge 1902. HcsVersion HCS UPPDATERINGSKLIENTEN program varu version som körs på enheten. Till exempel är HCS UPPDATERINGSKLIENTEN-programvaran som motsvarar Data Box Edge 1902 1.4.771.324. LocalCapacityInMb Enhetens totala lokala kapacitet i megabit. IsRegistered Det här värdet anger om enheten är aktive rad med tjänsten.
Visa information om GPU-drivrutin
Om beräkningsrollen har konfigurerats på enheten kan du också hämta information om GPU-drivrutinen via PowerShell-gränssnittet.
Använd för
Get-HcsGpuNvidiaSmiatt hämta GPU-drivrutinsinformation för din enhet.I följande exempel visas användningen av denna cmdlet:
Get-HcsGpuNvidiaSmiAnteckna drivrutinsinformationen från exempelutdata för den här cmdleten.
+-----------------------------------------------------------------------------+ | 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 | +-------------------------------+----------------------+----------------------+
Aktivera mps (Multi-Process Service)
En MPS (Multi-Process Service) på Nvidia GPU:er ger en mekanism där GPU:er kan delas av flera jobb, där varje jobb allokeras en viss procentandel av GPU:ns resurser. MPS är en förhandsgranskningsfunktion på din Azure Stack Edge Pro GPU-enhet. Följ dessa steg om du vill aktivera MPS på enheten:
Innan du börjar ska du kontrollera att:
- Du har konfigurerat och aktiverat din Azure Stack Edge Pro-enhet med en Azure Stack Edge-resurs i Azure.
- Du har konfigurerat Compute på den här enheten i Azure Portal.
Använd följande kommando för att aktivera MPS på enheten.
Start-HcsGpuMPS
Anteckning
När enhetsprogramvaran och Kubernetes-klustret uppdateras behålls inte MPS-inställningen för arbetsbelastningarna. Du måste aktivera MPS igen.
Återställa din enhet
Om du återställa enheten måste du på ett säkert sätt rensa alla data på datadisken och startdisken på enheten.
Använd Reset-HcsAppliance cmdleten för att rensa både data diskarna och start disken eller bara data diskarna. Med ClearData BootDisk växlarna och kan du rensa data diskarna och start disken.
BootDiskVäxeln rensar start disken och gör enheten oanvändbar. Den bör bara användas när enheten måste returneras till Microsoft. Mer information finns i returnera enheten till Microsoft.
Om du använder enhetsåterställningen i det lokala webbgränssnittet rensas bara datadiskarna på ett säkert sätt, men startdisken hålls intakt. Startdisken innehåller enhetskonfigurationen.
Skriv följande i kommandotolken:
Reset-HcsAppliance -ClearData -BootDiskI följande exempel visas hur du använder den här cmdleten:
[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
Hämta beräkningsloggar
Om beräkningsrollen har konfigurerats på enheten kan du även hämta beräkningsloggarna via PowerShell-gränssnittet.
Använd för
Get-AzureDataBoxEdgeComputeRoleLogsatt hämta beräkningsloggarna för din enhet.I följande exempel visas användningen av denna cmdlet:
Get-AzureDataBoxEdgeComputeRoleLogs -Path "\\hcsfs\logs\myacct" -Credential "username" -FullLogCollectionHär är en beskrivning av de parametrar som används för cmdleten:
Path: Ange en nätverkssökväg till resursen där du vill skapa beräkningsloggpaketet.Credential: Ange användarnamnet för nätverksresursen. När du kör den här cmdleten måste du ange resurslösenordet.FullLogCollection: Den här parametern säkerställer att loggpaketet innehåller alla beräkningsloggar. Som standard innehåller loggpaketet bara en delmängd av loggarna.
Ändra Kubernetes-pod och -tjänstundernät
Som standard använder Kubernetes på din Azure Stack Edge-enhet undernäten 172.27.0.0/16 och 172.28.0.0/16 för podd respektive tjänst. Om dessa undernät redan används i nätverket kan du köra Set-HcsKubeClusterNetworkInfo cmdleten för att ändra dessa undernät.
Du vill utföra den här konfigurationen innan du konfigurerar beräkning från Azure Portal när Kubernetes-klustret skapas i det här steget.
Från Enhetens PowerShell-gränssnitt kör du:
Set-HcsKubeClusterNetworkInfo -PodSubnet <subnet details> -ServiceSubnet <subnet details>Ersätt <subnet details> med det undernätsintervall som du vill använda.
När du har kört det här kommandot kan du använda kommandot
Get-HcsKubeClusterNetworkInfoför att kontrollera att podd- och tjänstundernäten har ändrats.
Här är ett exempel på utdata för det här kommandot.
[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>
Felsöka Kubernetes-problem som rör IoT Edge
Innan du börjar måste du ha:
- Konfigurerat beräkningsnätverk. Se Självstudie: Konfigurera nätverk för Azure Stack Edge Pro med GPU.
- Beräkningsroll som konfigurerats på enheten.
På en Azure Stack Edge Pro GPU-enhet som har konfigurerat beräkningsrollen kan du felsöka eller övervaka enheten med två olika uppsättningar kommandon.
- Använda
iotedgekommandon. De här kommandona är tillgängliga för grundläggande åtgärder för din enhet. - Använda
kubectlkommandon. De här kommandona är tillgängliga för en omfattande uppsättning åtgärder för din enhet.
Om du vill köra någon av ovanstående uppsättning kommandon måste du Anslut till PowerShell-gränssnittet.
Använda iotedge kommandon
Om du vill se en lista över tillgängliga kommandon ansluter du till PowerShell-gränssnittet och använder iotedge funktionen .
[10.100.10.10]: PS>iotedge -?
Usage: iotedge COMMAND
Commands:
list
logs
restart
[10.100.10.10]: PS>
Följande tabell innehåller en kort beskrivning av de kommandon som är tillgängliga för iotedge :
| command | Description |
|---|---|
list |
Lista med moduler |
logs |
Hämta loggarna för en modul |
restart |
Stoppa och starta om en modul |
Lista alla IoT Edge moduler
Om du vill visa en lista över alla moduler som körs på enheten använder du iotedge list kommandot .
Här är ett exempel på utdata från det här kommandot. Det här kommandot visar alla moduler, tillhörande konfiguration och externa IP-adresser som är associerade med modulerna. Du kan till exempel komma åt webbserverappen på 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>
Starta om moduler
Du kan använda kommandot list för att visa en lista över alla moduler som körs på enheten. Identifiera sedan namnet på den modul som du vill starta om och använd den med restart kommandot .
Här är ett exempel på utdata om hur du startar om en modul. Baserat på beskrivningen av hur länge modulen körs för kan du se att cuda-sample1 har startats om.
[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>
Hämta modulloggar
Använd kommandot logs för att hämta loggar för alla IoT Edge som körs på enheten.
Om det uppstod ett fel när containeravbildningen skapades eller när du skulle hämta avbildningen kör du logs edgeagent . edgeagent är den IoT Edge som ansvarar för etableringen av andra containrar. Eftersom logs edgeagent dumpar alla loggar är ett bra sätt att se de senaste felen att använda alternativet --tail 0'.
Här är ett exempel på utdata.
[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>
Anteckning
Direktmetoder som GetModuleLogs eller UploadModuleLogs stöds inte på IoT Edge på Kubernetes på din Azure Stack Edge.
Använda kubectl-kommandon
På en Azure Stack Edge Pro GPU-enhet som har konfigurerat beräkningsrollen är alla kubectl kommandon tillgängliga för att övervaka eller felsöka moduler. Om du vill se en lista över tillgängliga kommandon kör kubectl --help du från kommandofönstret.
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>
En omfattande lista över kubectl kommandona finns i kubectl lathunden.
Hämta IP-adressen för tjänsten eller modulen som exponeras utanför Kubernetes-kluster
Kör följande kommando för att hämta IP-adressen för en belastningsutjämningstjänst eller moduler som exponeras utanför Kubernetes:
kubectl get svc -n iotedge
Följande är ett exempel på utdata från alla tjänster eller moduler som exponeras utanför Kubernetes-klustret.
[10.100.10.10]: PS>kubectl get svc -n iotedge
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
edgehub LoadBalancer 10.103.52.225 10.128.44.243 443:31987/TCP,5671:32336/TCP,8883:30618/TCP 34h
iotedged ClusterIP 10.107.236.20 <none> 35000/TCP,35001/TCP 3d8h
webserverapp LoadBalancer 10.105.186.35 10.128.44.244 8080:30976/TCP 16h
[10.100.10.10]: PS>
IP-adressen i kolumnen Extern IP motsvarar den externa slutpunkten för tjänsten eller modulen. Du kan också hämta den externa IP-adressen på Kubernetes-instrumentpanelen.
Kontrollera om modulen har distribuerats
Beräkningsmoduler är containrar som har en affärslogik implementerad. En Kubernetes-podd kan ha flera containrar igång.
Om du vill kontrollera om en beräkningsmodul har distribuerats ansluter du till Enhetens PowerShell-gränssnitt.
Kör kommandot get pods och kontrollera om containern (som motsvarar beräkningsmodulen) körs.
Kör följande kommando för att hämta listan över alla poddar som körs i ett visst namnområde:
get pods -n <namespace>
Kontrollera vilka moduler som distribueras via IoT Edge genom att köra följande kommando:
get pods -n iotedge
Följande är ett exempel på utdata från alla poddar som körs i iotedge namnområdet.
[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>
Statusen Status anger att alla poddar i namnområdet körs och Redo anger antalet containrar som distribuerats i en podd. I föregående exempel körs alla poddar och alla moduler som distribueras i var och en av poddarna körs.
Kontrollera vilka moduler som distribueras via Azure Arc genom att köra följande kommando:
get pods -n azure-arc
Du kan också använda Anslut Kubernetes-instrumentpanelenför att se IoT Edge eller Azure Arc distributioner .
Om du vill ha mer utförliga utdata från en specifik podd för ett visst namnområde kan du köra följande kommando:
kubectl describe pod <pod name> -n <namespace>
Exempelutdata visas här.
[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>
Hämta containerloggar
Hämta loggarna för en modul genom att köra följande kommando från Enhetens PowerShell-gränssnitt:
kubectl logs <pod_name> -n <namespace> --all-containers
Eftersom flaggan dumpar alla loggar för alla containrar är ett bra sätt att se de all-containers senaste felen att använda alternativet --tail 10 .
Följande är ett exempel på utdata.
[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>
Ändra gränser för minne och processorer för Kubernetes-arbetsnod
Om du vill ändra minnes- eller processorgränserna för Kubernetes-arbetsnoden gör du följande:
Kör följande kommando för att hämta de aktuella resurserna för arbetsnoden och rollalternativen:
Get-AzureDataBoxEdgeRoleHär är ett exempel på utdata. Anteckna värdena för
NameochComputeunder avsnittetResources.MemoryInBytesochProcessorCountanger de värden som för närvarande har tilldelats minne och processorantal för Kubernetes-arbetsnoden.[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>Om du vill ändra värdena för minne och processorer för arbetsnoden kör du följande kommando:
Set-AzureDataBoxEdgeRoleCompute -Name <Name value from the output of Get-AzureDataBoxEdgeRole> -Memory <Value in Bytes> -ProcessorCount <No. of cores>Här är ett exempel på utdata.
[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>
Följ dessa riktlinjer när du ändrar minnes- och processoranvändningen.
- Standardminnet är 25 % av enhetsspecifikationen.
- Standardprocessorantalet är 30 % av enhetsspecifikationen.
- När du ändrar värdena för antal minne och processor rekommenderar vi att du varierar värdena mellan 15 % och 60 % av enhetens minne och processorantalet.
- Vi rekommenderar en övre gräns på 60 % så att det finns tillräckligt med resurser för systemkomponenter.
Anslut till BMC
BMC (Baseboard Management Controller) används för att fjärrövervaka och hantera din enhet. I det här avsnittet beskrivs de cmdlets som kan användas för att hantera BMC-konfiguration. Innan du kör någon av dessa cmdlets Anslut till Enhetens PowerShell-gränssnitt.
Get-HcsNetBmcInterface: Använd den här cmdleten för att hämta nätverkskonfigurationsegenskaperna för BMC, tillIPv4Addressexempel , , ,IPv4GatewayIPv4SubnetMaskDhcpEnabled.Här är exempel på utdata:
[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: Du kan använda denna cmdlet på följande två sätt.Använd cmdleten för att aktivera eller inaktivera DHCP-konfiguration för BMC genom att använda lämpligt värde för
UseDhcpparametern.Set-HcsNetBmcInterface -UseDhcp $trueHär är exempel på utdata:
[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>Använd den här cmdleten för att konfigurera den statiska konfigurationen för BMC. Du kan ange värdena för
IPv4Address,IPv4GatewayochIPv4SubnetMask.Set-HcsNetBmcInterface -IPv4Address "<IPv4 address of the device>" -IPv4Gateway "<IPv4 address of the gateway>" -IPv4SubnetMask "<IPv4 address for the subnet mask>"Här är exempel på utdata:
[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: Använd den här cmdleten för att ändra BMC-lösenordet förEdgeUser. Användarnamnet –EdgeUser– är case-sensitive.Här är exempel på utdata:
[10.100.10.10]: PS> Set-HcsBmcPassword -NewPassword "Password1" [10.100.10.10]: PS>
Avsluta fjärrsessionen
Stäng PowerShell-fönstret om du vill avsluta PowerShell-fjärrsessionen.
Nästa steg
- Distribuera Azure Stack Edge Pro GPU i Azure Portal.