Distribuire le estensioni azure IoT Operations Preview in un cluster Kubernetes
Importante
Anteprima delle operazioni di Azure IoT: abilitata da Azure Arc è attualmente disponibile in ANTEPRIMA. Non è consigliabile usare questo software di anteprima negli ambienti di produzione.
Vedere le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure per termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale.
Distribuire Azure IoT Operations Preview in un cluster Kubernetes usando l'interfaccia della riga di comando di Azure. Dopo aver distribuito Le operazioni IoT di Azure, è possibile usare il servizio Azure IoT Orchestrator Preview per gestire e distribuire altri carichi di lavoro nel cluster.
Prerequisiti
Risorse cloud:
Una sottoscrizione di Azure.
Autorizzazioni di accesso di Azure. Avere almeno le autorizzazioni di Collaboratore nella sottoscrizione di Azure. A seconda dello stato del flag della funzionalità di distribuzione selezionato, potrebbero essere necessarie anche autorizzazioni Microsoft/Authorization/roleAssignments/write per il gruppo di risorse che contiene il cluster Kubernetes abilitato per Arc. È possibile creare un ruolo personalizzato nel controllo degli accessi in base al ruolo di Azure o assegnare un ruolo predefinito che concede questa autorizzazione. Per altre informazioni, vedere Ruoli predefiniti di Azure per Generale.
Se non si hanno autorizzazioni di scrittura per l'assegnazione di ruolo, è comunque possibile distribuire operazioni IoT di Azure disabilitando alcune funzionalità. Questo approccio viene illustrato in modo più dettagliato nella sezione Deploy extensions (Distribuisci estensioni ) di questo articolo.
Nell'interfaccia della riga di comando di Azure usare il comando az role assignment create per concedere le autorizzazioni. Ad esempio,
az role assignment create --assignee sp_name --role "Role Based Access Control Administrator" --scope subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup
Nella portale di Azure viene richiesto di limitare l'accesso usando le condizioni quando si assegnano ruoli di amministratore con privilegi a un utente o a un'entità di sicurezza. Per questo scenario, selezionare la condizione Consenti all'utente di assegnare tutti i ruoli nella pagina Aggiungi assegnazione di ruolo.
Un insieme di credenziali delle chiavi di Azure con il modello di autorizzazione impostato su Criteri di accesso all'insieme di credenziali. È possibile controllare questa impostazione nella sezione Configurazione di Accesso di un insieme di credenziali delle chiavi esistente. Se è necessario creare un nuovo insieme di credenziali delle chiavi, usare il comando az keyvault create :
az keyvault create --enable-rbac-authorization false --name "<KEYVAULT_NAME>" --resource-group "<RESOURCE_GROUP>"
Risorse per lo sviluppo:
Interfaccia della riga di comando di Azure installata nel computer di sviluppo. Per altre informazioni, vedere Come installare l'interfaccia della riga di comando di Azure. Questo scenario richiede l'interfaccia della riga di comando di Azure versione 2.46.0 o successiva. Usare
az --version
per controllare la versione eaz upgrade
per aggiornare, se necessario.Estensione Azure IoT Operations 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:
Un cluster Kubernetes con abilitazione di Azure Arc. Se non è disponibile, seguire la procedura descritta in Preparare il cluster Kubernetes abilitato per Azure Arc.
Se nel cluster sono già state distribuite operazioni IoT di Azure, disinstallare tali risorse prima di continuare. Per altre informazioni, vedere Aggiornare le operazioni di Azure IoT.
Le operazioni di Azure IoT devono funzionare in qualsiasi cluster kubernetes conforme a CNF. Attualmente, Microsoft supporta solo K3s in Ubuntu Linux e WSL o AKS Edge Essentials in Windows. L'uso di Ubuntu in sottosistema Windows per Linux (WSL) è il modo più semplice per ottenere un cluster Kubernetes per i test.
Usare l'estensione Azure IoT Operations per l'interfaccia della riga di comando di Azure per verificare che l'host del cluster sia configurato correttamente per la distribuzione usando il comando verify-host nell'host del cluster:
az iot ops verify-host
Distribuire estensioni
Usare l'interfaccia della riga di comando di Azure per distribuire i componenti di Operazioni IoT di Azure nel cluster Kubernetes abilitato per Arc.
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 quando si continua con il passaggio successivo per distribuire le operazioni di Azure IoT.
az login
Nota
Se si usa GitHub Codespaces in un browser,
az login
restituisce un errore localhost nella finestra del browser dopo l'accesso. Per correggere una delle due operazioni seguenti:- Aprire lo spazio di codice nel desktop di VS Code e quindi eseguirlo
az login
nel terminale. Verrà visualizzata una finestra del browser in cui è possibile accedere ad Azure. - In alternativa, dopo aver visualizzato l'errore localhost nel browser, copiare l'URL dal browser e usarlo
curl <URL>
in una nuova scheda del terminale. Verrà visualizzata una risposta JSON con il messaggio "È stato eseguito l'accesso a Microsoft Azure!".
- Aprire lo spazio di codice nel desktop di VS Code e quindi eseguirlo
Distribuire le operazioni di Azure IoT nel cluster. Usare flag facoltativi per personalizzare il comando az iot ops init per adattarlo allo scenario.
Per impostazione predefinita, il
az iot ops init
comando esegue le azioni seguenti, alcune delle quali richiedono che l'entità che ha eseguito l'accesso all'interfaccia della riga di comando abbia autorizzazioni elevate:- Configurare un'entità servizio e la registrazione dell'app per concedere al cluster l'accesso all'insieme di credenziali delle chiavi.
- Configurare i certificati TLS.
- Configurare un archivio segreti nel cluster che si connette all'insieme di credenziali delle chiavi.
- Distribuire le risorse per le operazioni di Azure IoT.
az iot ops init --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --kv-id <KEYVAULT_SETTINGS_PROPERTIES_RESOURCE_ID>
Importante
Per impostazione predefinita, il comando az iot ops init non distribuisce il componente Responsabile del trattamento dei dati. Per distribuire il responsabile del trattamento dei dati, aggiungere l'argomento
--include-dp
.Se non si dispone di autorizzazioni Microsoft.Authorization/roleAssignment/write nel gruppo di risorse, aggiungere il flag di
--disable-rsync-rules
funzionalità. Questo flag disabilita le regole di sincronizzazione delle risorse nella distribuzione.Se si vuole usare un'entità servizio esistente e la registrazione dell'app anziché consentire
init
di crearne di nuove, includere i--sp-app-id,
--sp-object-id
parametri e--sp-secret
. Per altre informazioni, vedere Configurare manualmente l'entità servizio e Key Vault.Al termine della distribuzione, è possibile usare az iot ops check per valutare la distribuzione del servizio operazioni IoT per integrità, configurazione e usabilità. Il comando check consente di trovare problemi nella distribuzione e nella configurazione.
az iot ops check
È anche possibile controllare le configurazioni delle mappe degli argomenti, QoS e route dei messaggi aggiungendo il
--detail-level 2
parametro per una visualizzazione dettagliata.
Visualizzare le risorse nel cluster
Mentre la distribuzione è in corso, è possibile controllare le risorse applicate al cluster. È possibile usare i comandi kubectl per osservare le modifiche nel cluster o, poiché il cluster è abilitato per Arc, è possibile usare il portale di Azure.
Per visualizzare i pod nel cluster, eseguire il comando seguente:
kubectl get pods -n azure-iot-operations
Il completamento della distribuzione può richiedere alcuni minuti. Eseguire di nuovo il get pods
comando per aggiornare la visualizzazione.
Per visualizzare il cluster nel portale di Azure, seguire questa procedura:
Nella portale di Azure passare al gruppo di risorse che contiene il cluster.
Nella panoramica del gruppo di risorse selezionare il nome del cluster.
Nel cluster selezionare Estensioni dal menu.
È possibile notare che il cluster esegue estensioni del tipo microsoft.iotoperations.x, ovvero il nome del gruppo per tutti i componenti di Operazioni IoT di Azure e il servizio di orchestrazione.
Esiste anche un'estensione denominata akvsecretsprovider. Questa estensione è il provider di segreti configurato e installato nel cluster con il
az iot ops init
comando . È possibile eliminare e reinstallare i componenti operazioni di Azure IoT durante i test, ma mantenere l'estensione del provider di segreti nel cluster.
Suggerimento
È possibile eseguire az iot ops check
per valutare l'integrità e le configurazioni dei carichi di lavoro AIO distribuiti. Per impostazione predefinita, mq, inclusi i connettori cloud, vengono valutati ed è possibile specificare il servizio con --ops-service --svc
.
Disinstallare le operazioni di Azure IoT
Usare il comando az iot ops delete per eliminare o disinstallare le operazioni di Azure IoT da un cluster. Il delete
comando valuta le risorse correlate alle operazioni IoT di Azure nel cluster e presenta una visualizzazione albero delle risorse da eliminare. Il cluster deve essere online prima dell'esecuzione.
Il delete
comando rimuove:
- Estensioni di Azure IoT Operations
- Regole di sincronizzazione delle risorse di Azure IoT Operations
- Risorse per le operazioni di Azure IoT
- Percorso personalizzato associato
az iot ops delete --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP>
Aggiornare le operazioni di Azure IoT
Attualmente non è disponibile alcun supporto per l'aggiornamento di una distribuzione esistente di Operazioni IoT di Azure. Disinstallare e ridistribuire invece una nuova versione delle operazioni IoT di Azure.
Usare il comando az iot ops delete per eliminare la distribuzione di Azure IoT Operations nel cluster.
az iot ops delete --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP>
Aggiornare l'estensione dell'interfaccia della riga di comando per ottenere la versione più recente di Operazioni IoT di Azure.
az extension update --name azure-iot-ops
Seguire la procedura descritta in questo articolo per distribuire la versione più recente delle operazioni IoT di Azure nel cluster.
Suggerimento
Aggiungere il
--ensure-latest
flag alaz iot ops init
comando per verificare che la versione più recente dell'interfaccia della riga di comando di Azure IoT Operations sia installata e generi un errore se è disponibile un aggiornamento.
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 Azure IoT Operations Preview.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per