Freigeben über


Bereitstellen von Azure IoT Einsatz (Preview) in einem Arc-fähigen Kubernetes-Cluster

Wichtig

Die von Azure Arc unterstützte Vorschauversion von „Azure IoT Einsatz“ befindet sich derzeit in der Vorschauphase. Sie sollten diese Vorschausoftware nicht in Produktionsumgebungen verwenden.

Sie müssen eine neue Installation von Azure IoT Einsatz bereitstellen, wenn ein allgemein verfügbares Release verfügbar wird. Sie werden kein Upgrade für eine Preview-Installation durchführen können.

Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

Bereitstellen der Azure IoT Operations Preview auf einem Kubernetes-Cluster mithilfe der Azure CLI. Nachdem Sie Azure IoT Einsatz bereitgestellt haben, können Sie andere Workloads in Ihrem Cluster verwalten und bereitstellen.

  • Eine Azure IoT Einsatz-Bereitstellung beschreibt alle Komponenten und Ressourcen, die das Azure IoT Einsatz-Szenario ermöglichen. Zu diesen Komponenten und Ressourcen gehören:

    • Eine Azure IoT Einsatz-Instanz
    • Arc-Erweiterungen
    • Benutzerdefinierte Standorte
    • Regeln für die Ressourcensynchronisierung
    • Ressourcen, die Sie in Ihrer Azure IoT Einsatz-Lösung konfigurieren können, z. B. Ressourcen, MQTT-Broker und Dataflows.
  • Eine Azure IoT Einsatz-Instanz ist ein Teil einer Bereitstellung. Es handelt sich um die übergeordnete Ressource, die die Suite von Diensten bündelt, die in Was ist Azure IoT Einsatz Preview? definiert werden, z. B. MQ, Akri und der OPC UA-Connector.

Wenn in diesem Artikel von der Bereitstellung von Azure IoT Einsatz die Rede ist, sind alle Komponenten gemeint, die eine Bereitstellung ausmachen. Sobald die Bereitstellung vorhanden ist, können Sie die Instanzanzeigen, verwalten und aktualisieren.

Voraussetzungen

Cloudressourcen:

  • Ein Azure-Abonnement.

  • Zugriffsberechtigungen in Azure. Sie brauchen mindestens die Berechtigung Mitwirkender in Ihrem Azure-Abonnement. Je nach ausgewähltem Status des Bereitstellungsfeatures benötigen Sie möglicherweise auch Microsoft/Authorization/roleAssignments/Write-Berechtigungen für die Ressourcengruppe, die Ihren Arc-fähigen Kubernetes-Cluster enthält. Sie können eine benutzerdefinierte Rolle in der rollenbasierten Azure-Zugriffssteuerung erstellen oder eine integrierte Rolle zuweisen, die diese Berechtigung gewährt. Weitere Informationen finden Sie unter den integrierten Azure-Rollen für Allgemein.

    Wenn Sie keine Berechtigungen zum Schreiben von Rollenzuweisungen haben, können Sie Azure IoT Operations weiterhin bereitstellen, indem Sie einige Features deaktivieren. Dieser Ansatz wird im Abschnitt Bereitstellen dieses Artikels ausführlicher erläutert.

    • Verwenden Sie in der Azure CLI den Befehl az Rollenzuweisung erstellen, um Berechtigungen zu erteilen. Beispiel: az role assignment create --assignee sp_name --role "Role Based Access Control Administrator" --scope subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup

    • Im Azure-Portal können Sie den Zugriff mithilfe von Bedingungen einschränken, wenn Sie einem Benutzer oder Prinzipal privilegierte Administratorrollen zuweisen. Wählen Sie für dieses Szenario Benutzer erlauben, alle Rollen zuzuweisen auf der Seite Rollenzuweisung hinzufügen.

      Screenshot der Zuweisung von Benutzern mit hoher Berechtigung im Azure-Portal.

  • Eine Azure Key Vault-Instanz, bei der das Berechtigungsmodell auf Vault-Zugriffsrichtlinie festgelegt ist. Sie können diese Einstellung im Bereich Zugriffskonfiguration eines vorhandenen Schlüsseltresors überprüfen. Verwenden Sie den neuen Befehl az keyvault create, um einen Schlüsseltresor zu erstellen:

    az keyvault create --enable-rbac-authorization false --name "<KEYVAULT_NAME>" --resource-group "<RESOURCE_GROUP>"
    

