Freigeben über


Klonen einer IoT Operations-Instanz (Vorschau)

Sie können eine vorhandene Azure IoT Operations-Instanz klonen, um eine neue Instanz mit derselben Konfiguration und den gleichen Einstellungen zu erstellen. Das Klonen ist nützlich zum Erstellen einer Sicherung Ihrer Instanz oder zum Einrichten einer neuen Instanz mit derselben Konfiguration für Test- oder Entwicklungszwecke.

Anwendungsszenarios für Klon umfassen:

  • Notfallwiederherstellung: Erstellen Sie eine Sicherung Ihrer Azure IoT Operations-Instanz, die zum Wiederherstellen der Instanz verwendet werden kann, wenn ein Notfall vorhanden ist.
  • Testen und Entwickeln: Richten Sie eine neue Azure IoT Operations-Instanz mit derselben Konfiguration wie eine vorhandene Instanz für Test- oder Entwicklungszwecke ein.
  • Migration: Verschieben Sie Ihre Azure IoT Operations-Instanz in einen neuen Cluster oder eine neue Ressourcengruppe, indem Sie die Instanz an den neuen Speicherort klonen.
  • Skalierung: Erstellen Sie mehrere Instanzen Ihrer Azure IoT Operations-Instanz, um eine erhöhte Workload zu verarbeiten oder die Last über mehrere Instanzen hinweg zu verteilen.

Hinweis

Die Klonfunktion ist in der Vorschau verfügbar und wird derzeit entwickelt.

Voraussetzungen

  • Eine Instanz von „Azure IoT Einsatz“, die in einem Cluster bereitgestellt ist. Weitere Informationen finden Sie unter Azure IoT-Betrieb bereitstellen.

  • Installation der Azure CLI auf Ihrem Entwicklungscomputer. Für diesen Fall ist mindestens die Version 2.53.0 der Azure CLI erforderlich. Verwenden Sie az --version, um Ihre Version zu überprüfen. Bei Bedarf können Sie sie mithilfe von az upgrade aktualisieren. Weitere Informationen finden Sie unter Installieren der Azure CLI.

  • Die Azure IoT Einsatz-Erweiterung für die Azure CLI. Clone ist derzeit mit dem folgenden IoT Operations-Instanzversionsbereich kompatibel: 1.0.34>=,<1.2.0. Verwenden Sie den folgenden Befehl, um die Erweiterung zu aktualisieren oder zu installieren. Ersetzen Sie <VERSION_NUMBER> durch eine Version, die mit Ihrer Instanz kompatibel ist.

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

Übersicht über den Klonbefehl

Verwenden Sie den az iot ops clone Befehl, um eine neue Azure IoT Operations-Instanz basierend auf einer vorhandenen Instanz zu erstellen.

Der clone Befehl analysiert eine Azure IoT Operations-Instanz und reproduziert sie auf Infrastruktur-as-Code-Weise über ARM-Vorlagen. Sie können die Ausgabe des Klons auf einen anderen verbundenen Cluster anwenden, der als Replikation bezeichnet wird. Sie können den Klon auch für die spätere Verwendung in einem lokalen Verzeichnis speichern und einige Konfigurationsänderungen vornehmen, bevor Sie ihn auf einen Cluster anwenden.

Der Klonvorgang besteht aus drei Hauptkomponenten: dem Modell, das die Quellinstanz, das Ziel, die Zielinstanz und die Vorlage ist. Das folgende Diagramm veranschaulicht den Klonfluss. Der clone Befehl analysiert die Quellinstanz und repliziert sie über die IaC/ARM-Vorlage. Die replizierte Definition wird auf einen oder mehrere Zielcluster angewendet.

Ein Diagramm einer Teilmenge aller instanzbezogenen Ressourcen. zeigt, wie der Klonbefehl für Azure IoT Operations-Instanzen funktioniert.

Klonmodell

