Condividi tramite


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:

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 e az 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:

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.

  1. Nel portale di Azure, cercare e selezionare Operazioni di Azure IoT.

  2. Seleziona Crea.

  3. 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.

    Screenshot che mostra la prima scheda per la distribuzione di Operazioni di Azure IoT dal portale.

  4. Selezionare Next_Congiuration.

  5. 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.

    Screenshot che mostra la seconda scheda per la distribuzione di Operazioni IoT di Azure dal portale.

  6. Selezionare Avanti: Gestione delle dipendenze.

  7. Nella scheda Gestione dipendenze selezionare un registro schemi esistente o seguire questa procedura per crearne uno:

    1. Selezionare Crea nuovo.

    2. Specificare un nome del Registro di sistema dello schema e uno spazio dei nomi del Registro di sistema dello schema.

    3. Selezionare Seleziona contenitore Archiviazione di Azure.

    4. 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.

    5. Selezionare un contenitore nell'account di archiviazione o selezionare Contenitore per crearne uno.

    6. Selezionare Applica per confermare le configurazioni del Registro di sistema dello schema.

  8. 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.

  1. Selezionare Avanti: Automazione.

  2. Una alla volta, eseguire ogni comando dell'interfaccia della riga di comando di Azure nella scheda Automazione in un terminale:

    1. 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
      
    2. 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
      
    3. 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 .

    4. 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 al init comando .

      Il completamento di questo comando potrebbe richiedere alcuni minuti. È possibile controllare lo stato di avanzamento della distribuzione visualizzato nel terminale.

    5. 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 al create 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.

  3. 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.

  1. 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 il Key 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.

    Screenshot che mostra la configurazione delle impostazioni sicure nella terza scheda per la distribuzione di Operazioni IoT di Azure dal portale.

  2. Selezionare Avanti: Automazione.

  3. Una alla volta, eseguire ogni comando dell'interfaccia della riga di comando di Azure nella scheda Automazione in un terminale:

    1. 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
      
    2. 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
      
    3. 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.

    4. 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.

    5. 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.

    6. 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.
    7. 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.

  4. 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.