Teilen über


Schnellstart: Ausführen der Azure IoT Einsatz-Vorschau in GitHub Codespaces mit K3s

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, sobald eine allgemein verfügbare Version verfügbar ist. 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.

In dieser Schnellstartanleitung stellen Sie eine Suite von IoT-Diensten in einem Azure Arc-fähigen Kubernetes-Cluster bereit, damit Sie Ihre Geräte und Workloads per Remotezugriff verwalten können. Azure IoT Einsatz ist eine digitale Einsatz-Anwendungssuite von Diensten. In dieser Schnellstartanleitung erfahren Sie, wie Sie Orchestrator verwenden, um diese Dienste in einem Kubernetes-Cluster bereitzustellen. Am Ende der Schnellstartanleitung haben Sie einen über die Cloud verwaltbaren Cluster, der Beispieldaten generiert, die in nachfolgenden Schnellstartanleitungen verwendet werden können.

Die restlichen Schnellstarts in dieser umfassenden Reihe bauen für die Definition von Beispielressourcen, Datenverarbeitungspipelines und Visualisierungen auf diesem auf.

Wenn Sie Azure IoT Operations in einem lokalen Cluster wie Azure Kubernetes Service Edge Essentials oder K3s auf Ubuntu bereitstellen möchten, lesen Sie die Bereitstellungsdetails.

Voraussetzungen

Diese Reihe von Schnellstarts soll Ihnen bei den ersten Schritten mit Azure IoT Einsatz helfen, damit Sie schnellstmöglich ein End-to-End-Szenario auswerten können. In einer echten Entwicklungs- oder Produktionsumgebung führen mehrere Teams diese Aufgaben aus, und für einige Aufgaben sind möglicherweise erhöhte Berechtigungen erforderlich.

Für eine optimale neue Benutzererfahrung empfehlen wir die Verwendung eines kostenlosen Azure-Kontos, damit Sie über Besitzerberechtigungen für die Ressourcen in diesen Schnellstartanleitungen verfügen. Außerdem stellen wir Schritte für die Verwendung von GitHub Codespaces als virtuelle Umgebung bereit, in der Sie schnell mit der Bereitstellung von Ressourcen und dem Ausführen von Befehlen beginnen können, ohne neue Tools auf Ihren eigenen Computern installieren zu müssen.

Voraussetzungen

Für diese Schnellstartanleitung erstellen Sie einen Kubernetes-Cluster, um die Azure IoT Einsatz-Bereitstellung zu erhalten.

Wenn Sie ein Cluster wiederverwenden möchten, in dem Azure IoT Operations bereits bereitgestellt worden ist, lesen Sie die Schritte unter Bereinigen von Ressourcen, um Azure IoT Einsatz zu deinstallieren, bevor Sie fortfahren.

Bevor Sie beginnen, müssen folgende erforderliche Schritte vorbereitet werden:

  • Ein Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

  • Ein GitHub-Konto.

  • Auf Ihrem Entwicklungscomputer installiertes Visual Studio Code Weitere Informationen finden Sie unter Herunterladen von Visual Studio Code.

  • Die Berechtigungen Microsoft/Authorization/roleAssignments/write auf Ressourcengruppenebene.

Welches Problem werden wir lösen?

Bei Azure IoT Einsatz handelt es sich um eine Suite von Datendiensten, die in Kubernetes-Clustern ausgeführt werden. Sie möchten, dass diese Cluster remote über die Cloud verwaltet werden und sicher mit Cloudressourcen und Endpunkten kommunizieren können. Diese Punkte werden mithilfe der folgenden Aufgaben in dieser Schnellstartanleitung behandelt:

  1. Erstellen eines Kubernetes-Clusters und Herstellen einer Verbindung mit Azure Arc für die Remoteverwaltung
  2. Erstellen Sie eine Schemaregistrierung.
  3. Bereitstellen von Azure IoT Einsatz in Ihrem Cluster

Herstellen einer Verbindung von einem Kubernetes-Cluster mit Azure Arc

Azure IoT Einsatz unterstützt Azure Kubernetes Service (AKS) Edge Essentials und K3s auf Ubuntu-Clustern. Aus Gründen der Schnelligkeit und Einfachheit verwendet dieser Schnellstart jedoch GitHub-Codespaces zum Hosten Ihres Clusters.

Codespaces können später schnell und einfach eingerichtet und gelöscht werden. Sie eignen sich jedoch nicht für Leistungsbewertungen oder Skalierungstests. Verwenden Sie GitHub Codespaces nur zum Testen. Informationen zum Bereitstellen von Azure IoT Einsatz in einem Cluster unter Windows oder Ubuntu finden Sie unter Vorbereiten Ihres Azure Arc-fähigen Kubernetes-Clusters.