Das Modell ist die Instanz, von der Sie klonen. Es ist die Quelle der Wahrheit für den Klonvorgang. Um das Modell zu identifizieren, geben Sie die folgenden Parameter ein:

  • --name/-n: Der Name der Modellinstanz.
  • --resource-group/-g: Die Ressourcengruppe, die die Modellinstanz enthält.

Klonenziel

Das Ziel ist, wo Sie die Klondefinition replizieren oder speichern möchten. Sie können einen Klon auf einen, alle oder keine Ziele anwenden. Wenn Sie keine Zieloptionen bereitstellen, wird der Prozess beendet, nachdem eine Zusammenfassung der Ressourcen im Bereich ausgegeben wurde. Um das Ziel zu identifizieren, geben Sie einen der folgenden Parameter ein:

  • --to-cluster-id: Geben Sie die vollständige Azure-Ressourcen-ID des Zielclusters an, in dem Sie die geklonte Instanz replizieren möchten. Wenn Sie diese Option verwenden, stellt der Klonbefehl die version von Azure IoT Operations bereit, die in der Klondefinition für den Zielcluster angegeben ist, und wendet dann alle relevanten Ressourcen an, um die Bereitstellung abzuschließen. Der automatische Verbund von benutzerseitig zugewiesenen Anmeldeinformationen für verwaltete Identitäten (User-Assigned Managed Identity, UAMI) wird derzeit nur beim Klonen mit einem Cluster-Ziel unterstützt.

  • --to-dir: Stellen Sie einen lokalen Verzeichnispfad bereit, um die Klondefinition auf den Datenträger zu replizieren, wo sie mit vorhandenen ARM-Bereitstellungstools mit oder ohne Änderung bereitgestellt werden kann. Wenn Sie die Klondefinition prüfen, werden verschiedene Parameterisierungen wiedergegeben, um einige Anpassungen zu vereinfachen.

Von Bedeutung

Wenn Sie eine Zielressourcengruppe auswählen, sollten Sie eine Ressourcengruppe verwenden, die keine vorhandene IoT Operations-Installation enthält und von der Ressourcengruppe des Modells getrennt ist. Standardmäßig behält die Klondefinition Ressourcennamen aus der Modellinstanz bei. Wenn das Ziel und das Modell dieselbe Ressourcengruppe gemeinsam verwenden und Sie den benutzerdefinierten Speicherort ändern, können Konflikte mit dem Ressourcennamen auftreten.

Klonenvorlage

Der Klonbefehl generiert eine ARM-Vorlage, die die ressourcen beschreibt, die im Ziel erstellt werden sollen. Die Vorlage wird basierend auf den Ressourcen in der Modellinstanz und deren Konfiguration generiert. Geben Sie die folgenden optionalen Parameter ein, um die Vorlage anzupassen:

Anpassungsparameter für Klonvorlagen

Sie können die folgenden optionalen Parameter verwenden, um die generierte ARM-Vorlage anzupassen:

  • --mode: Gibt an, wie Teilbereitstellungen in der Vorlage organisiert werden.

    • Wenn der nested-Modus (Standardmodus) verwendet wird, sind alle Unterbereitstellungen eigenständig innerhalb der Stammbereitstellungsdatei.
    • Wenn linked der Modus verwendet wird, werden ressourcenbezogene Unterbereitstellungen aufgeteilt und als separate Dateien gespeichert, die dann von der Stammbereitstellung verknüpft werden. Verwenden Sie linked den Modus, wenn Ihre Instanz eine große Anzahl von Geräten und Ressourcen enthält, um die Skalierbarkeit und Verwaltbarkeit zu verbessern. Sie müssen diesen Parameter nicht angeben, es sei denn, Sie benötigen diese Trennung für große Bereitstellungen.
  • --param: Ermöglicht es Ihnen, integrierte Standardparameter wie location, , instanceNameoder adrNamespaceId, mithilfe des Formats key=valueaußer Kraft zu setzen. Verwenden Sie --help, um die vollständige Liste der Schlüssel anzuzeigen.

