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 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:

    $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
    
  4. [Optional] Azure Arc Gateway (Vorschau) ermöglicht Ihnen das Onboarding von Infrastrukturen auf Azure Arc mit nur 7 Endpunkten. So verwenden Sie Azure Arc Gateway mit Azure IoT Operations auf AKS Edge Essentials:

  5. Führen Sie den folgenden Befehl aus, und ersetzen Sie die Platzhalterwerte durch Ihre Informationen:

    .\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.

    Es gibt weitere optionale Flags, die Sie einschließen können, wenn Sie AksEdgeQuickStartForAio.ps1ausführen. Die optionalen Kennzeichen sind wie folgt:

    Optionale Kennzeichnungen Wert
    enableWorkloadIdentity (Vorschau) Standardmäßig aktiviert. Sie können die Option zwar vor der Bereitstellung des Clusters deaktivieren, aber nach der Erstellung des Clusters nicht mehr aktivieren. Mit dem Workload-Identitätsverbund können Sie eine vom Benutzer zugewiesene verwaltete Identität oder App-Registrierung in Microsoft Entra ID so konfigurieren, dass Token von externen Identitätsanbietern (IdPs) wie z. B. Kubernetes vertraut wird. Um den Workload Identitätsverbund zu konfigurieren, siehe diesen Artikel.
    proxy-https Geben Sie den Proxywert an: https://<proxy-server-ip-address>:<port>.
    proxy-http Geben Sie den Proxywert an: http://<proxy-server-ip-address>:<port>.
    proxy-skip-range Geben Sie den Proxy-Skip-Bereich an: <excludedIP>,<excludedCIDR>. Wenn http(s)_proxy angegeben wird, sollte no_proxy ebenfalls auf localhost,127.0.0.0/8,192.168.0.0/16,172.17.0.0/16,10.42.0.0/16,10.43.0.0/16,10.96.0.0/12,10.244.0.0/16,.svc,169.254.169.254 aktualisiert werden.

    Sie können diese Flags wie im folgenden Beispiel gezeigt hinzufügen:

    .\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>"  -Location "<LOCATION>"  -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>" --enableWorkloadIdentity:false
    

    Wichtig

    Vorschaufunktionen sind via Selbstbedienung mit Aktivierungsprinzip verfügbar. Vorschauversionen werden „wie besehen“ und „wie verfügbar“ bereitgestellt und sind von Service Level Agreements und der Herstellergarantie ausgeschlossen. AKS Edge Essentials Vorschauen werden teilweise von der Kundenunterstützung auf einer Best-Effort-Basis abgedeckt.

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

    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