Entwicklungsressourcen:

  • Installation der Azure CLI auf Ihrem Entwicklungscomputer. Weitere Informationen finden Sie unter Installieren der Azure CLI. 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.

  • Die Azure IoT Einsatz-Erweiterung für die Azure CLI. Verwenden Sie den folgenden Befehl, um die Erweiterung hinzuzufügen oder auf die neueste Version zu aktualisieren:

    az extension add --upgrade --name azure-iot-ops
    

Ein Clusterhost:

  • Einen Azure Arc-fähigen Kubernetes-Cluster. Wenn Sie dies nicht getan haben, führen Sie die Schritte in Vorbereiten Ihres Azure Arc-fähigen Kubernetes-Clusters aus.

    Wenn Sie Azure IoT Einsatz bereits in Ihrem Cluster bereitgestellt haben, deinstallieren Sie diese Ressourcen, bevor Sie fortfahren. Weitere Informationen finden Sie unter Aktualisieren von Azure IoT Einsatz.

    Azure IoT Einsatz sollte auf jedem CNCF-konformen Kubernetes-Cluster funktionieren. Derzeit unterstützt Microsoft nur K3s auf Ubuntu Linux und WSL bzw. AKS Edge Essentials auf Windows.

    Verwenden Sie die Azure IoT Operations-Erweiterung für Azure CLI, um zu überprüfen, ob Ihr Clusterhost ordnungsgemäß für die Bereitstellung konfiguriert ist, indem Sie auf dem Clusterhost den Befehl verify-host aufrufen:

    az iot ops verify-host
    

Bereitstellen

Verwenden Sie das Azure-Portal oder die Azure CLI, um Azure IoT Einsatz in Ihrem Arc-fähigen Kubernetes-Cluster bereitzustellen.

Die Bereitstellungsoberfläche des Azure-Portals ist ein Hilfstool, das einen Bereitstellungsbefehl basierend auf Ihren Ressourcen und der Konfiguration generiert. Der letzte Schritt besteht darin, einen Azure CLI-Befehl auszuführen, daher benötigen Sie weiterhin die im vorherigen Abschnitt beschriebenen Azure CLI-Voraussetzungen.

  1. Melden Sie sich interaktiv mit einem Browser bei Azure CLI an, auch wenn Sie sich bereits zuvor angemeldet haben. Wenn Sie sich nicht interaktiv anmelden, wird möglicherweise eine Fehlermeldung angezeigt, die besagt: Ihr Gerät muss für den Zugriff auf Ihre Ressource verwaltet werden, wenn Sie mit dem nächsten Schritt zur Bereitstellung von Azure IoT Operations fortfahren.

    az login
    

    Hinweis

    Wenn Sie GitHub Codespaces in einem Browser verwenden, gibt az login nach der Anmeldung einen Localhost-Fehler im Browserfenster zurück. Führen zur Behebung eine der folgenden Maßnahmen durch:

    • Öffnen Sie den Codespace in VS Code Desktop und führen Sie dann az login erneut im Terminal aus. Dadurch wird ein Browserfenster geöffnet, in dem Sie sich bei Azure anmelden können.
    • Oder, nachdem Sie den Localhost-Fehler im Browser erhalten haben, kopieren Sie die URL aus dem Browser und verwenden Sie curl <URL> in einer neuen Terminal-Registerkarte. Sie sollten eine JSON-Antwort mit der Meldung „Sie haben sich bei Microsoft Azure angemeldet!“ sehen.
  2. Stellen Sie Azure IoT Einsatz in Ihrem Cluster bereit. Verwenden Sie optionale Flags, um den Befehl az iot ops init an Ihr Szenario anzupassen.

    Standardmäßig führt der az iot ops init Befehl die folgenden Aktionen aus, von denen einige erfordern, dass der bei der CLI angemeldete Prinzipal über erhöhte Berechtigungen verfügt:

    • Richten Sie einen Dienstprinzipal und eine App-Registrierung ein, um Ihrem Cluster Zugriff auf den Schlüsseltresor zu gewähren.
    • Konfigurieren Sie TLS-Zertifikate.
    • Konfigurieren Sie einen geheimen Speicher auf Ihrem Cluster, der eine Verbindung mit dem Schlüsseltresor herstellt.
    • Bereitstellen der Azure IoT Einsatz-Ressourcen.
    az iot ops init --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --kv-id <KEYVAULT_SETTINGS_PROPERTIES_RESOURCE_ID>
    

    Verwenden Sie die optionalen Parameter, um Ihre Bereitstellung anzupassen, einschließlich:

    Parameter Wert Beschreibung
    --add-insecure-listener Fügen Sie dem Standardlistener eine unsichere Konfiguration von Port 1883 hinzu. Diese ist nicht zur Verwendung in der Produktion bestimmt.
    --broker-config-file Pfad zur JSON-Datei Stellen Sie eine Konfigurationsdatei für den MQTT-Broker bereit. Weitere Informationen finden Sie unter Erweiterte MQTT-Brokerkonfiguration und Konfigurieren der Grundeinstellungen für den MQTT-Broker.
    --disable-rsync-rules Deaktivieren Sie die Ressourcensynchronisierungsregeln für das Bereitstellungsfeatureflag, wenn Sie nicht über die Berechtigungen Microsoft.Authorization/roleAssignment/write in der Ressourcengruppe verfügen.
    --name String Geben Sie einen Namen für Ihre Azure IoT Einsatz-Instanz an. Andernfalls wird ein Standardname zugewiesen. Sie können den instanceName-Parameter in der Befehlsausgabe anzeigen.
    --no-progress Deaktiviert die Anzeige des Bereitstellungsfortschritts im Terminal
    --simulate-plc Schließt den OPC PLC-Simulator ein, der im OPC UA-Connector enthalten ist
    --sp-app-id,
    --sp-object-id,
    --sp-secret
    Dienstprinzipal-App-ID, Dienstprinzipalobjekt-ID und Dienstprinzipalgeheimnis Alle oder einige dieser Parameter einschließen, um einen vorhandenen Dienstprinzipal, eine App-Registrierung und ein Geheimnis zu verwenden, anstatt init das Erstellen neuer Parameter zu gestatten Weitere Informationen finden Sie unter Manuelles Konfigurieren von Dienstprinzipal und Key Vault.

