Freigeben über


Erstellen und Konfigurieren eines AKS Edge Essentials-Clusters, der Azure IoT Operations ausführen kann

Azure Kubernetes Service (AKS) Edge Essentials ist eine der unterstützten Clusterplattformen für Azure IoT Operations. Sie können AKS Edge Essentials verwenden, um einen von Microsoft verwalteten Kubernetes-Cluster zu erstellen und Azure IoT Operations als Workload bereitzustellen. In diesem Artikel werden die Schritte zum Ausführen eines Skripts beschrieben, das einen AKS Edge Essentials Kubernetes-Cluster mit den erforderlichen Konfigurationen für Azure IoT Operations erstellt und diesen Cluster dann mit Azure Arc verbindet.

Hinweis

Azure IoT Operations unterstützt AKS Edge Essentials, wenn sie auf einzelnen Computerclustern bereitgestellt werden. Das Bereitstellen von Clustern auf mehreren Computern ist ein experimentelles Feature.

Voraussetzungen für die Ausführung des Skripts

Zum Ausführen des Skripts benötigen Sie die folgenden Voraussetzungen:

  • Ein Azure-Abonnement mit der Rolle "Besitzer" oder einer Kombination aus Denwirkenden - und Benutzerzugriffsadministratorrollen . Sie können Ihre Zugriffsebene überprüfen, indem Sie zu Ihrem Abonnement navigieren, auf der linken Seite der Azure-Portal die Zugriffssteuerung (ACCESS Control, IAM) auswählen und dann "Meinen Zugriff anzeigen" auswählen. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

  • Azure CLI, Version 2.64.0 oder höher, installiert auf Ihrem Entwicklungscomputer. 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.

  • Installieren Sie die neueste Version der connectedk8s-Erweiterungen für Azure CLI:

    az extension add --upgrade --name connectedk8s 
    
  • Hardwareanforderungen: Stellen Sie sicher, dass Ihr Computer mindestens 16 GB verfügbaren RAM, 4 verfügbare vCPUs und 52 GB freien Speicherplatz für Azure IoT Operations reserviert hat.

Erstellen eines Arc-fähigen Clusters

Das Skript AksEdgeQuickStartForAio.ps1 automatisiert den Prozess der Erstellung und Verbindung eines Clusters und ist der empfohlene Weg für die Bereitstellung von Azure IoT Einsatz auf AKS Edge Essentials. Das Skript führt Folgendes aus:

  • Lädt die neueste MSI-Datei von AKS Edge Essentials aus diesem Repository herunter.
  • Installiert AKS Edge Essentials und stellt einen einzelnen Kubernetes-Cluster auf Ihrem Windows-Computer bereit und erstellt diesen.
  • Stellt eine Verbindung mit dem Azure-Abonnement bereit, erstellt eine Ressourcengruppe, sofern sie noch nicht vorhanden ist, und verbindet den Cluster mit Arc, um einen Arc-fähigen Kubernetes-Cluster zu erstellen.
  • Aktiviert das Feature für benutzerdefinierte Position im Arc-fähigen Kubernetes-Cluster.
  • Aktiviert das Arbeitslastidentitätsverbundfeature im Arc-fähigen Kubernetes-Cluster.
  • Stellt die lokale Pfadbereitstellung bereit.
  • Konfiguriert Firewallregeln auf dem Host-Windows-Computer für den MQTT-Broker.
  • Auf der Linux-VM, die als Kubernetes-Steuerebenenknoten dient:
    • Konfiguriert den Portproxy für den Kubernetes-Dienststandard-IP-Bereich von 10.96.0.0/28.
    • Konfiguriert die IP-Tabellenregeln:
      • sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 9110 -j ACCEPT
      • sudo iptables -A INPUT -p tcp --dport (10124, 8420, 2379, 50051) -j ACCEPT

