Distribuire le operazioni di Azure IoT in un cluster Kubernetes abilitato per Arc
Informazioni su come distribuire le operazioni di Azure IoT in un cluster Kubernetes usando il portale di Azure.
In questo articolo vengono illustrate le distribuzioni e le istanze di Operazioni IoT di Azure, che sono due concetti diversi:
Una distribuzione di Operazioni di Azure IoT descrive tutti i componenti e le risorse che abilitano lo scenario Operazioni di Azure IoT. Questi componenti e risorse includono:
- Istanza di Operazioni di Azure IoT
- Estensioni Arc
- Località personalizzate
- Risorse che è possibile configurare nella soluzione Operazioni IoT di Azure, ad esempio asset ed endpoint degli asset.
Un'istanza di Azure IoT Operations è la risorsa padre che aggrega la suite di servizi definiti in Informazioni sulle operazioni di Azure IoT, ad esempio broker MQTT, flussi di dati e connettore per OPC UA.
Quando si parla della distribuzione delle operazioni IoT di Azure, si intende il set completo di componenti che costituiscono una distribuzione. Dopo aver creato la distribuzione, è possibile visualizzare, gestire e aggiornare l'istanza.
Prerequisiti
Risorse cloud:
Una sottoscrizione di Azure.
Autorizzazioni di accesso di Azure. Per altre informazioni, vedere Dettagli > della distribuzione Autorizzazioni necessarie.
Risorse per lo sviluppo:
Interfaccia della riga di comando di Azure installata nel computer di sviluppo. Questo scenario richiede l'interfaccia della riga di comando di Azure versione 2.64.0 o successiva. Usare
az --version
per controllare la versione eaz upgrade
per aggiornare, se necessario. Per altre informazioni, vedere Installare l'interfaccia della riga di comando di Azure.Estensione Operazioni di Azure IoT per l'interfaccia della riga di comando di Azure. Usare il comando seguente per aggiungere l'estensione o aggiornarla alla versione più recente:
az extension add --upgrade --name azure-iot-ops
Un host del cluster:
Disporre di un cluster Kubernetes abilitato per Azure Arc con le funzionalità di identità del carico di lavoro e della posizione personalizzate abilitate. Se non è disponibile, seguire la procedura descritta in Preparare il cluster Kubernetes con abilitazione per Azure Arc.
Se la distribuzione di Operazioni di Azure IoT è stata eseguita nel cluster in precedenza, disinstallare tali risorse prima di continuare. Per altre informazioni, vedere Aggiornare Operazioni di Azure IoT.
(Facoltativo) Preparare il cluster per l'osservabilità prima di distribuire le operazioni di Azure IoT: Configurare l'osservabilità.
(Facoltativo) Configurare un'autorità di certificazione personalizzata prima di distribuire le operazioni di Azure IoT: Bring Your Own Issuer( Bring Your Own Issuer).
Distribuzione
L'esperienza di distribuzione del portale di Azure è uno strumento helper che genera un comando di distribuzione basato sulle risorse e sulla configurazione. Il passaggio finale consiste nell'eseguire un comando dell'interfaccia della riga di comando di Azure, quindi sono ancora necessari i prerequisiti dell'interfaccia della riga di comando di Azure descritti nella sezione precedente.
Nel portale di Azure, cercare e selezionare Operazioni di Azure IoT.
Seleziona Crea.
Nella scheda Nozioni di base specificare le informazioni seguenti:
Parametro Valore Abbonamento Selezionare la sottoscrizione che contiene il cluster abilitato per Arc. Gruppo di risorse Selezionare il gruppo di risorse che contiene il cluster abilitato per Arc. Nome cluster Selezionare il cluster in cui si vuole distribuire Operazioni di Azure IoT. Nome percorso personalizzato Facoltativo: sostituire il nome predefinito per il percorso personalizzato. Selezionare Next_Congiuration.
Nella scheda Configurazione, specificare le informazioni seguenti:
Parametro Valore Nome Operazioni di Azure IoT Facoltativo: sostituire il nome predefinito per l'istanza di Operazioni di Azure IoT. Configurazione del broker MQTT Facoltativo: modificare le impostazioni predefinite per il broker MQTT. In portale di Azure è possibile configurare le impostazioni del profilo di cardinalità e memoria. Per configurare altre impostazioni, tra cui il buffer dei messaggi basato su disco e le opzioni avanzate del client MQTT, vedere Supporto dell'interfaccia della riga di comando di Azure per la configurazione avanzata del broker MQTT. Configurazione del profilo del flusso di dati Facoltativo: modificare le impostazioni predefinite per i flussi di dati. Per altre informazioni, vedere Configurare il profilo del flusso di dati. Selezionare Avanti: Gestione delle dipendenze.
Nella scheda Gestione dipendenze selezionare un registro schemi esistente o seguire questa procedura per crearne uno:
Selezionare Crea nuovo.
Specificare un nome del Registro di sistema dello schema e uno spazio dei nomi del Registro di sistema dello schema.
Selezionare Seleziona contenitore Archiviazione di Azure.
Scegliere un account di archiviazione dall'elenco di account abilitati per gli spazi dei nomi gerarchici oppure selezionare Crea per crearne uno.
Il Registro di sistema dello schema richiede un account Archiviazione di Azure con spazio dei nomi gerarchico e accesso alla rete pubblica abilitato. Quando si crea un nuovo account di archiviazione, scegliere un tipo di account di archiviazione per utilizzo generico v2 e impostare Spazio dei nomi gerarchico su Abilitato.
Selezionare un contenitore nell'account di archiviazione o selezionare Contenitore per crearne uno.
Selezionare Applica per confermare le configurazioni del Registro di sistema dello schema.
Nella scheda Gestione dipendenze selezionare le impostazioni test o l'opzione di distribuzione Impostazioni di protezione. Se non si è certi di quale sia la scelta appropriata per lo scenario, vedere le linee guida in Dettagli > distribuzione Scegliere le funzionalità.
A seconda della scelta, attenersi alla procedura seguente:
Distribuire con le impostazioni di test
Usare questi passaggi se si sceglie l'opzione Impostazioni test nella scheda Gestione dipendenze.
Selezionare Avanti: Automazione.
Una alla volta, eseguire ogni comando dell'interfaccia della riga di comando di Azure nella scheda Automazione in un terminale:
Accedere all'interfaccia della riga di comando di Azure in modo interattivo con un browser, anche se è già stato eseguito l'accesso in precedenza. Se non si esegue l'accesso in modo interattivo, potrebbe essere visualizzato un errore che indica che il dispositivo deve essere gestito per accedere alla risorsa.
az login
Installare l'estensione più recente dell'interfaccia della riga di comando di Azure IoT Operations.
az upgrade az extension add --upgrade --name azure-iot-ops
Creare un registro schemi che verrà usato dai componenti di Operazioni IoT di Azure. Copiare ed eseguire il comando az iot ops schema registry create fornito.
Se si sceglie di usare un registro schemi esistente, questo comando non viene visualizzato nella scheda Automazione .
Preparare il cluster per la distribuzione di Operazioni IoT di Azure. Copiare ed eseguire il comando az iot ops init fornito.
Suggerimento
Il
init
comando deve essere eseguito una sola volta per ogni cluster. Se si riutilizza un cluster che aveva già distribuito Azure IoT Operations versione 0.8.0, è possibile ignorare questo passaggio.Se è stato seguito il prerequisito facoltativo per configurare l'autorità di certificazione emittente, aggiungere il
--user-trust
flag alinit
comando .Il completamento di questo comando potrebbe richiedere alcuni minuti. È possibile controllare lo stato di avanzamento della distribuzione visualizzato nel terminale.
Distribuire le Operazioni di Azure IoT. Copiare ed eseguire il comando az iot ops create fornito.
Se sono stati seguiti i prerequisiti facoltativi per preparare il cluster per l'osservabilità, aggiungere i parametri seguenti al
create
comando :Parametro valore Descrizione --ops-config
observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT>
Specificare l'indirizzo dell'agente di raccolta OpenTelemetry (OTel) configurato nel file daemon-collector-values.yaml.
I valori di esempio usati in Configure observability sono fullnameOverride=aio-migrazioni-collector e grpc.endpoint=4317.--ops-config
observability.metrics.exportInternalSeconds=<CHECK_INTERVAL>
Specificare il valore check_interval configurato nel file daemon-collector-values.yaml.
Il valore di esempio usato in Configure observability è check_interval=60.Se sono stati seguiti i prerequisiti facoltativi per configurare l'autorità di certificazione emittente dell'autorità di certificazione, aggiungere i
--trust-settings
parametri alcreate
comando :--trust-settings configMapName=<CONFIGMAP_NAME> configMapKey=<CONFIGMAP_KEY_WITH_PUBLICKEY_VALUE> issuerKind=<CLUSTERISSUER_OR_ISSUER> issuerName=<ISSUER_NAME>
Il completamento di questo comando potrebbe richiedere alcuni minuti. È possibile controllare lo stato di avanzamento della distribuzione visualizzato nel terminale.
Al termine di tutti i comandi dell'interfaccia della riga di comando di Azure, è possibile chiudere la procedura guidata Installa operazioni di Azure IoT.
Al termine del create
comando, è disponibile un'istanza operativa di Operazioni IoT di Azure in esecuzione nel cluster. A questo punto, l'istanza è configurata per la maggior parte degli scenari di test e valutazione.
Se in qualsiasi momento in futuro si vuole preparare l'istanza per gli scenari di produzione, seguire la procedura descritta in Abilitare le impostazioni sicure in un'istanza esistente di Operazioni IoT di Azure.
Distribuire con impostazioni sicure
Usare questi passaggi se si sceglie l'opzione Impostazioni di sicurezza nella scheda Gestione dipendenze.
Nella sezione Opzioni di distribuzione specificare le informazioni seguenti:
Parametro Valore Abbonamento Selezionare la sottoscrizione che contiene Azure Key Vault. Azure Key Vault Selezionare un insieme di credenziali delle chiavi di Azure o selezionare Crea nuovo.
Assicurarsi che l'insieme di credenziali delle chiavi disponga del controllo degli accessi in base al ruolo di Azure come modello di autorizzazione. Per controllare questa impostazione, selezionare Gestisci l'insieme di credenziali selezionato>Impostazioni>Configurazione di accesso.
Assicurarsi di concedere all'account utente le autorizzazioni per gestire i segreti con ilKey Vault Secrets Officer
ruolo .Identità gestita assegnata dall'utente per i segreti Selezionare un'identità o selezionare Crea nuovo. Identità gestita assegnata dall'utente per i componenti AIO Selezionare un'identità o selezionare Crea nuovo. Non usare la stessa identità gestita selezionata per i segreti. Selezionare Avanti: Automazione.
Una alla volta, eseguire ogni comando dell'interfaccia della riga di comando di Azure nella scheda Automazione in un terminale:
Accedere all'interfaccia della riga di comando di Azure in modo interattivo con un browser, anche se è già stato eseguito l'accesso in precedenza. Se non si esegue l'accesso in modo interattivo, potrebbe essere visualizzato un errore che indica È necessario un dispositivo gestito per l'accesso a questa risorsa, quando si continua con il passaggio successivo per distribuire Operazioni di Azure IoT.
az login
Installare l'estensione più recente dell'interfaccia della riga di comando di Azure IoT Operations.
az upgrade az extension add --upgrade --name azure-iot-ops
Creare un registro schemi che verrà usato dai componenti di Operazioni IoT di Azure. Copiare ed eseguire il comando az iot ops schema registry create fornito.
Se si sceglie di usare un registro schemi esistente, questo comando non viene visualizzato nella scheda Automazione .
Nota
Questo comando richiede che siano disponibili autorizzazioni di scrittura per l'assegnazione di ruolo perché assegna un ruolo per concedere al Registro di sistema dello schema l'accesso all'account di archiviazione. Per impostazione predefinita, il ruolo è il ruolo predefinito Collaboratore dati BLOB di archiviazione oppure è possibile creare un ruolo personalizzato con autorizzazioni limitate da assegnare. Per altre informazioni, vedere az iot ops schema registry create.
Preparare il cluster per la distribuzione di Operazioni IoT di Azure. Copiare ed eseguire il comando az iot ops init fornito.
Suggerimento
Il
init
comando deve essere eseguito una sola volta per ogni cluster. Se si riutilizza un cluster che aveva già distribuito Azure IoT Operations versione 0.8.0, è possibile ignorare questo passaggio.Il completamento di questo comando potrebbe richiedere alcuni minuti. È possibile controllare lo stato di avanzamento della distribuzione visualizzato nel terminale.
Distribuire le Operazioni di Azure IoT. Copiare ed eseguire il comando az iot ops create fornito.
Se sono stati seguiti i prerequisiti facoltativi per preparare il cluster per l'osservabilità, aggiungere i parametri facoltativi seguenti al
create
comando :Parametro facoltativo valore Descrizione --ops-config
observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT>
Specificare l'indirizzo dell'agente di raccolta OpenTelemetry (OTel) configurato nel file daemon-collector-values.yaml.
I valori di esempio usati in Configure observability sono fullnameOverride=aio-migrazioni-collector e grpc.endpoint=4317.--ops-config
observability.metrics.exportInternalSeconds=<CHECK_INTERVAL>
Specificare il valore check_interval configurato nel file daemon-collector-values.yaml.
Il valore di esempio usato in Configure observability è check_interval=60.Il completamento di questo comando potrebbe richiedere alcuni minuti. È possibile controllare lo stato di avanzamento della distribuzione visualizzato nel terminale.
Abilitare la sincronizzazione dei segreti per l'istanza distribuita di Operazioni IoT di Azure. Copiare ed eseguire il comando az iot ops secretsync enable fornito.
Questo comando:
- Crea una credenziale di identità federata usando l'identità gestita assegnata dall'utente.
- Aggiunge un'assegnazione di ruolo all'identità gestita assegnata dall'utente per l'accesso ad Azure Key Vault.
- Aggiunge una classe di provider di segreti minima associata all'istanza di Operazioni IoT di Azure.
Assegnare un'identità gestita assegnata dall'utente all'istanza distribuita di Operazioni IoT di Azure. Copiare ed eseguire il comando az iot ops identity assign fornito.
Questo comando crea una credenziale di identità federata usando l'emittente OIDC del cluster connesso indicato e l'account del servizio Operazioni di Azure IoT.
Al termine di tutti i comandi dell'interfaccia della riga di comando di Azure, è possibile chiudere la procedura guidata Installa operazioni di Azure IoT.
Al termine del create
comando, è disponibile un'istanza operativa di Operazioni IoT di Azure in esecuzione nel cluster. A questo punto, l'istanza è configurata per gli scenari di produzione.
Verificare la distribuzione
Al termine della distribuzione, usare az iot ops check per valutare la distribuzione del servizio Operazioni di Azure IoT per l'integrità, la configurazione e l'usabilità. Il comando check consente di trovare problemi nella distribuzione e nella configurazione.
az iot ops check
Il check
comando visualizza un avviso relativo ai flussi di dati mancanti, che è normale e previsto fino a quando non si crea un flusso di dati. Per altre informazioni, vedere Elaborare e instradare i dati con flussi di dati.
È possibile controllare le configurazioni delle mappe degli argomenti, QoS e route dei messaggi aggiungendo il --detail-level 2
parametro al check
comando per una visualizzazione dettagliata.
Passaggi successivi
Se i componenti devono connettersi a endpoint di Azure come SQL o Fabric, informazioni su come gestire i segreti per la distribuzione di Operazioni IoT di Azure.