Während die Bereitstellung läuft, können Sie beobachten, wie die Ressourcen auf Ihren Cluster angewendet werden.

  • Wenn Ihr Terminal dies unterstützt, zeigt init den Bereitstellungsfortschritt an.

    Ein Screenshot, der den Fortschritt einer Azure IoT Einsatz-Bereitstellung in einem Terminal zeigt

    Sobald die Phase IoT Einsatz bereitstellen beginnt, wird der Text im Terminal zu einem Link zum Anzeigen des Bereitstellungsfortschritts im Azure-Portal.

    Ein Screenshot, der den Fortschritt einer Azure IoT Einsatz-Bereitstellung im Azure-Portal zeigt

  • Andernfalls, oder wenn Sie die Fortschrittsanzeige mit --no-progress im Befehl init deaktivieren, können Sie kubectl-Befehle verwenden, um die Pods in Ihrem Cluster anzuzeigen:

    kubectl get pods -n azure-iot-operations
    

    Es kann einige Minuten dauern, bis die Bereitstellung abgeschlossen ist. Führen Sie den get pods Befehl erneut aus, um die Ansicht zu aktualisieren.

Nach Abschluss der Bereitstellung können Sie az iot ops check verwenden, um die Bereitstellung des IoT Einsatz-Diensts hinsichtlich Integrität, Konfiguration und Nutzbarkeit zu bewerten. Der Befehl Überprüfen kann Ihnen helfen, Probleme in Ihrer Bereitstellung und Konfiguration zu finden.

az iot ops check

Sie können auch die Konfigurationen von Themenzuordnungen, QoS- und Nachrichtenrouten überprüfen, indem Sie den --detail-level 2 Parameter für eine ausführliche Ansicht hinzufügen.

Verwalten von Azure IoT Einsatz

Nach der Bereitstellung können Sie die Azure CLI und das Azure-Portal verwenden, um Ihre Azure IoT Einsatz-Instanz anzuzeigen und zu verwalten.

Instanzen auflisten

Verwenden Sie den Befehl az iot ops list, um alle Azure IoT Einsatz-Instanzen in Ihrem Abonnement oder Ihrer Ressourcengruppe anzuzeigen.

Der Basisbefehl gibt alle Instanzen in Ihrem Abonnement zurück.

az iot ops list

Um die Ergebnisse nach Ressourcengruppe zu filtern, fügen Sie den --resource-group-Parameter hinzu.

az iot ops list --resource-group <RESOURCE_GROUP>

Anzeigen der Instanz

Verwenden Sie den Befehl az iot ops show, um die Eigenschaften einer Instanz anzuzeigen.

az iot ops show --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP>

