Distribuera Azure IoT Operations Preview-tillägg till ett Kubernetes-kluster

Viktigt!

Förhandsversion av Azure IoT Operations – aktiverad av Azure Arc finns för närvarande i FÖRHANDSVERSION. Du bör inte använda den här förhandsgranskningsprogramvaran i produktionsmiljöer.

Juridiska villkor för Azure-funktioner i betaversion, förhandsversion eller som av någon annan anledning inte har gjorts allmänt tillgängliga ännu finns i kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.

Distribuera Förhandsversionen av Azure IoT Operations till ett Kubernetes-kluster med hjälp av Azure CLI. När du har distribuerat Azure IoT Operations kan du använda azure IoT Orchestrator Preview-tjänsten för att hantera och distribuera andra arbetsbelastningar till klustret.

Förutsättningar

Molnresurser:

  • En Azure-prenumeration

  • Åtkomstbehörigheter för Azure. Ha minst deltagarbehörigheter i din Azure-prenumeration. Beroende på vilken status för distributionsfunktionens flagg du väljer kan du också behöva Behörigheter för Microsoft/Authorization/roleAssignments/write för resursgruppen som innehåller ditt Arc-aktiverade Kubernetes-kluster. Du kan skapa en anpassad roll i rollbaserad åtkomstkontroll i Azure eller tilldela en inbyggd roll som ger den här behörigheten. Mer information finns i Inbyggda Azure-roller för Allmänt.

    Om du inte har skrivbehörigheter för rolltilldelning kan du fortfarande distribuera Azure IoT Operations genom att inaktivera vissa funktioner. Den här metoden beskrivs mer detaljerat i avsnittet Distribuera tillägg i den här artikeln.

    • I Azure CLI använder du kommandot az role assignment create för att ge behörigheter. Till exempel: az role assignment create --assignee sp_name --role "Role Based Access Control Administrator" --scope subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup

    • I Azure-portalen uppmanas du att begränsa åtkomsten med hjälp av villkor när du tilldelar privilegierade administratörsroller till en användare eller ett huvudnamn. I det här scenariot väljer du Tillåt att användaren tilldelar alla rollvillkorsidan Lägg till rolltilldelning .

      Skärmbild som visar tilldelning av användare med hög privilegierad rollåtkomst i Azure-portalen.

  • Ett Azure Key Vault som har behörighetsmodelleninställd på Åtkomstprincip för valv. Du kan kontrollera den här inställningen i avsnittet Åtkomstkonfiguration i ett befintligt nyckelvalv. Om du behöver skapa ett nytt nyckelvalv använder du kommandot az keyvault create :

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

Utvecklingsresurser:

  • Azure CLI installerat på utvecklingsdatorn. Mer information finns i Installera Azure CLI. Det här scenariot kräver Azure CLI version 2.46.0 eller senare. Använd az --version för att kontrollera din version och az upgrade uppdatera om det behövs.

  • Azure IoT Operations-tillägget för Azure CLI. Använd följande kommando för att lägga till tillägget eller uppdatera det till den senaste versionen:

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

En klustervärd:

  • Ett Azure Arc-aktiverat Kubernetes-kluster. Om du inte har något följer du stegen i Förbereda ditt Azure Arc-aktiverade Kubernetes-kluster.

    Om du redan har distribuerat Azure IoT Operations till klustret avinstallerar du resurserna innan du fortsätter. Mer information finns i Uppdatera en distribution.

    Azure IoT Operations bör fungera på alla CNCF-överensstämmande kubernetes-kluster. För närvarande har Microsoft endast stöd för K3:or på Ubuntu Linux och WSL eller AKS Edge Essentials i Windows. Att använda Ubuntu i Windows-undersystem för Linux (WSL) är det enklaste sättet att hämta ett Kubernetes-kluster för testning.

    Använd Azure IoT Operations-tillägget för Azure CLI för att kontrollera att klustervärden är korrekt konfigurerad för distribution med hjälp av kommandot verify-host på klustervärden:

    az iot ops verify-host
    

Distribuera tillägg