In diesem Abschnitt erstellen Sie einen neuen Cluster und verbinden ihn mit Azure Arc. Wenn Sie einen Cluster wiederverwenden möchten, für den Sie vorgängig Azure IoT Einsatz bereitgestellt haben, sehen Sie sich die Schritte unter Bereinigen von Ressourcen an, um Azure IoT Einsatz zu deinstallieren, bevor Sie fortfahren.

Verwenden Sie GitHub Codespaces, um Azure IoT Einsatz in einem Kubernetes-Cluster auszuprobieren, ohne etwas auf Ihrem lokalen Computer zu installieren. Der Codespace Azure-Samples/explore-iot-operations ist vorkonfiguriert mit:

Führen Sie die folgenden Schritte aus, um Codespace und Cluster zu erstellen:

  1. Erstellen Sie einen Codespace in GitHub Codespaces.

    Erstellen des Codespace „explore-iot-operations“

  2. Geben Sie die folgenden empfohlenen Geheimnisse für Ihren Codespace an:

    Parameter Wert
    SUBSCRIPTION_ID die Azure-Abonnement-ID
    RESOURCE_GROUP Einen Namen für eine neue Azure-Ressourcengruppe, in der Ihr Cluster erstellt wird.
    LOCATION Eine Azure-Region in Ihrer Nähe. Die Liste aller aktuell unterstützten Regionen finden Sie unter Unterstützte Regionen.

    Tipp

    Die Werte, die Sie in diesem Schritt als Geheimnis angeben, werden für die Verwendung in diesen und zukünftigen Codespaces in Ihrem GitHub-Konto gespeichert. Sie werden als Umgebungsvariablen im Codespace-Terminal hinzugefügt, und Sie können diese Umgebungsvariablen in den CLI-Befehlen im nächsten Abschnitt verwenden.

    Darüber hinaus erstellt dieser Codespace eine Umgebungsvariable CLUSTER_NAME, die mit dem Codespacenamen festgelegt wird.

  3. Wählen Sie Neuen Codespace erstellen.

  4. Wenn der Codespace bereit ist, können Sie links oben die Menüschaltfläche und anschließend In VS Code-Desktop öffnen auswählen.

    Öffnen des VS Code-Desktops

  5. Wenn Sie dazu aufgefordert werden, installieren Sie die GitHub Codespaces-Erweiterung für Visual Studio Code, und melden Sie sich bei GitHub an.

  6. Wählen Sie in Visual Studio Code die Option Ansicht>Terminal aus.

    Verwenden Sie dieses Terminal, um alle CLI-Befehle zum Verwalten Ihres Clusters auszuführen.

