Schnellstart: Bereitstellen von Azure IoT Einsatz (Preview) in einem Arc-aktivierten Kubernetes-Cluster
Wichtig
Die von Azure Arc aktivierte Azure IoT Operations Preview befindet sich derzeit in der VORSCHAU. Sie sollten diese Vorschausoftware nicht in Produktionsumgebungen verwenden.
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 Suite für den digitalen Betrieb von Diensten, die Azure IoT Orchestrator Preview enthält. 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.
Im Rahmen dieser Schnellstartanleitung werden folgende Dienste bereitgestellt:
- Azure IoT Orchestrator (Preview)
- Azure IoT MQ (Preview)
- Azure IoT OPC UA Broker (Preview) mit simulierter Thermostatressource, um mit dem Generieren von Daten zu beginnen
- Azure IoT Akri (Preview)
- Azure-Geräteregistrierung (Preview)
- Mehrschichtige Azure IoT-Netzwerkverwaltung (Preview)
- Einblick
Die folgenden Schnellstarts in dieser Reihe bauen für die Definition von Beispielressourcen, Datenverarbeitungspipelines und Visualisierungen auf diesem auf. Wenn Sie Azure IoT Einsatz zur Ausführung Ihrer eigenen Workloads in einem Cluster wie AKS Edge Essentials bereitstellen möchten, lesen Sie Vorbereiten Ihres Azure Arc-fähigen Kubernetes-Clusters und Bereitstellen von Azure IoT Einsatz-Erweiterungen (Vorschau) in einem Kubernetes-Cluster.
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 würden diese Aufgaben von mehreren Teams ausgeführt, die zusammenarbeiten, 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 diese Schnellstartanleitung mit einem Cluster wiederholen möchten, d 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.
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:
- Erstellen eines Kubernetes-Clusters und Herstellen einer Verbindung mit Azure Arc für die Remoteverwaltung
- Erstellen einer Azure Key Vault-Instanz, um Geheimnisse für Ihren Cluster zu verwalten
- Konfigurieren Ihres Clusters mit einem Geheimnisspeicher mit einem Dienstprinzipal für die Kommunikation mit Cloudressourcen
- Bereitstellen von Azure IoT Einsatz in Ihrem Cluster
Herstellen einer Verbindung von einem Kubernetes-Cluster mit Azure Arc
Azure IoT Einsatz sollte auf jedem Kubernetes-Cluster funktionieren, der den Standards der Cloud Native Computing Foundation (CNCF) entspricht. Aus Gründen der Geschwindigkeit und Einfachheit wird in diesem Schnellstart GitHub-Codespaces zum Hosten Ihres Clusters verwendet.
Wichtig
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. Weitere Informationen zum Bereitstellen von Azure IoT Einsatz in einem Produktionscluster wie AKS Edge Essentials 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 zuvor 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:
- K3s in K3d für einen einfachen Kubernetes-Cluster
- Azure-Befehlszeilenschnittstelle
- Kubectl für die Verwaltung von Kubernetes-Ressourcen
- Weitere praktische Tools wie Helm und k9s
Führen Sie die folgenden Schritte aus, um Codespace und Cluster zu erstellen:
Erstellen Sie einen Codespace in GitHub Codespaces.
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 folgenden Regionen werden in der öffentlichen Vorschau unterstützt: eastus, eastus2, westus, westus2, westus3, westeurope, oder northeurope. 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 auch automatisch 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 automatisch eine Umgebungsvariable
CLUSTER_NAME
, die mit dem Codespacenamen festgelegt wird.Wählen Sie Neuen Codespace erstellen.
Wenn der Codespace bereit ist, können Sie links oben die Menüschaltfläche und anschließend In VS Code-Desktop öffnen auswählen.
Wenn Sie dazu aufgefordert werden, installieren Sie die GitHub Codespaces-Erweiterung für Visual Studio Code, und melden Sie sich bei GitHub an.
Wählen Sie in Visual Studio Code die Option Ansicht>Terminal aus.
Verwenden Sie dieses Terminal, um alle Befehlszeilen- und CLI-Befehle zum Verwalten Ihres Clusters auszuführen.
So verbinden Sie Ihren Cluster mit Azure Arc
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.
- Öffnen Sie den Codespace in VS Code Desktop, kehren Sie dann zum Browserterminal zurück, und führen Sie
Legen Sie den Azure-Abonnementkontext für alle Befehle fest:
az account set -s $SUBSCRIPTION_ID
Registrieren Sie die erforderlichen Ressourcenanbieter in Ihrem Abonnement:
Hinweis
Dieser Schritt muss nur einmal pro Abonnement durchgeführt werden.
az provider register -n "Microsoft.ExtendedLocation" az provider register -n "Microsoft.Kubernetes" az provider register -n "Microsoft.KubernetesConfiguration" az provider register -n "Microsoft.IoTOperationsOrchestrator" az provider register -n "Microsoft.IoTOperationsMQ" az provider register -n "Microsoft.IoTOperationsDataProcessor" az provider register -n "Microsoft.DeviceRegistry"
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 --subscription $SUBSCRIPTION_ID
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 -n $CLUSTER_NAME -l $LOCATION -g $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
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.Rufen Sie die
objectId
der Microsoft Entra-ID-Anwendung ab, die der Azure Arc-Dienst verwendet, und speichern Sie sie als Umgebungsvariable.export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)
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
Überprüfen des Clusters
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
Dieser Hilfsbefehl überprüft die Konnektivität mit Azure Resource Manager- und Microsoft Container-Registrierungsendpunkten.
Bereitstellen der Azure IoT Einsatz-Vorschau
In diesem Abschnitt verwenden Sie den Befehl az iot ops init, um Ihren Cluster so zu konfigurieren, dass er sicher mit Ihren Azure IoT Operations-Komponenten und dem Schlüsseltresor kommunizieren und dann Azure IoT Operations bereitstellen kann.
Führen Sie die folgenden CLI-Befehle in Ihrem Codespaces-Terminal aus.
Erstellen Sie einen Schlüsseltresor. In diesem Szenario verwenden wir denselben Namen und dieselbe Ressourcengruppe wie Ihr Cluster. Keyvault-Namen haben maximal 24 Zeichen, sodass der folgende Befehl die Umgebungsvariable
CLUSTER_NAME
bei Bedarf abschneidet.az keyvault create --enable-rbac-authorization false --name ${CLUSTER_NAME:0:24} --resource-group $RESOURCE_GROUP
Tipp
Sie können einen vorhandenen Schlüsseltresor für Ihre geheimen Schlüssel verwenden. Vergewissern Sie sich jedoch, dass das Berechtigungsmodell auf Tresorzugriffsrichtlinie festgelegt ist. Sie können diese Einstellung im Azure-Portal im Bereich Zugriffskonfiguration eines vorhandenen Schlüsseltresors überprüfen. Oder verwenden Sie den Befehl az keyvault show, um zu überprüfen, ob
enableRbacAuthorization
„false“ ist.Stellen Sie Azure IoT Einsatz bereit. Die Ausführung dieses Befehls dauert mehrere Minuten:
az iot ops init --simulate-plc --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --kv-id $(az keyvault show --name ${CLUSTER_NAME:0:24} -o tsv --query id)
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.Tipp
Wenn Sie zuvor
az iot ops init
ausgeführt haben, wurde automatisch eine App-Registrierung in der Microsoft Entra-ID für Sie erstellt. Sie können diese Registrierung wiederverwenden, anstatt jedes Mal eine neue Registrierung zu erstellen. Um eine vorhandene App-Registrierung zu verwenden, fügen Sie den optionalen Parameter--sp-app-id <APPLICATION_CLIENT_ID>
hinzu.
Anzeigen von Ressourcen in Ihrem Cluster
Während die Bereitstellung läuft, können Sie beobachten, wie die Ressourcen auf Ihren Cluster angewendet werden. Sie können 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
Es kann einige Minuten dauern, bis die Bereitstellung abgeschlossen ist. Führen Sie den Befehl get pods
weiter aus, um Ihre Ansicht zu aktualisieren.
Führen Sie die folgenden Schritte aus, um Ihren Cluster im Azure-Portal anzuzeigen:
Navigieren Sie im Azure-Portal zu der Ressourcengruppe mit Ihrem Cluster.
Wählen Sie in der Übersicht der Ressourcengruppe den Namen des Clusters aus.
Wählen Sie in Ihrem Cluster Erweiterungen im Abschnitt Einstellungen des Menüs aus.
Sie sehen, dass in Ihrem Cluster Erweiterungen vom Typ microsoft.iotoperations.x ausgeführt werden. Dies ist der Gruppenname für alle Komponenten von Azure IoT Einsatz und für den Orchestrierungsdienst. Diese Erweiterungen haben ein eindeutiges Suffix, das Ihre Bereitstellung identifiziert. Im vorherigen Screenshot lautet dieses Suffix -tg45l.
Es gibt auch eine Erweiterung mit dem Namen akvsecretsprovider. Diese Erweiterung ist der Geheimnisanbieter, den Sie mit dem Befehl
az iot ops init
in Ihrem Cluster konfiguriert und installiert haben. Sie können die Komponenten von Azure IoT Einsatz während der Testphase löschen und neu installieren. Behalten Sie aber die Erweiterung für den Geheimnisanbieter in Ihrem Cluster bei.Notieren Sie sich den vollständigen Namen der Erweiterung mq-.... Sie verwenden diesen Namen in den folgenden Schnellstarts.
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 löschen, 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 die Azure-Ressourcengruppe, in der das Cluster enthalten war.
Nächster Schritt
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für