Klonen einer Instanz

Um eine Instanz zu klonen, verwenden Sie den az iot ops clone Befehl mit den entsprechenden Parametern, um die Quellinstanz und den Zielspeicherort anzugeben.

  1. Bevor Sie beginnen, legen Sie Ihr Standardabonnement auf das gleiche Abonnement fest, in dem sich die Modellinstanz befindet. Andernfalls müssen Sie jedes Mal --subscription anhängen, wenn Sie einen az iot ops clone Befehl ausführen.

    az account set -s $MODEL_SUBSCRIPTION_ID
    
  2. Führen Sie Folgendes aus, um Die Clusterressourcen-ID abzurufen:

    az resource show --name <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --resource-type "Microsoft.Kubernetes/connectedClusters" --query id --output tsv
    
  3. Führen Sie Folgendes aus, um eine Instanz zu klonen und mit Standardoptionen in einen mit Arc verbundenen Zielcluster zu replizieren.

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-cluster-id <CLUSTER_ID> 
    
  4. Um die Replikation auf einen anderen Cluster anzupassen, verwenden Sie --param und geben Sie die Parameter an, die Sie im Format key=value ändern möchten. Um beispielsweise den Speicherort der geklonten Instanz zu ändern, führen Sie Folgendes aus:

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-cluster-id <CLUSTER_ID> --param location=eastus
    
  5. Um eine Instanz auf einem lokalen Datenträger zu klonen, verwenden Sie den --to-dir Parameter, um das Verzeichnis anzugeben, in dem Sie die Klondefinition speichern möchten. Diese Option erzeugt eine standardmäßige ARM-Vorlage, die nach Eigenem Ermessen bearbeitet oder bereitgestellt werden soll.

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

    Tipp

    Um eine Instanz in das aktuelle Verzeichnis zu klonen, führen Sie --to-dir . aus.

  6. Führen Sie Folgendes aus, um eine Instanz in einem Zielcluster zu klonen und zu replizieren und in derselben Datei zu speichern:

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-cluster-id <CLUSTER_ID> --to-dir <DIRECTORY>
    
  7. Um eine Instanz in einen Cluster zu klonen, dabei jedoch die Asset-bezogenen Teilbereitstellungen aufzuteilen und seriell anzuwenden, verwenden Sie --mode linked.. Der Parameter bietet den höchsten Grad an Skalierbarkeit, wenn die Modellinstanz eine erhebliche Anzahl von Asset-bezogenen Ressourcen enthält.

    az iot ops clone --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --to-cluster-id <CLUSTER_ID> --mode linked
    
  8. Zum Klonen einer Instanz auf den Datenträger im verknüpften Modus, wobei jede verknüpfte Objekt- und/oder Objektendpunktprofilvorlage separat von der Stammvorlage bereitgestellt werden kann.

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

Überlegungen und Einschränkungen

  • Der automatische Identitätsverbund wird derzeit nur mit --to-cluster-id Option unterstützt.
  • Ressourcensynchronisierungsregeln werden nicht erfasst.
  • Während die erforderliche Rollenzuweisung zwischen der vom IoT Operations-System verwalteten Identität und der Zielschemaregistrierung durch Klonen erfolgt, werden alle anderen vom System verwalteten Identitätsrollenzuweisungen nicht abgedeckt.
  • Clone ist ein cloudseitiger Vorgang. Es gibt keine direkte Interaktion mit dem Cluster. Clusterschlüssel werden über sichere Einstellungen aus der Cloud synchronisiert, die geheime Anbieterklassen und geheime Synchronisierungscloudressourcen umfassen. Wenn der Modellcluster durch den Benutzer erstellte Elemente, beispielsweise ConfigMaps, enthält, die in der IoT-Betriebsmodell-Lösung referenziert werden, müssen diese Elemente erneut auf den Zielcluster angewendet werden.