So verbinden Sie Ihren Cluster mit Azure Arc

  1. Melden Sie sich in Ihrem Codespace-Terminal bei der Azure CLI an:

    az login
    

    Tipp

    Wenn Sie die GitHub-Codespace-Umgebung in einem Browser anstelle des VS Code-Desktops verwenden, gibt die Ausführung von az login einen localhost-Fehler zurück. So beheben Sie den Fehler:

    • Öffnen Sie den Codespace in VS Code Desktop, kehren Sie dann zum Browserterminal zurück, und führen Sie az login erneut aus.
    • Nachdem Sie den Localhost-Fehler im Browser erhalten haben, können Sie auch die URL aus dem Browser kopieren und curl "<URL>" in einer neuen Terminal-Registerkarte ausführen. Sie sollten eine JSON-Antwort mit dem Hinweis erhalten, dass Sie sich bei Microsoft Azure angemeldet haben.
  2. Nachdem Sie sich angemeldet haben, zeigt Azure CLI alle Ihre Abonnements an und gibt Ihr Standardabonnement mit einem Sternchen * an. Um mit Ihrem Standardabonnement fortzufahren, wählen Sie Enter aus. Geben Sie andernfalls die Nummer des Azure-Abonnements ein, das Sie verwenden möchten.

  3. Registrieren Sie die erforderlichen Ressourcenanbieter in Ihrem Abonnement:

    Hinweis

    Dieser Schritt muss nur einmal pro Abonnement durchgeführt werden. Zum Registrieren von Ressourcenanbietern benötigen Sie die Berechtigung zum Ausführen des /register/action-Vorgangs, welche in den Rollen „Mitwirkender“ und „Besitzer“ des Abonnements enthalten ist. Weitere Informationen finden Sie unter Azure-Ressourcenanbieter und -typen.

    az provider register -n "Microsoft.ExtendedLocation"
    az provider register -n "Microsoft.Kubernetes"
    az provider register -n "Microsoft.KubernetesConfiguration"
    az provider register -n "Microsoft.IoTOperations"
    az provider register -n "Microsoft.DeviceRegistry"
    az provider register -n "Microsoft.SecretSyncController"
    
  4. Verwenden Sie den Befehl az group create, um in Ihrem Azure-Abonnement eine Ressourcengruppe zum Speichern aller Ressourcen zu erstellen:

    az group create --location $LOCATION --resource-group $RESOURCE_GROUP
    
  5. Verwenden Sie den Befehl az connectedk8s connect, um Ihren Kubernetes-Cluster für Arc zu aktivieren und ihn als Teil Ihrer Azure-Ressourcengruppe zu verwalten:

    az connectedk8s connect --name $CLUSTER_NAME --location $LOCATION --resource-group $RESOURCE_GROUP
    

    Tipp

    Der Wert von $CLUSTER_NAME wird automatisch auf den Namen Ihres Codespaces festgelegt. Ersetzen Sie die Umgebungsvariable, wenn Sie einen anderen Namen verwenden möchten.

  6. Rufen Sie die objectId der Microsoft Entra-ID-Anwendung ab, die der Azure Arc-Dienst in Ihrem Mandanten verwendet, und speichern Sie sie als Umgebungsvariable. Führen Sie den folgenden Befehl genau wie angegeben aus, ohne den GUID-Wert zu ändern.

    export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)
    
  7. Verwenden Sie den Befehl az connectedk8s enable-features, um für Ihren Cluster die Unterstützung benutzerdefinierter Speicherorte zu aktivieren. Dieser Befehl verwendet die objectId der Microsoft Entra ID-Anwendung, die der Azure Arc-Dienst verwendet.

    az connectedk8s enable-features -n $CLUSTER_NAME -g $RESOURCE_GROUP --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locations
    

Erstellen eines Speicherkontos und einer Schemaregistrierung

Azure IoT Einsatz erfordert eine Schemaregistrierung in Ihrem Cluster. Für die Schemaregistrierung ist ein Azure-Speicherkonto erforderlich, damit Schemainformationen zwischen Cloud und Edge synchronisiert werden können.

Der Befehl zum Erstellen einer Schemaregistrierung in diesem Abschnitt erfordert die Berechtigungen Microsoft/Authorization/roleAssignments/Write auf Ressourcengruppenebene.

Führen Sie die folgenden CLI-Befehle in Ihrem Codespaces-Terminal aus.

  1. Legen Sie Umgebungsvariablen für die Ressourcen fest, die Sie in diesem Abschnitt erstellen.

    Platzhalter Wert
    <STORAGE_ACCOUNT_NAME> Ein Name für Ihr Speicherkonto. Speicherkontonamen müssen zwischen 3 und 24 Zeichen lang sein und dürfen nur Zahlen und Kleinbuchstaben enthalten.
    <SCHEMA_REGISTRY_NAME> Ein Name für Ihre Schemaregistrierung.
    <SCHEMA_REGISTRY_NAMESPACE> Ein Name für den Namespace Ihrer Schemaregistrierung. Der Namespace identifiziert eine Schemaregistrierung innerhalb eines Mandanten eindeutig.
    export STORAGE_ACCOUNT=<STORAGE_ACCOUNT_NAME>
    export SCHEMA_REGISTRY=<SCHEMA_REGISTRY_NAME>
    export SCHEMA_REGISTRY_NAMESPACE=<SCHEMA_REGISTRY_NAMESPACE>
    
  2. Erstellen eines Speicherkonto mit aktiviertem hierarchischen Namespace

    az storage account create --name $STORAGE_ACCOUNT --location $LOCATION --resource-group $RESOURCE_GROUP --enable-hierarchical-namespace
    
  3. Erstellen Sie eine Schemaregistrierung, die eine Verbindung mit Ihrem Speicherkonto herstellt. Mit diesem Befehl wird auch ein BLOB-Container namens schemas im Speicherkonto erstellt, falls noch keiner vorhanden ist.

    az iot ops schema registry create --name $SCHEMA_REGISTRY --resource-group $RESOURCE_GROUP --registry-namespace $SCHEMA_REGISTRY_NAMESPACE --sa-resource-id $(az storage account show --name $STORAGE_ACCOUNT -o tsv --query id)
    

Bereitstellen der Azure IoT Einsatz-Vorschau

In diesem Abschnitt konfigurieren Sie Ihren Cluster mit den Abhängigkeiten für Ihre Azure IoT Einsatz-Komponenten und stellen dann Azure IoT Einsatz bereit.

