Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo è destinato alle persone che vogliono aggiungere funzionalità OSConfig ai propri dispositivi, in modo da poter effettuare il provisioning, la gestione e il monitoraggio della configurazione tramite i servizi Azure IoT. Ciò può includere generatori di dispositivi, integratori di sistemi, generatori di soluzioni e così via.
L'agente OSConfig è un componente Linux compatto che proietta la configurazione locale di ogni dispositivo in Azure IoT per il provisioning e la gestione su larga scala. Per informazioni di contesto sulle motivazioni e sull'utilizzo di OSConfig, vedere Informazioni su OSConfig per IoT.
Scalabilità della flotta o dispositivo singolo?
Per iniziare a provare scenari, è possibile installare OSConfig in un singolo dispositivo.
Su larga scala, ogni dispositivo di cui verrà effettuato il provisioning e la gestione della configurazione deve avere l'agente OSConfig, come illustrato nel diagramma seguente.
In genere l'agente OSConfig verrebbe incluso nelle immagini del sistema operativo del dispositivo di riferimento, che vengono quindi applicate a molti dispositivi.
Quali tipi di dispositivi?
Classi hardware
Per un riepilogo, vedere la tabella seguente. Le note dettagliate seguono la tabella.
| Installare OSConfig? | |
|---|---|
| Classe MCU ¹ | Non attualmente |
| MPU/CPU meno potente con Linux ² | Sì |
| Dispositivi più potenti con Linux Intune | Sì |
| Dispositivi che eseguono Windows IoT | Funzionalità simili Informazioni di riferimento su CSP predefinite |
Classe MCU ¹: per il contesto, questi includono dispositivi Arduino, dispositivi basati su RP2040 e così via. Questi dispositivi in genere eseguono uno scenario specifico bare metal del codice o con un micro-sistema operativo, ad esempio AzureRTOS o FreeRTOS.
² Classe MPU/CPU meno potente w/ Linux: l'agente è progettato per essere compatto ed efficiente, consentendo l'uso a dispositivi più piccoli in grado di eseguire Linux.
Intune Più potente edge compute w/ Linux: come componente efficiente sul lato dispositivo, l'agente OSConfig è perfettamente a casa su dispositivi di calcolo perimetrali più potenti, ad esempio kit NVidia Jetson.
Linux "Dispositivi IoT" e Linux "Dispositivi Edge"
Nell'ecosistema Azure IoT per Linux, i termini dispositivo IoT e dispositivo Edge vengono talvolta usati per distinguere se il dispositivo ha IoT Edge installato. Esiste anche una correlazione debole con la classe del dispositivo (i dispositivi più grandi tendono ad avere IoT Edge installati).
OSConfig funziona in entrambi i contesti. Può essere eseguito side-by-side con IoT Edge, ma non richiede IoT Edge.
Informazioni sui segreti dei dispositivi e su più app/agenti/moduli?
È consigliabile usare OSConfig insieme al servizio di gestione delle identità IoT di Azure.
AIS è il broker su dispositivo di Microsoft per la gestione dei segreti e dell'autenticazione. AIS consente a più app, agenti e/o moduli Edge di condividere una singola identità del dispositivo. I passaggi seguenti illustrano l'uso di AIS e OSConfig insieme.
AIS è disponibile autonomo ed è incluso anche in IoT Edge 1.2 e versioni successive. Quando si esegue l'installazione, tenere presente quanto segue.
| Installare AIS? | |
|---|---|
| Il dispositivo non ha IoT Edge (noto anche come "Dispositivo IoT") | Sì |
| Il dispositivo ha IoT Edge 1.2 o versione successiva | Sì¹ |
| Il dispositivo ha IoT Edge 1.1 o versione inferiore | No² |
¹ IoT Edge 1.2 e versioni successive includono i componenti AIS. Per semplicità di istruzioni, i passaggi seguenti includono sempre l'installazione di AIS. Questo approccio consente alla gestione pacchetti di rilevare se questo passaggio è un'operazione no-op, invece di ricreare la logica esternamente.
² Non installare AIS nei dispositivi con IoT Edge 1.1 o versione precedente. Prendere in considerazione il passaggio a una versione successiva di IoT Edge. Se non si è pronti per eseguire l'aggiornamento IoT Edge ma si vogliono comunque esplorare gli scenari OSConfig, provare a provare gli scenari in un altro dispositivo o macchina virtuale per il momento.
Processo 1. Installare i componenti nel dispositivo
Sono disponibili tre opzioni per soddisfare le proprie esigenze:
- A. Installare i pacchetti
- B. Compilazione dall'origine
- C. Usare i dispositivi con le funzionalità predefinite
Scegliere l'esperienza preferita di seguito per le istruzioni:
- A. Installare i pacchetti (più diffusi)
- B. Compilazione dall'origine (più flessibile)
- C. Predefinita (anteprima)
I pacchetti di installazione pronti sono disponibili per arm64 (noto anche come aarch64), amd64 (noto anche come x86_64) in:
- Debian 10
- Debian 11
- Ubuntu Server 18.04
- Ubuntu Server 20.04
Passaggio 1.1. Connettere un dispositivo a packages.microsoft.com
È possibile usare i comandi di esempio seguenti per connettere lo strumento di gestione pacchetti del sistema operativo al canale stabile in packages.microsoft.com.
#!/bin/bash
## For Ubuntu and on Debian 10+
## Register packages.microsoft.com key and prod channel
sudo wget https://packages.microsoft.com/keys/microsoft.asc -O /etc/apt/trusted.gpg.d/packages-microsoft-com_key.asc
os_name=$(grep ^ID= /etc/os-release | tr -d "ID=")
os_version=$(grep ^VERSION_ID /etc/os-release | tr -d "VERSION_ID=")
sudo wget https://packages.microsoft.com/config/"$os_name"/"$os_version"/prod.list -O /etc/apt/sources.list.d/packages-microsoft-com_prod.list
sudo apt update
Suggerimento
L'esempio precedente connette gestione pacchetti al prod canale in packages.microsoft.com, appropriato per la maggior parte dei dispositivi e delle situazioni. Per informazioni sulle build di anteprima, vedere Informazioni sulle build di anteprima di OSConfig o "Insider"
Passaggio 1.2. Installare il pacchetto AIS
Attenzione
Come indicato in precedenza, non installare AIS in un dispositivo con IoT Edge 1.1 o versione successiva. AIS è destinato ai dispositivi senza IoT Edge o dispositivi con IoT Edge 1.2 o versione successiva.
sudo apt-get install -y aziot-identity-service
Passaggio 1.3. Installare il pacchetto OSConfig
sudo apt-get install -y osconfig
Se si installano solo i componenti in questo momento (ad esempio durante la preparazione di un'immagine di base) non ci si connette ad Azure, è possibile arrestarsi qui. I passaggi seguenti verranno eseguiti in un secondo momento, ad esempio dal cliente.
Processo 2. Connettersi ad Azure
Ora che l'agente OSConfig e l'intelligenza artificiale sono presenti nel dispositivo, il passaggio successivo consiste nel configurare il dispositivo con un'identità in modo che possa connettersi ad Azure.
Suggerimento
Alcuni dispositivi possono avere meccanismi per eseguire questa operazione per conto dell'utente. Ad esempio, i dispositivi Azure Percept includono un'esperienza di configurazione per connettere il dispositivo.
Passaggio 2.1. Impostazione delle credenziali del dispositivo in AIS nel dispositivo
AIS supporta più scenari di distribuzione e metodi di autenticazione.
Nell'esempio semplicistico seguente viene usata una stringa di connessione con una chiave simmetrica. Per gli scenari di produzione, scegliere tra le opzioni di autenticazione più avanzate descritte in Configurazione del servizio identità IoT di Azure.
Esempio rapido: Connettersi con una chiave simmetrica
Nel portale di Azure:
- Passare all'elenco di dispositivi hub IoT
- Creare un'identità del dispositivo, se necessario
- Passare alle proprietà del dispositivo e copiare la stringa di connessione
Nel dispositivo:
- Eseguire i comandi seguenti per impostare le credenziali in AIS, sostituendo il segnaposto della stringa di connessione con il proprio.
sudo aziotctl config mp –-connection-string "<your connection string from IoT Hub>" sudo aziotctl config apply
Passaggio 2.2. Verificare la corretta connessione ad Azure
È possibile verificare che AIS e OSConfig si connettono a hub IoT usando questi comandi nel dispositivo:
sudo aziotctl check
sudo systemctl status osconfig | grep Active
L'output aziotctl check del comando deve indicare il superamento di tutti i test.
L'output systemctl status osconfig di deve includere Active: active. In alcuni casi potrebbe essere Active: activating (auto-restart) visualizzato, il che significa che systemd è in attesa di un timer per riavviare il servizio. Per passare immediatamente da questo passaggio anziché attendere, eseguire sudo systemctl restart osconfig, quindi ritentare il comando di stato.
La procedura è terminata. Il client OSConfig è ora in esecuzione nel dispositivo.
Impostazioni facoltative dell'agente
Molte persone possono ignorare questa sezione e usare semplicemente i comportamenti predefiniti. Se sono presenti vincoli di ambiente o governance, ad esempio server proxy, restrizioni del firewall in uscita o reti a più livelli, vedere quanto segue:
selezione del protocollo hub IoT
Suggerimento
La selezione del protocollo è stata aggiunta al canale prod/stable nella versione 1.0.2.2022040405. Assicurarsi di usare la versione prod/stable più recente di OSConfig.
Quando si comunica con il hub IoT, l'agente OSConfig può usare il normale trasporto di telemetria di accodamento messaggi (MQTT) oppure può usare MQTT su WebSockets (MQTT_WS).When communicating with the hub IoT, the OSConfig agent can use plain Message Queuing Telemetry Transport (MQTT) or it can use MQTT over WebSockets (MQTT_WS).
Molte persone non devono specificare un protocollo e possono usare semplicemente i comportamenti predefiniti. Se è necessario specificare un protocollo basato su una delle considerazioni seguenti, impostare il Protocol valore in /etc/osconfig/osconfig.json.
| MQTT | MQTT_WS | |
|---|---|---|
| Porta TCP ¹ | 8883 | 443 |
| Server proxy ² | No | Sì |
| Gateway IoT Edge (padre/figlio) Lt |
Sì | No |
| Identificatore del protocollo per impostare in osconfig.json |
1 | 2 |
¹ Fa riferimento alla porta TCP usata quando l'agente OSConfig nel dispositivo si connette in uscita a hub IoT
² Indica se OSConfig può usare in modo esplicito un server proxy HTTP (tramite https_proxy variabile di ambiente)
² Si riferisce allo scenario IoT Edge Transparent Gateway, in cui OSConfig in esecuzione in un dispositivo figlio si connette a hub IoT tramite un dispositivo padre
Connessione tramite un server proxy HTTP
Se l'ambiente richiede osConfig per connettersi a hub IoT tramite un server proxy HTTP, vedere quanto segue:
Suggerimento
Il supporto del server proxy è stato aggiunto al canale prod/stable nella versione 1.0.2.2022040405. Ensure you are using the latest prod/stable version of OSConfig.
Come indicato nella selezione del protocollo hub IoT, è possibile usare solo MQTT_WS con un server proxy HTTP. Per attivare MQTT_WS, assicurarsi che il
Protocolvalore in /etc/osconfig/osconfig.json sia impostato su2.Assicurarsi che la
https_proxyvariabile di ambiente oHTTPS_PROXYsia impostata nel contesto in cui viene eseguito OSConfig.In genere, gli amministratori di sistema o i generatori di immagini comunicano questa operazione modificando i file di unità di sistema per qualsiasi servizio (incluso OSConfig) che deve usare il server proxy.
Ad esempio, si aggiunge una riga come
Environment="https_proxy=http://myproxy.example.com:3128"
nella[Service]parte di /etc/systemd/system/osconfig.service.
Assicurarsi di eseguiresudo systemctl daemon-reloadesudo systemctl restart osconfigdopo aver modificato il file.
Passaggi successivi
Ora che si dispone di un dispositivo che esegue OSConfig e si è connessi ad Azure IoT, è possibile provare gli scenari di gestione.
Per una panoramica degli scenari e delle funzionalità OSConfig, vedere:
Per esempi pratici specifici, vedere: