Condividi tramite


Clonare un'istanza di IoT Operations (anteprima)

È possibile clonare un'istanza esistente di Operazioni IoT di Azure per creare una nuova istanza con le stesse impostazioni e configurazione. La clonazione è utile per creare un backup dell'istanza o per configurare una nuova istanza con la stessa configurazione a scopo di test o sviluppo.

Gli scenari del caso d'uso per il clone includono:

  • Ripristino di emergenza: creare un backup dell'istanza di Operazioni IoT di Azure che può essere usata per ripristinare l'istanza in caso di emergenza.
  • Test e sviluppo: configurare una nuova istanza di Operazioni IoT di Azure con la stessa configurazione di un'istanza esistente per scopi di test o sviluppo.
  • Migrazione: Sposta l'istanza di Azure IoT Operations in un nuovo cluster o gruppo di risorse clonando l'istanza nella nuova posizione.
  • Ridimensionamento: creare più istanze dell'istanza di Operazioni IoT di Azure per gestire un carico di lavoro aumentato o per distribuire il carico tra più istanze.

Annotazioni

La funzionalità clone è in anteprima e in fase di sviluppo.

Prerequisiti

  • Un'istanza di Azure IoT Operations distribuita in un cluster. Per altre informazioni, vedere Distribuire le operazioni di Azure IoT.

  • CLI di Azure installato sulla tua macchina di sviluppo. Questo scenario richiede l'interfaccia della riga di comando di Azure, versione 2.53.0 o superiore. Usare az --version per controllare la versione e az upgrade per aggiornarla, se necessario. Per ulteriori informazioni, vedere Come installare l'interfaccia della riga di comando di Azure.

  • Estensione delle operazioni di Azure IoT per Azure CLI. Il "Clone" è attualmente compatibile con il seguente intervallo di versioni dell'istanza di IoT Operations: 1.0.34>=,<1.2.0. Usare il comando seguente per aggiornare o installare l'estensione. Sostituire <VERSION_NUMBER> con una versione compatibile con l'istanza.

    az extension add --upgrade --name azure-iot-ops --version <VERSION_NUMBER>
    

Panoramica del comando Clone

Usare il az iot ops clone comando per creare una nuova istanza di Operazioni IoT di Azure in base a una istanza esistente.

Il clone comando analizza un'istanza di Azure IoT Operations e la riproduce in modalità infrastruttura come codice tramite i modelli ARM. È possibile applicare l'output del clone a un altro cluster connesso, detto replica. È anche possibile salvare il clone in una directory locale per usarlo in un secondo momento ed eseguire alcune modifiche di configurazione prima di applicarlo a un cluster.

L'operazione di clonazione è costituita da tre componenti principali: il modello, ovvero l'istanza di origine, la destinazione, ovvero l'istanza di destinazione e il modello. Il diagramma seguente illustra il flusso di clonazione. Il clone comando analizza l'istanza di origine e la replica tramite il modello IaC/ARM. La definizione replicata viene applicata a uno o più cluster di destinazione.

Diagramma di un subset di tutte le risorse correlate all'istanza. che mostra il funzionamento del comando clone per le istanze di Operazioni IoT di Azure.

Clonare il modello

Il modello è l'istanza dalla quale stai clonando. È l'origine della verità per l'operazione di clonazione. Per identificare il modello, immettere i parametri seguenti:

  • --name/-n: nome dell'istanza del modello.
  • --resource-group/-g: gruppo di risorse che contiene l'istanza del modello.

Clonare l'obiettivo

La destinazione è la posizione in cui si vuole replicare o salvare la definizione del clone. È possibile applicare un clone a una, a tutte o a nessuna destinazione. Se non si specificano opzioni di destinazione, il processo termina dopo aver generato un riepilogo delle risorse nell'ambito. Per identificare la destinazione, immettere uno dei parametri seguenti:

  • --to-cluster-id: specificare l'ID risorsa di Azure completo del cluster di destinazione in cui si vuole replicare l'istanza clonata. Quando si usa questa opzione, il comando clone distribuisce la versione di Operazioni IoT di Azure specificate nella definizione del clone nel cluster di destinazione e quindi applica tutte le risorse pertinenti per completare la distribuzione. La federazione automatica delle credenziali di identità gestita assegnata dall'utente (UAMI) è attualmente supportata solo durante la clonazione in una destinazione cluster.

  • --to-dir: specificare un percorso di directory locale per replicare la definizione di clonazione su disco, in cui può essere distribuita con gli strumenti di distribuzione ARM esistenti con o senza modifiche. Se si esamina la definizione del clone, vengono visualizzate varie parametriizzazioni in gioco per semplificare alcune personalizzazioni.

Importante