Sie können auch den Befehl az iot ops show verwenden, um die Ressourcen in Ihrer Azure IoT Einsatz-Bereitstellung in der Azure CLI anzuzeigen. Fügen Sie das Flag --tree hinzu, um eine Strukturansicht der Bereitstellung anzuzeigen, die die angegebene Azure IoT Einsatz-Instanz enthält.

az iot ops show --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --tree

Die Strukturansicht einer Bereitstellung sieht wie im folgenden Beispiel aus:

MyCluster
├── extensions
│   ├── akvsecretsprovider
│   ├── azure-iot-operations-ltwgs
│   └── azure-iot-operations-platform-ltwgs
└── customLocations
    └── MyCluster-cl
        ├── resourceSyncRules
        └── resources
            ├── MyCluster-ops-init-instance
            └── MyCluster-observability

Sie können az iot ops check in Ihrem Cluster ausführen, um die Integrität und Konfiguration einzelner Azure IoT Einsatz-Komponenten zu bewerten. Standardmäßig überprüft der Befehl MQ, aber Sie können den Dienst mit dem --ops-service-Parameter angeben.

Aktualisieren von Instanztags und -beschreibungen

Verwenden Sie den Befehl az iot ops update, um die Tags und Beschreibungsparameter Ihrer Azure IoT Einsatz-Instanz zu bearbeiten. Die im Befehl update angegebenen Werte ersetzen vorhandene Tags oder Beschreibungen.

az iot ops update --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --desc "<INSTANCE_DESCRIPTION>" --tags <TAG_NAME>=<TAG-VALUE> <TAG_NAME>=<TAG-VALUE>

Wenn Sie alle Tags in einer Instanz löschen möchten, legen Sie den tags-Parameter auf einen NULL-Wert fest. Zum Beispiel:

az iot ops update --name <INSTANCE_NAME> --resource-group --tags ""

Deinstallieren von Azure IoT Einsatz

Die Azure CLI und das Azure-Portal bieten verschiedene Optionen zum Deinstallieren von Azure IoT Einsatz.

Wenn Sie eine gesamte Azure IoT Einsatz-Bereitstellung löschen möchten, verwenden Sie die Azure CLI.

Wenn Sie eine Azure IoT Einsatz-Instanz löschen möchten, aber die zugehörigen Ressourcen in der Bereitstellung beibehalten möchten, verwenden Sie das Azure-Portal.

Verwenden Sie den Befehl az iot ops delete, um die gesamte Azure IoT Einsatz-Bereitstellung aus einem Cluster zu löschen. Der Befehl delete wertet die Ressourcen im Zusammenhang mit Azure IoT Einsatz im Cluster aus und stellt eine Strukturansicht der zu löschenden Ressourcen dar. Der Cluster sollte online sein, wenn Sie diesen Befehl ausführen.

Der Befehl delete entfernt Folgendes:

  • Die Azure IoT Einsatz-Instanz
  • Arc-Erweiterungen
  • Benutzerdefinierte Standorte
  • Regeln für die Ressourcensynchronisierung
  • Ressourcen, die Sie in Ihrer Azure IoT Einsatz-Lösung konfigurieren können, z. B. Ressourcen, MQTT-Broker und Dataflows.
az iot ops delete --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP>

Aktualisieren von Azure IoT Einsatz

Derzeit wird die Aktualisierung einer vorhandenen Bereitstellung in Azure IoT Einsatz nicht unterstützt. Stattdessen müssen Sie Azure IoT Einsatz deinstallieren und eine neue Version von Azure IoT Einsatz bereitstellen.

  1. Verwenden Sie den Befehl az iot ops delete, um die Azure IoT Einsatz-Bereitstellung in Ihrem Cluster zu löschen.

    az iot ops delete --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP>
    
  2. Aktualisieren Sie die CLI-Erweiterung, um die neueste Version von Azure IoT Einsatz zu erhalten.

    az extension update --name azure-iot-ops
    
  3. Führen Sie die Schritte in diesem Artikel aus, um die neueste Version von Azure IoT Einsatz in Ihrem Cluster bereitzustellen.

    Tipp

    Fügen Sie dem Befehl az iot ops init das Flag --ensure-latest hinzu, um zu überprüfen, ob die neueste CLI-Version für Azure IoT Einsatz installiert ist, und geben Sie einen Fehler aus, wenn ein Upgrade verfügbar ist.

Nächste Schritte

Wenn Ihre Komponenten eine Verbindung mit Azure-Endpunkten wie SQL oder Fabric herstellen müssen, informieren Sie sich über die Verwalten von Geheimnissen für Ihre Bereitstellung von Azure IoT Einsatz (Vorschau).