Condividi tramite


Risolvere i problemi di IoT Edge nel dispositivo AZURE Stack Edge Pro GPU

SI APPLICA A: Sì per SKU GPU ProAzure Stack Edge Pro - GPUSì per lo SKU Pro 2Azure Stack Edge Pro 2Sì per SKU R ProAzure Stack Edge Pro RSì per SKU R MiniAzure Stack Edge Mini R

Questo articolo descrive come risolvere gli errori correlati al calcolo in un dispositivo Azure Stack Edge Pro GPU esaminando le risposte di runtime per l'agente IoT Edge e gli errori per il servizio IoT Edge installato nel dispositivo.

Esaminare le risposte del runtime di IoT Edge

Usare le risposte di runtime dell'agente IoT Edge per risolvere gli errori correlati al calcolo. Ecco un elenco di risposte possibili:

  • 200 - OK
  • 400 - La configurazione della distribuzione è in formato non corretto o non valida.
  • 417 - Il dispositivo non ha un set di configurazione di distribuzione.
  • 412 - La versione dello schema nella configurazione della distribuzione non è valida.
  • 406 - Il dispositivo è offline o non invia segnalazioni sullo stato.
  • 500 - Si è verificato un errore nel runtime di IoT Edge.

Per altre informazioni, vedere Agente IoT Edge.

Risolvere gli errori del servizio IoT Edge

Gli errori seguenti sono correlati al servizio IoT Edge nel dispositivo Azure Stack Edge Pro GPU.

I moduli di calcolo hanno lo stato Sconosciuto e non possono essere usati

Descrizione errore

Tutti i moduli nel dispositivo mostrano lo stato Sconosciuto e non possono essere usati. Lo stato Sconosciuto persiste tramite un riavvio.

Soluzione suggerita

Eliminare il servizio IoT Edge e quindi ridistribuire i moduli. Per altre informazioni, vedere Rimuovere il servizio IoT Edge.

I moduli vengono visualizzati come in esecuzione ma non funzionano

Descrizione errore

Lo stato di runtime del modulo viene visualizzato come in esecuzione, ma non vengono visualizzati i risultati previsti.

Questa condizione può essere causata da una configurazione della route del modulo che non funziona o edgehub potrebbe non instradare i messaggi come previsto. È possibile controllare i edgehub log. Se vengono visualizzati errori come la mancata connessione al servizio hub IoT, il motivo più comune è rappresentato dai problemi di connettività. I problemi di connettività possono verificarsi perché la porta AMPQ usata dal servizio hub IoT come porta predefinita per la comunicazione è bloccata o il server proxy Web blocca questi messaggi.

Soluzione suggerita

Seguire questa procedura:

  1. Per risolvere l'errore, passare alla risorsa hub IoT per il dispositivo e quindi selezionare il dispositivo Edge.
  2. Passare a Imposta le impostazioni di runtime dei moduli>.
  3. Aggiungere la Upstream protocol variabile di ambiente e assegnargli un valore .AMQPWS I messaggi configurati in questo caso vengono inviati tramite WebSocket tramite la porta 443.

I moduli vengono visualizzati come in esecuzione ma non hanno un indirizzo IP assegnato

Descrizione errore

Lo stato di runtime del modulo viene visualizzato come in esecuzione, ma l'app in contenitori non ha un indirizzo IP assegnato.

Questa condizione si verifica perché l'intervallo di indirizzi IP forniti per gli indirizzi IP del servizio esterno Kubernetes non è sufficiente. Estendere questo intervallo per assicurarsi che ogni contenitore o macchina virtuale distribuita sia coperto.

Soluzione suggerita

Nell'interfaccia utente Web locale del dispositivo seguire questa procedura:

  1. Passare alla pagina Calcolo . Selezionare la porta per cui è stata abilitata la rete di calcolo.
  2. Immettere un intervallo statico contiguo di indirizzi IP per gli indirizzi IP del servizio esterno Kubernetes. È necessario un indirizzo IP per edgehub il servizio. Inoltre, è necessario un indirizzo IP per ogni modulo IoT Edge e per ogni macchina virtuale che verrà distribuita.
  3. Selezionare Applica. L'intervallo IP modificato dovrebbe avere effetto immediatamente.

Per altre informazioni, vedere Modificare gli indirizzi IP del servizio esterno per i contenitori.

Configurare indirizzi IP statici per i moduli IoT Edge

Descrizione del problema

Kubernetes assegna indirizzi IP dinamici a ciascun modulo IoT Edge nel dispositivo Azure Stack Edge Pro con GPU. È necessario un metodo per configurare indirizzi IP statici per i moduli.

Soluzione suggerita

È possibile specificare indirizzi IP fissi per i moduli IoT Edge tramite la sezione K8s-experimental come descritto di seguito:

{
  "k8s-experimental": {
    "serviceOptions" : {
      "loadBalancerIP" : "100.23.201.78",
      "type" : "LoadBalancer"
    }
  }
}

Esporre il servizio Kubernetes come servizio IP del cluster per la comunicazione interna

Descrizione del problema

Per impostazione predefinita, il tipo di servizio IoT è il servizio di bilanciamento del carico e il servizio viene assegnato esternamente agli indirizzi IP. Se un'applicazione richiede pod Kubernetes all'interno del cluster Kubernetes per accedere ad altri pod nel cluster, potrebbe essere necessario configurare il servizio come servizio IP del cluster invece di un servizio di bilanciamento del carico. Per altre informazioni, vedere Rete Kubernetes nel dispositivo Azure Stack Edge Pro GPU.

Soluzione suggerita

È possibile usare le opzioni di creazione tramite la sezione K8s-experimental. L'opzione di servizio seguente deve funzionare con le associazioni di porte.

{
"k8s-experimental": {
  "serviceOptions" : {
    "type" : "ClusterIP"
    }
  }
}

Non è possibile creare o aggiornare il ruolo IoT

Descrizione del problema

Quando si configura il dispositivo IoT durante l'installazione, è possibile che venga visualizzato l'errore seguente:

(Codice di stato HTTP: 400) Impossibile creare o aggiornare il ruolo IoT in <YourDeviceName>. Si è verificato un errore con il codice di errore {NO_PARAM}. Per altre informazioni, vedere i dettagli del codice di errore (https://aka.ms/dbe-error-codes). Se l'errore persiste, contattare supporto tecnico Microsoft.

Soluzione suggerita

Se il firewall del data center limita o filtra il traffico in base agli indirizzi MAC o agli indirizzi IP di origine, assicurarsi che gli INDIRIZZI IP di calcolo (IP del nodo Kubernetes) e gli indirizzi MAC siano nell'elenco consentito. Gli indirizzi MAC possono essere specificati eseguendo il cmdlet Set-HcsMacAddressPool nell'interfaccia di PowerShell del dispositivo.

Passaggi successivi