Führen Sie die folgenden Schritte aus, um das Schnellstartskript auszuführen:

  1. Öffnen Sie ein PowerShell-Fenster mit erhöhten Rechten und wechseln Sie in das Verzeichnis eines Arbeitsordners.

  2. Rufen Sie die objectId der Microsoft Entra ID-Anwendung ab, die der Azure Arc-Dienst in Ihrem Tenant verwendet. Führen Sie den folgenden Befehl genau wie angegeben aus, ohne den GUID-Wert zu ändern.

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    
  3. Führen Sie die folgenden Befehle aus und ersetzen Sie die Platzhalterwerte durch Ihre Informationen:

    $url = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStartForAio.ps1"
    Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStartForAio.ps1
    Unblock-File .\AksEdgeQuickStartForAio.ps1
    Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
    .\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>"  -Location "<LOCATION>"  -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>"
    
    Platzhalter Wert
    SUBSCRIPTION_ID Die ID Ihres Azure-Abonnements. Wenn Sie Ihre Abonnement-ID nicht kennen, lesen Sie So finden Sie Ihr Azure-Abonnement.
    TENANT_ID Die ID Ihres Microsoft Entra-Mandanten Wenn Sie Ihre Mandanten-ID nicht kennen, lesen Sie So finden Sie Ihren Microsoft Entra-Mandanten.
    RESOURCE_GROUP_NAME Der Name einer vorhandenen Ressourcengruppe oder ein Namen für eine neue zu erstellende Ressourcengruppe. Pro Ressourcengruppe wird nur eine Azure IoT Operations-Instanz unterstützt.
    LOCATION Eine Azure-Region in Ihrer Nähe. Eine Liste der von Azure IoT Operations unterstützten Azure-Regionen finden Sie unter "Unterstützte Regionen".
    CLUSTER_NAME Ein Name für den zu erstellenden neuen Cluster.
    ARC_APP_OBJECT_ID Der Objekt-ID-Wert, den Sie in Schritt 2 abgerufen haben.

    Wenn während der Bereitstellung Probleme auftreten, z. B. wenn der Computer im Rahmen dieses Prozesses neu gestartet wird, führen Sie den Satz von Befehlen erneut aus.

  4. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Bereitstellung erfolgreich war:

    Import-Module AksEdge
    Get-AksEdgeDeploymentInfo
    

    In der Ausgabe des Get-AksEdgeDeploymentInfo Befehls sollten Sie sehen, dass der Arc-Status des Clusters verbunden ist.

Überprüfen Ihres Clusters

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Ihr Kubernetes-Cluster Azure Arc-aktiviert ist:

kubectl get deployments,pods -n azure-arc

Die Ausgabe sieht etwa folgendermaßen aus:

NAME                                         READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/clusterconnect-agent         1/1     1            1           10m
deployment.apps/extension-manager            1/1     1            1           10m
deployment.apps/clusteridentityoperator      1/1     1            1           10m
deployment.apps/controller-manager           1/1     1            1           10m
deployment.apps/flux-logs-agent              1/1     1            1           10m
deployment.apps/cluster-metadata-operator    1/1     1            1           10m
deployment.apps/extension-events-collector   1/1     1            1           10m
deployment.apps/config-agent                 1/1     1            1           10m
deployment.apps/kube-aad-proxy               1/1     1            1           10m
deployment.apps/resource-sync-agent          1/1     1            1           10m
deployment.apps/metrics-agent                1/1     1            1           10m

NAME                                              READY   STATUS    RESTARTS        AGE
pod/clusterconnect-agent-5948cdfb4c-vzfst         3/3     Running   0               10m
pod/extension-manager-65b8f7f4cb-tp7pp            3/3     Running   0               10m
pod/clusteridentityoperator-6d64fdb886-p5m25      2/2     Running   0               10m
pod/controller-manager-567c9647db-qkprs           2/2     Running   0               10m
pod/flux-logs-agent-7bf6f4bf8c-mr5df              1/1     Running   0               10m
pod/cluster-metadata-operator-7cc4c554d4-nck9z    2/2     Running   0               10m
pod/extension-events-collector-58dfb78cb5-vxbzq   2/2     Running   0               10m
pod/config-agent-7579f558d9-5jnwq                 2/2     Running   0               10m
pod/kube-aad-proxy-56d9f754d8-9gthm               2/2     Running   0               10m
pod/resource-sync-agent-769bb66b79-z9n46          2/2     Running   0               10m
pod/metrics-agent-6588f97dc-455j8                 2/2     Running   0               10m

Nächste Schritte