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 rollvillkor på sidan Lägg till rolltilldelning .
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 ochaz 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.
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!".
- Öppna kodområdet i VS Code-skrivbordet och kör
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-id
och--sp-secret
. Mer information finns i Konfigurera tjänstens huvudnamn och Key Vault manuellt.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:
Aktivera en brandväggsregel för port 8883:
New-NetFirewallRule -DisplayName "Azure IoT MQ" -Direction Inbound -Protocol TCP -LocalPort 8883 -Action Allow
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}'
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:
Gå till den resursgrupp som innehåller klustret i Azure-portalen.
I Översikt över resursgruppen väljer du namnet på klustret.
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.