Führen Sie die folgenden CLI-Befehle in Ihrem Codespaces-Terminal aus.

  1. Initialisieren Sie Ihren Cluster für Azure IoT Einsatz.

    Tipp

    Der Befehl init muss nur einmal pro Cluster ausgeführt werden. Wenn Sie einen Cluster wiederverwenden, für den Azure IoT Einsatz Version 0.8.0 bereits bereitgestellt wurde, können Sie diesen Schritt überspringen.

    az iot ops init --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
    

    Die Ausführung dieses Befehls kann mehrere Minuten dauern. Sie können den Fortschritt in der Anzeige des Bereitstellungsfortschritts im Terminal verfolgen.

  2. Stellen Sie Azure IoT Einsatz bereit. Die Ausführung dieses Befehls dauert mehrere Minuten:

    az iot ops create --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name ${CLUSTER_NAME}-instance  --sr-resource-id $(az iot ops schema registry show --name $SCHEMA_REGISTRY --resource-group $RESOURCE_GROUP -o tsv --query id) --broker-frontend-replicas 1 --broker-frontend-workers 1  --broker-backend-part 1  --broker-backend-workers 1 --broker-backend-rf 2 --broker-mem-profile Low
    

    Die Ausführung dieses Befehls kann mehrere Minuten dauern. Sie können den Fortschritt in der Anzeige des Bereitstellungsfortschritts im Terminal verfolgen.

    Wenn ein Fehler angezeigt wird, der besagt, dass Ihr Gerät für den Zugriff auf Ihre Ressource verwaltet werden muss, führen Sie az login erneut aus, und stellen Sie sicher, dass Sie sich interaktiv mit einem Browser anmelden.

Anzeigen von Ressourcen in Ihrem Cluster

Während die Bereitstellung ausgeführt wird, zeigt Ihnen die CLI-Statusschnittstelle die Bereitstellungsphase an, in der Sie sich gerade befinden. Nachdem die Bereitstellung abgeschlossen ist, können Sie kubectl-Befehle verwenden, um Änderungen im Cluster zu beobachten, oder das Azure-Portal verwenden, da der Cluster über Arc-Unterstützung verfügt.

Führen Sie den folgenden Befehl aus, um die Pods in Ihrem Cluster anzuzeigen:

kubectl get pods -n azure-iot-operations

Führen Sie die folgenden Schritte aus, um Ihren Ressourcen im Azure-Portal anzuzeigen:

  1. Wechseln Sie im Azure-Portal zur Ressourcengruppe, die Ihre Azure IoT Einsatz-Instanz enthält, oder suchen Sie nach Azure IoT Einsatz.

  2. Wählen Sie den Namen Ihrer Azure IoT Einsatz-Instanz aus.

  3. Auf der Seite Übersicht Ihrer Instanz zeigt die Registerkarte Arc-Erweiterungen die Ressourcen an, die in Ihrem Cluster bereitgestellt wurden.

    Screenshot der Azure IoT Einsatz-Instanz im Arc-fähigen Cluster

Wie haben wir das Problem gelöst?

In dieser Schnellstartanleitung haben Sie Ihren Kubernetes-Cluster mit Arc-Unterstützung so konfiguriert, dass er sicher mit Ihren Azure IoT Einsatz-Komponenten kommunizieren kann. Anschließend haben Sie diese Komponenten in Ihrem Cluster bereitgestellt. Für dieses Testszenario verfügen Sie über einen einzelnen Kubernetes-Cluster, der wahrscheinlich lokal auf Ihrem Computer ausgeführt wird. In einem Produktionsszenario können Sie mit den gleichen Schritten Workloads für viele Cluster an zahlreichen Standorten bereitstellen.

Bereinigen von Ressourcen

Wenn Sie mit der nächsten Schnellstartanleitung fortfahren, sollten Sie alle Ihre Ressourcen beibehalten.

Wenn Sie die Azure IoT Einsatz-Bereitstellung entfernen, aber Ihren Cluster beibehalten möchten, verwenden Sie den Befehl az iot ops delete.

az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP

Wenn Sie alle im Rahmen dieser Schnellstartanleitung erstellten Ressourcen löschen möchten, löschen Sie den Kubernetes-Cluster, in dem Sie Azure IoT Einsatz bereitgestellt haben, und entfernen Sie dann die Azure-Ressourcengruppe, in der das Cluster enthalten war.

Wenn Sie Codespaces für diese Schnellstarts verwendet haben, löschen Sie Ihren Codespace aus GitHub.

Nächster Schritt