Quando si seleziona un gruppo di risorse di destinazione, prendere in considerazione l'uso di un gruppo di risorse che non contiene un'installazione di operazioni IoT esistente ed è separato dal gruppo di risorse del modello. Per impostazione predefinita, la definizione clone mantiene i nomi delle risorse dall'istanza del modello. Se la destinazione e il modello condividono lo stesso gruppo di risorse e si modifica la posizione personalizzata, potrebbero verificarsi conflitti di nome risorsa.

Clonare il modello

Il comando clone genera un template ARM che descrive le risorse da creare nella destinazione. Il modello viene generato in base alle risorse nell'istanza del modello e alla relativa configurazione. Immettere i parametri facoltativi seguenti per personalizzare il modello:

Clonare i parametri di personalizzazione del modello

È possibile usare i parametri facoltativi seguenti per personalizzare il template ARM generato:

  • --mode: specifica la modalità di organizzazione delle distribuzioni secondarie nel modello.

    • Quando nested viene usata la modalità (impostazione predefinita), tutte le distribuzioni secondarie sono autonome all'interno del file di distribuzione radice.
    • Quando si utilizza la modalità linked, le distribuzioni secondarie relative agli asset vengono suddivise e archiviate come file separati, che vengono quindi collegati dalla distribuzione radice. Usare linked la modalità se l'istanza contiene un numero elevato di dispositivi e asset per migliorare la scalabilità e la gestibilità. Non è necessario specificare questo parametro a meno che non sia necessaria questa separazione per le distribuzioni di grandi dimensioni.
  • --param: consente di eseguire l'override dei parametri predefiniti predefiniti, ad esempio location, instanceNameo adrNamespaceId, usando il formato key=value. Usare --help per visualizzare l'elenco completo delle chiavi.

Clonare un'istanza

Per clonare un'istanza, usare il az iot ops clone comando con i parametri appropriati per specificare l'istanza di origine e il percorso di destinazione.

  1. Prima di iniziare, impostare la sottoscrizione predefinita sulla stessa sottoscrizione in cui si trova l'istanza del modello. In caso contrario, è necessario accodare --subscription ogni volta che si esegue un az iot ops clone comando.

    az account set -s $MODEL_SUBSCRIPTION_ID
    
  2. Per ottenere l'ID risorsa del cluster, eseguire:

    az resource show --name <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --resource-type "Microsoft.Kubernetes/connectedClusters" --query id --output tsv
    
  3. Per clonare un'istanza e replicare in un cluster connesso all'arco di destinazione usando le opzioni predefinite, eseguire:

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-cluster-id <CLUSTER_ID> 
    
  4. Per personalizzare la replica in un altro cluster, usare --param e specificare i parametri da modificare nel formato key=value. Ad esempio, per modificare il percorso dell'istanza clonata, eseguire:

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-cluster-id <CLUSTER_ID> --param location=eastus
    
  5. Per clonare un'istanza in un disco locale, usare il --to-dir parametro per specificare la directory in cui si desidera salvare la definizione del clone. Questa opzione produce un modello arm standard da modificare o distribuire a propria discrezione.

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-dir <DIRECTORY>
    

    Suggerimento

    Per clonare un'istanza nella directory corrente, eseguire --to-dir .

  6. Per clonare e replicare un'istanza in un cluster di destinazione e salvarla nel file nella stessa operazione, eseguire:

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-cluster-id <CLUSTER_ID> --to-dir <DIRECTORY>
    
  7. Per clonare un'istanza in un cluster, ma suddividendo e applicando serialmente le sotto-distribuzioni correlate agli asset, usare --mode linked. Il parametro offre il grado di scalabilità più elevato quando l'istanza del modello contiene un numero significativo di risorse correlate agli asset.

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-cluster-id <CLUSTER_ID> --mode linked
    
  8. Per clonare un'istanza su disco in modalità collegata, in cui ogni asset collegato e/o modello di profilo dell'endpoint dell'asset può essere distribuito separatamente dal modello radice.

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-dir . --mode linked
    

Considerazioni e limitazioni

  • La federazione automatica delle identità è attualmente supportata solo con l'opzione --to-cluster-id.
  • Le regole di sincronizzazione delle risorse non vengono acquisite.
  • Mentre l'assegnazione di ruolo richiesta tra l'identità gestita del sistema di IoT Operations e il registro dello schema di destinazione viene gestita dal clone, ma non copre altre assegnazioni di ruolo per le identità gestite del sistema.
  • La clonazione è un'operazione lato cloud. Non si interagisce direttamente con il cluster. I segreti del cluster vengono sincronizzati dal cloud tramite impostazioni sicure, che includono classi di provider segreti e risorse cloud di sincronizzazione dei segreti. Se il cluster del modello include elementi creati dall'utente, come configmap che sono riferiti nella soluzione di operazioni IoT del modello, tali elementi devono essere riapplicati nel cluster di destinazione.