Piattaforme supportate da Azure IoT Edge
Si applica a: IoT Edge 1.1
Importante
La data di fine del supporto di IoT Edge 1.1 è 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 quali piattaforme del sistema operativo, runtime di IoT Edge, motori di contenitore e componenti sono supportati da IoT Edge, sia che siano generalmente disponibili a livello generale che in anteprima.
Ottenere 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 delle attività di sviluppo per il prodotto Azure IoT Edge viene eseguita nel progetto open source di 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 iotedge-eflow issues. Le correzioni passano rapidamente dai progetti agli aggiornamenti del prodotto.
Team di supporto tecnico Microsoft: gli utenti con un piano di supporto possono rivolgersi al team di supporto tecnico Microsoft creando un ticket di supporto dal portale di Azure.
Richieste di funzionalità: il prodotto Azure IoT Edge tiene traccia delle richieste di funzionalità tramite la pagina User Voice 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, con disponibilità generale o in anteprima pubblica, e vengono testati a ogni nuova versione.
Azure IoT Edge supporta i moduli compilati come contenitori Linux o Windows. I contenitori Linux possono essere distribuiti in dispositivi Linux o distribuiti nei dispositivi Windows usando IoT Edge per Linux in Windows. I contenitori di Windows possono essere distribuiti solo nei dispositivi Windows.
Contenitori Linux
I moduli costruiti come contenitori Linux possono essere distribuiti in 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 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 | |||
Server Windows 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 il rilascio di IoT Edge versione 1.1.
Contenitori Windows
Importante
IoT Edge 1.1 LTS è l'ultimo canale di versione che supporterà i contenitori di Windows. A partire dalla versione 1.2, i contenitori di 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 build 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 di Windows attualmente usano solo la build 17763.
Nota
Il supporto di Windows 10 IoT Core è terminato con il rilascio di IoT Edge versione 1.1.
Livello 2
I sistemi elencati nella tabella seguente sono considerati compatibili con Azure IoT Edge, ma non sono testati o gestiti attivamente 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 | |||
Raspberry Pi OS Buster |
1 Con la versione 1.3 sono disponibili nuove chiamate di sistema che causano arresti anomali in Debian 10. Per visualizzare la soluzione alternativa, vedere la sezione Problemi noti: Debian 10 (Buster) in ARMv7 sezione delle note sulla versione 1.3 per informazioni dettagliate.
2 pacchetti di installazione sono resi disponibili nelle versioni di Azure IoT Edge. Vedere i passaggi di installazione in Installazione offline o di una versione specifica.
Versioni
La tabella seguente contiene un elenco delle 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 | Type | 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 di IoT Edge, vedere Cronologia delle versioni.
IoT Edge 1.1 è il primo canale di rilascio LTS (Long-Term Support). Questa versione non ha introdotto nuove funzionalità, ma riceverà aggiornamenti e correzioni della sicurezza per le 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 eseguire l'aggiornamento o apportare altre modifiche al software. IoT Edge è disciplinato dai criteri moderni relativi al ciclo di vita di Microsoft.
- Con il rilascio di un canale di supporto a lungo termine, è consigliabile che tutti i clienti correnti che eseguono la versione 1.0.x aggiornino i propri dispositivi alla versione 1.1.x per ricevere supporto continuo.
IoT Edge usa l'SDK di Microsoft.Azure.Devices.Client. 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 SDK di Microsoft.Azure.Devices.Client |
---|---|
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?