Piattaforme supportate IoT Edge di Azure
Si applica IoT Edge 1.1
Importante
IoT Edge 1,1 data di fine del supporto è stata il 13 dicembre 2022. Controlla il ciclo di vita dei prodotti Microsoft per ottenere informazioni sul modo in cui viene supportato questo prodotto, servizio, tecnologia o API. Per altre informazioni sull'aggiornamento alla versione più recente di IoT Edge, vedere Aggiornare IoT Edge.
Questo articolo illustra le piattaforme del sistema operativo, i runtime IoT Edge, i motori dei contenitori e i componenti sono supportati da IoT Edge se sono disponibili a livello generale o in anteprima.
Supporto
Se si verificano problemi durante l'uso del servizio Azure IoT Edge, è possibile ottenere assistenza in diversi modi. Per assistenza, provare uno dei canali seguenti:
Segnalazione di bug: la maggior parte dello sviluppo che passa al prodotto Azure IoT Edge si verifica nel progetto open source IoT Edge. I bug possono essere segnalati nella pagina dei problemi del progetto. I bug correlati ad Azure IoT Edge per Linux in Windows possono essere segnalati nella pagina dei problemi di iotedge-eflow. Le correzioni fanno rapidamente il loro modo dai progetti in agli aggiornamenti del prodotto.
Team di supporto clienti Microsoft: gli utenti che hanno un piano di supporto possono coinvolgere il team del supporto tecnico Microsoft creando un ticket di supporto direttamente dall'portale di Azure.
Richieste di funzionalità: il prodotto IoT Edge di Azure tiene traccia delle richieste di funzionalità tramite la pagina Voce utente del prodotto.
Motori di contenitore
I moduli di Azure IoT Edge vengono implementati come contenitori ed è quindi necessario un motore di contenitori in grado di avviarli. Per soddisfare questo requisito, Microsoft fornisce un motore di contenitore, moby-engine, basato sul progetto open source Moby. Docker CE e Docker EE sono altri motori di contenitore comuni, sempre basati sul progetto open source Moby e compatibili con Azure IoT Edge. Microsoft offre il miglior supporto possibile per i sistemi che usano i motori di contenitori, ma non può fornire correzioni per eventuali problemi. Per questo motivo, Microsoft consiglia di usare il motore moby nei sistemi di produzione.
Sistemi operativi
Azure IoT Edge viene eseguito nella maggior parte dei sistemi operativi che possono eseguire contenitori. Non tutti questi sistemi, tuttavia, sono ugualmente supportati. I sistemi operativi sono raggruppati in livelli che rappresentano il grado di supporto previsto per gli utenti.
- I sistemi di livello 1 sono supportati. Per i sistemi di livello 1, Microsoft:
- Include questo sistema operativo in test automatizzati
- Fornisce i pacchetti di installazione
- I sistemi di livello 2 sono compatibili con Azure IoT Edge e possono essere usati in modo abbastanza semplice. Per i sistemi di livello 2:
- Microsoft ha eseguito test informali sulle piattaforme o è a conoscenza di un partner che esegue correttamente Azure IoT Edge nella piattaforma
- I pacchetti di installazione per le altre piattaforme possono funzionare in queste piattaforme
La famiglia del sistema operativo host deve sempre corrispondere alla famiglia del sistema operativo guest usato all'interno del contenitore di un modulo.
In altre parole, è possibile utilizzare solo i contenitori Linux in Linux e i contenitori Windows in Windows. Quando si usano contenitori Windows, sono supportati solo i contenitori isolati del processo, non i contenitori isolati di Hyper-V.
IoT Edge per Linux in Windows usa IoT Edge in una macchina virtuale Linux in esecuzione in un host Windows. In questo modo è possibile eseguire moduli Linux in un dispositivo Windows.
Livello 1
I sistemi elencati nelle tabelle seguenti sono supportati da Microsoft, a livello generale o in anteprima pubblica, e vengono testati con ogni nuova versione.
Azure IoT Edge supporta i moduli compilati come contenitori Linux o Windows. I contenitori Linux possono essere distribuiti nei dispositivi Linux o distribuiti nei dispositivi Windows usando IoT Edge per Linux in Windows. I contenitori Windows possono essere distribuiti solo nei dispositivi Windows.
Contenitori Linux
I moduli compilati come contenitori Linux possono essere distribuiti nei dispositivi Linux o Windows. Per i dispositivi Linux, il runtime di IoT Edge viene installato direttamente nel dispositivo host. Per i dispositivi Windows, una macchina virtuale Linux predefinita con il runtime di IoT Edge viene eseguita nel dispositivo host.
IoT Edge per Linux in Windows è il modo consigliato per eseguire IoT Edge nei dispositivi Windows.
Sistema operativo | AMD64 | ARM32v7 | ARM64 |
---|---|---|---|
Debian 11 (Bullseye) | |||
Ubuntu Server 20.04 | |||
Ubuntu Server 18.04 | |||
Windows 10/11 Pro | |||
Windows 10/11 Enterprise | |||
Windows 10/11 IoT Enterprise | |||
Windows Server 2019/2022 |
Tutti i sistemi operativi Windows devono essere la build minima 17763 con tutti gli aggiornamenti cumulativi correnti installati.
Nota
Il supporto di Ubuntu Server 16.04 è terminato con la versione di IoT Edge versione 1.1.
Contenitori Windows
Importante
IoT Edge 1.1 LTS è l'ultimo canale di versione che supporterà i contenitori windows. A partire dalla versione 1.2, i contenitori Windows non saranno supportati. È consigliabile usare o passare a IoT Edge per Linux in Windows per eseguire IoT Edge nei dispositivi Windows.
I moduli compilati come contenitori Windows possono essere distribuiti solo nei dispositivi Windows.
Sistema operativo | AMD64 | ARM32v7 | ARM64 |
---|---|---|---|
Windows 10 IoT Enterprise | |||
Windows Server 2019 | |||
Windows Server IoT 2019 |
Tutti i sistemi operativi Windows devono essere versione 1809 (build 17763). La compilazione specifica di Windows è necessaria per IoT Edge in Windows perché la versione dei contenitori di Windows deve corrispondere esattamente alla versione del dispositivo Windows host. I contenitori Windows attualmente usano solo build 17763.
Nota
Windows 10 IoT Core supporto è terminato con la versione di IoT Edge versione 1.1.
Livello 2
I sistemi elencati nella tabella seguente sono considerati compatibili con Azure IoT Edge, ma non sono attivamente testati o gestiti da Microsoft.
Sistema operativo | AMD64 | ARM32v7 | ARM64 |
---|---|---|---|
CentOS-7 | |||
Debian 10 1 | |||
Debian 11 | |||
Mentor Embedded Linux Flex OS | |||
Mentor Embedded Linux Omni OS | |||
RHEL 7 | |||
Ubuntu 18.04 2 | |||
Ubuntu 20.04 2 | |||
Wind River 8 | |||
Yocto | |||
Buster del sistema operativo Raspberry Pi |
1 Con il rilascio di 1.3, sono presenti nuove chiamate di sistema che causano arresti anomali in Debian 10. Per visualizzare la soluzione alternativa, visualizzare il problema noto: Debian 10 (Buster) nella sezione ARMv7 delle note sulla versione 1.3 per informazioni dettagliate.
2 I pacchetti di installazione sono resi disponibili nelle versioni di Azure IoT Edge. Vedere i passaggi di installazione in Installazione della versione offline o specifica.
Versioni
Nella tabella seguente sono elencate le versioni attualmente supportate. Gli asset e le note sulla versione di IoT Edge sono disponibili nella pagina delle versioni di azure-iotedge.
Note sulla versione e asset | Tipo | Data di rilascio | Data di fine supporto |
---|---|---|---|
1.4 | Supporto a lungo termine | Agosto 2022 | 12 novembre 2024 |
1.1 | Supporto a lungo termine | Febbraio 2021 | 13 dicembre 2022 |
Per altre informazioni sulla cronologia delle versioni IoT Edge, vedere Cronologia delle versioni.
IoT Edge 1.1 è il primo canale di supporto a lungo termine (LTS). Questa versione non ha introdotto nuove funzionalità, ma riceverà aggiornamenti della sicurezza e correzioni alle regressioni. IoT Edge 1.1 LTS usa .NET Core 3.1 e sarà supportato fino al 13 dicembre 2022 per corrispondere al ciclo di vita della versione .NET Core e .NET 5.
Importante
- Ogni prodotto Microsoft ha un ciclo di vita. Il ciclo di vita inizia quando un prodotto viene rilasciato e termina quando non è più supportato. Conoscere le date chiave in questo ciclo di vita consente di prendere decisioni informate su quando aggiornare o apportare altre modifiche al software. IoT Edge è disciplinato dai criteri moderni relativi al ciclo di vita di Microsoft.
- Con la versione di un canale di supporto a lungo termine, è consigliabile che tutti i clienti correnti che eseguono 1.0.x aggiornino i dispositivi a 1.1.x per ricevere supporto in corso.
IoT Edge usa Microsoft.Azure.Devices.Client SDK. Per altre informazioni, vedere il repository GitHub dell'SDK C# di Azure IoT o il contenuto di riferimento di Azure SDK per .NET. L'elenco seguente presenta la versione dell'SDK client su cui viene eseguito il test di ogni versione:
Versione IoT Edge | Versione di Microsoft.Azure.Devices.Client SDK |
---|---|
1.4 | 1.36.6 |
1.3 | 1.36.6 |
1.2.0 | 1.33.4-NestedEdge |
1.1 (LTS) | 1.28.0 |
1.0.10 | 1.28.0 |
1.0.9 | 1.21.1 |
1.0.8 | 1.20.3 |
1.0.7 | 1.20.1 |
1.0.6 | 1.17.1 |
1.0.5 | 1.17.1 |
Macchine virtuali
Azure IoT Edge può essere eseguito nelle macchine virtuali. L'uso di una macchina virtuale come dispositivo IoT Edge è comune quando i clienti vogliono ampliare l'infrastruttura esistente con una rete perimetrale intelligente. La famiglia del sistema operativo host della VM deve corrispondere alla famiglia del sistema operativo guest usato all'interno del contenitore di un modulo. Questo requisito è lo stesso di quando Azure IoT Edge viene eseguito direttamente in un dispositivo. Azure IoT Edge è indipendente dalla tecnologia di virtualizzazione sottostante e funziona in macchine virtuali basate su piattaforme, ad esempio Hyper-V e vSphere.
Requisiti minimi di sistema
Azure IoT Edge funziona correttamente nei dispositivi con le dimensioni di un dispositivo Raspberry Pi3 per hardware a livello server. La scelta dell'hardware appropriato per lo scenario dipende dai carichi di lavoro che si vogliono eseguire. Prendere la decisione per il dispositivo finale può essere complicato; tuttavia, è possibile avviare facilmente una soluzione di creazione di prototipi su desktop o portatili tradizionali.
L'esperienza sarà utile per selezione il dispositivo finale durante la creazione di prototipi. Di seguito sono riportati alcuni aspetti da considerare:
- Quanti moduli sono presenti nel carico di lavoro?
- Quanti livelli condividono i contenitori dei moduli ?
- In quale lingua sono scritti i moduli?
- Quanti dati verranno elaborati dai moduli?
- I moduli necessitano di hardware specializzato per accelerare i carichi di lavoro?
- Quali sono le caratteristiche di prestazione desiderate dalla soluzione?
- Qual è il budget a disposizione per l'hardware?