Använd Azure CLI för att distribuera Azure IoT Operations-komponenter till ditt Arc-aktiverade Kubernetes-kluster.

  1. Logga in på Azure CLI interaktivt med en webbläsare även om du redan har loggat in tidigare. Om du inte loggar in interaktivt kan du få ett felmeddelande om att enheten måste hanteras för att komma åt resursen när du fortsätter till nästa steg för att distribuera Azure IoT-åtgärder.

    az login
    

    Kommentar

    Om du använder GitHub Codespaces i en webbläsare az login returnerar du ett localhost-fel i webbläsarfönstret när du har loggat in. Så här åtgärdar du något av följande:

    • Öppna kodområdet i VS Code-skrivbordet och kör az login sedan i terminalen. Då öppnas ett webbläsarfönster där du kan logga in på Azure.
    • Eller när du har fått localhost-felet i webbläsaren kopierar du URL:en från webbläsaren och använder curl <URL> den på en ny terminalflik. Du bör se ett JSON-svar med meddelandet "Du har loggat in på Microsoft Azure!".
  2. Distribuera Azure IoT Operations till klustret. Använd valfria flaggor för att anpassa kommandot az iot ops init så att det passar ditt scenario.

    Som standard az iot ops init vidtar kommandot följande åtgärder, varav vissa kräver att det huvudnamn som loggas in på CLI har utökade behörigheter:

    • Konfigurera tjänstens huvudnamn och appregistrering för att ge klustret åtkomst till nyckelvalvet.
    • Konfigurera TLS-certifikat.
    • Konfigurera ett hemlighetslager i klustret som ansluter till nyckelvalvet.
    • Distribuera Azure IoT Operations-resurserna.
    az iot ops init --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --kv-id <KEYVAULT_ID>
    

    Om du inte har behörigheten Microsoft.Authorization/roleAssignment/write i resursgruppen lägger du till funktionsflaggan --disable-rsync-rules . Den här flaggan inaktiverar reglerna för resurssynkronisering i distributionen.

    Om du vill använda ett befintligt huvudnamn för tjänsten och appregistrering i stället för att tillåta init att nya skapas, inkluderar du parametrarna --sp-app-id,--sp-object-idoch --sp-secret . Mer information finns i Konfigurera tjänstens huvudnamn och Key Vault manuellt.

  3. När distributionen är klar kan du använda az iot ops check för att utvärdera IoT Operations-tjänstdistributionen för hälsa, konfiguration och användbarhet. Kommandot check kan hjälpa dig att hitta problem i distributionen och konfigurationen.

    az iot ops check
    

    Du kan också kontrollera konfigurationerna för ämneskartor, QoS och meddelandevägar genom att lägga till parametern --detail-level 2 för en utförlig vy.

Konfigurera klusternätverk (AKS EE)

I AKS Edge Essentials-kluster aktiverar du inkommande anslutningar till Azure IoT MQ Preview Broker och konfigurerar portvidarebefordring:

  1. Aktivera en brandväggsregel för port 8883:

    New-NetFirewallRule -DisplayName "Azure IoT MQ" -Direction Inbound -Protocol TCP -LocalPort 8883 -Action Allow
    
  2. Kör följande kommando och anteckna IP-adressen för tjänsten med namnet aio-mq-dmqtt-frontend:

    kubectl get svc aio-mq-dmqtt-frontend -n azure-iot-operations -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
    
  3. Aktivera portvidarebefordring för port 8883. Ersätt <aio-mq-dmqtt-frontend IP address> med DEN IP-adress som du antecknade i föregående steg:

    netsh interface portproxy add v4tov4 listenport=8883 listenaddress=0.0.0.0 connectport=8883 connectaddress=<aio-mq-dmqtt-frontend IP address>
    

Visa resurser i klustret

Medan distributionen pågår kan du titta på de resurser som tillämpas på klustret. Du kan använda kubectl-kommandon för att observera ändringar i klustret eller, eftersom klustret är Arc-aktiverat, kan du använda Azure-portalen.

Om du vill visa poddarna i klustret kör du följande kommando:

kubectl get pods -n azure-iot-operations

Det kan ta flera minuter innan distributionen har slutförts. Kör kommandot igen get pods för att uppdatera vyn.

Om du vill visa klustret på Azure-portalen använder du följande steg:

  1. Gå till den resursgrupp som innehåller klustret i Azure-portalen.

  2. I Översikt över resursgruppen väljer du namnet på klustret.

  3. I klustret väljer du Tillägg på menyn.

    Du kan se att klustret kör tillägg av typen microsoft.iotoperations.x, som är gruppnamnet för alla Azure IoT Operations-komponenter och orkestreringstjänsten.

    Det finns också ett tillägg som kallas akvsecretsprovider. Det här tillägget är den hemlighetsprovider som du har konfigurerat och installerat i klustret med az iot ops init kommandot . Du kan ta bort och installera om Azure IoT Operations-komponenterna under testningen, men behålla tillägget för hemlighetsprovidern i klustret.

Dricks

Du kan köra az iot ops check för att utvärdera hälsotillstånd och konfigurationer för distribuerade AIO-arbetsbelastningar. Som standard utvärderas MQ inklusive molnanslutningar och du kan ange tjänsten med --ops-service --svc.

Uppdatera en distribution

För närvarande finns det inget stöd för att uppdatera en befintlig Azure IoT Operations-distribution. Börja i stället med ett rent kluster för en ny distribution.

Om du vill ta bort Azure IoT Operations-distributionen i klustret så att du kan distribuera om till det går du till klustret på Azure-portalen. Välj tilläggen av typen microsoft.iotoperations.x och microsoft.deviceregistry.assets och välj sedan Avinstallera. Behåll hemlighetsprovidern i klustret eftersom det är en förutsättning för distribution och inte ingår i en ny distribution.

Nästa steg

Om dina komponenter behöver ansluta till Azure-slutpunkter som SQL eller Fabric kan du lära dig hur du hanterar hemligheter för distributionen av Azure IoT Operations Preview.