Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart implementeert u Azure IoT-bewerkingen naar een Kubernetes-cluster met Azure Arc ingeschakeld, zodat u uw apparaten en workloads op afstand kunt beheren. Aan het einde van de quickstart hebt u een cluster dat u vanuit de cloud kunt beheren. De rest van de quickstarts in deze end-to-end-reeks bouwen voort op deze reeks om voorbeeldassets, pijplijnen voor gegevensverwerking en visualisaties te definiëren.
Voordat u begint
Deze reeks quickstarts is bedoeld om u te helpen zo snel mogelijk aan de slag te gaan met Azure IoT-bewerkingen, zodat u een end-to-end scenario kunt evalueren. In een echte ontwikkel- of productieomgeving voeren meerdere teams die samenwerken deze taken uit. Voor sommige taken zijn mogelijk verhoogde machtigingen vereist.
Voor de beste nieuwe gebruikerservaring raden we u aan een Azure gratis account te gebruiken, zodat u eigenaarsmachtigingen hebt voor de resources in deze quickstarts.
We gebruiken GitHub Codespaces als een virtuele omgeving voor deze quickstart, zodat u het scenario kunt testen zonder nieuwe hulpprogramma's op uw eigen machines te installeren. Als u echter Azure IoT-bewerkingen wilt implementeren in een lokaal cluster op Ubuntu of Azure Kubernetes Service (AKS), raadpleegt u Prepareer uw kubernetes-cluster met Azure Arc.
Belangrijk
Codespaces zijn eenvoudig in te stellen en later af te breken, maar ze zijn niet geschikt voor productie-, prestatie-evaluatie of schaaltests. Gebruik GitHub Codespaces alleen voor verkenning.
De Codespaces-omgeving is voldoende om de quickstartstappen te voltooien, maar biedt geen ondersteuning voor geavanceerde configuraties, zoals beveiligde instellingen. Zie deze scripts in GitHub voor een productieklare implementatie met beveiligde instellingen.
Vereisten
Voordat u begint, moet u de volgende vereisten voorbereiden:
Een Azure-abonnement. Als u geen Azure abonnement hebt, gratis een abonnement maken voordat u begint.
Een GitHub-account.
Visual Studio Code geïnstalleerd op uw ontwikkelcomputer. Zie Download Visual Studio Code voor meer informatie.
Microsoft.Authorization/roleAssignments/write machtigingen op het niveau van de resourcegroep.
Welk probleem gaan we oplossen?
Azure IoT-bewerkingen is een suite met gegevensservices die worden uitgevoerd op Kubernetes-clusters. U wilt dat deze clusters extern worden beheerd vanuit de cloud en veilig kunnen communiceren met cloudresources en -eindpunten. Deze problemen worden aangepakt met de volgende taken in deze quickstart:
- Maak een Kubernetes-cluster in GitHub Codespaces.
- Verbind het cluster met Azure Arc voor extern beheer.
- Maak een schemaregister.
- Implementeer Azure IoT-bewerkingen in uw cluster.
Cluster maken
In deze sectie maakt u een nieuw cluster. Als u een cluster dat u eerder hebt geïmplementeerd Azure IoT-bewerkingen opnieuw wilt gebruiken, raadpleegt u de stappen in Resources opschonen om Azure IoT-bewerkingen te verwijderen voordat u doorgaat.
De Azure-Samples/explore-iot-operations codespace is vooraf geconfigureerd met:
- K3s uitgevoerd in K3d voor een lichtgewicht Kubernetes-cluster
- Azure CLI
- Kubectl voor het beheren van Kubernetes-resources
- Andere handige hulpprogramma's zoals Helm en k9s
Gebruik de volgende stappen om uw codespace en cluster te maken:
Maak een coderuimte in GitHub Codespaces.
Geef de volgende aanbevolen geheimen op voor uw codespace:
Aanbeveling
De waarden die u als geheimen in deze stap opgeeft, worden opgeslagen in uw GitHub-account om in deze en toekomstige Codespaces te worden gebruikt. Ze worden toegevoegd als omgevingsvariabelen in de codespace-terminal en u kunt deze omgevingsvariabelen gebruiken in de CLI-opdrachten in de volgende sectie.
Daarnaast maakt deze coderuimte een
CLUSTER_NAMEomgevingsvariabele die is ingesteld met de naam van de coderuimte.Selecteer Nieuwe coderuimte maken.
Zodra de codespace gereed is, selecteert u de menuknop linksboven en selecteert u Openen in VS Code Desktop.
Installeer de extensie GitHub Codespaces voor Visual Studio Code en meld u aan bij GitHub.
Selecteer in Visual Studio Code Beeld>Terminal.
Gebruik deze terminal om alle CLI-opdrachten uit te voeren voor het beheren van uw cluster.
Cluster verbinden met Azure Arc
Uw cluster verbinden met Azure Arc:
Meld u in uw codespace-terminal aan bij Azure CLI:
az loginAanbeveling
Als u de GitHub codespace-omgeving gebruikt in een browser in plaats van vs Code desktop, retourneert het uitvoeren van
az logineen localhost-fout. Om de fout op te lossen, kunt u het volgende doen:- Open de codespace in het bureaublad van VS Code en ga terug naar de browserterminal en voer deze opnieuw uit
az login. - Of nadat u de localhost-fout in de browser hebt weergegeven, kopieert u de URL vanuit de browser en voert u
curl "<URL>"uit op een nieuw terminaltabblad. U ziet nu een JSON-antwoord met het bericht 'U bent aangemeld bij Microsoft Azure!'
- Open de codespace in het bureaublad van VS Code en ga terug naar de browserterminal en voer deze opnieuw uit
Nadat u zich hebt aangemeld, geeft Azure CLI al uw abonnementen weer en geeft u uw standaardabonnement aan met een sterretje
*. Als u wilt doorgaan met uw standaardabonnement, selecteert uEnter. Typ anders het nummer van het Azure-abonnement dat u wilt gebruiken.Registreer de vereiste resourceproviders in uw abonnement:
Aanbeveling
Deze stap hoeft slechts één keer per abonnement te worden uitgevoerd. Als u resourceproviders wilt registreren, moet u gemachtigd zijn om de
/register/actionbewerking uit te voeren, die is opgenomen in de rollen Inzender en Eigenaar van het abonnement. Zie Azure resourceproviders en -typen voor meer informatie.az provider register -n "Microsoft.ExtendedLocation" az provider register -n "Microsoft.Kubernetes" az provider register -n "Microsoft.KubernetesConfiguration" az provider register -n "Microsoft.IoTOperations" az provider register -n "Microsoft.DeviceRegistry" az provider register -n "Microsoft.SecretSyncController"Gebruik de opdracht az group create om een resourcegroep te maken in uw Azure-abonnement om alle resources op te slaan:
az group create --location $LOCATION --resource-group $RESOURCE_GROUPGebruik de opdracht az connectedk8s connect om uw Kubernetes-cluster in te schakelen en te beheren als onderdeel van uw Azure resourcegroep:
az connectedk8s connect --name $CLUSTER_NAME --location $LOCATION --resource-group $RESOURCE_GROUPAanbeveling
De waarde van
$CLUSTER_NAMEwordt automatisch ingesteld op de naam van uw codespace. Vervang de omgevingsvariabele als u een andere naam wilt gebruiken.Haal de
objectIdop van de Microsoft Entra ID-toepassing die de Azure Arc-service in uw tenant gebruikt en sla deze op als een omgevingsvariabele. Voer de volgende opdracht precies uit zoals geschreven, zonder de GUID-waarde te wijzigen.export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)Gebruik de opdracht az connectedk8s enable-features om ondersteuning voor aangepaste locaties in uw cluster in te schakelen. Deze opdracht maakt gebruik van de
objectIdvan de Microsoft Entra ID toepassing die de Azure Arc-service gebruikt. Voer deze opdracht uit op de computer waarop u het Kubernetes-cluster hebt geïmplementeerd:az connectedk8s enable-features -n $CLUSTER_NAME -g $RESOURCE_GROUP --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locations
Installeer de nieuwste versie van az iot ops
In deze quickstart wordt de nieuwste versie van Azure IoT-bewerkingen gebruikt. Als u de nieuwste versie wilt installeren, hebt u de nieuwste versie van de Azure IoT-bewerkingen CLI-extensie nodig:
az extension add --upgrade --name azure-iot-ops
Opslagaccount en schemaregister maken
Schemaregister is een gesynchroniseerde opslagplaats waarin berichtdefinities zowel in de cloud als aan de rand worden opgeslagen. Azure IoT-bewerkingen vereist een schemaregister in uw cluster. Schemaregister vereist een Azure-opslagaccount voor de schemagegevens die zijn opgeslagen in de cloud.
Voor het commando om in deze sectie een schemaregister te maken, is de machtiging Microsoft.Authorization/roleAssignments/write vereist op het niveau van de resourcegroep. Deze machtiging wordt gebruikt om het schemaregister een inzenderrol te geven, zodat deze naar het opslagaccount kan schrijven.
Voer de volgende CLI-opdrachten uit in uw Codespaces-terminal.
Stel omgevingsvariabelen in voor de resources die u in deze sectie maakt.
Tijdelijke aanduiding Waarde <STORAGE_ACCOUNT_NAME> Een naam voor uw opslagaccount. Namen van opslagaccounts moeten tussen de 3 en 24 tekens lang zijn en mogen alleen cijfers en kleine letters bevatten. <SCHEMA_REGISTRY_NAME> Een naam voor het schemaregister. Schemaregisternamen kunnen alleen cijfers, kleine letters en afbreekstreepjes bevatten. <SCHEMA_REGISTRY_NAMESPACE> Een naam voor uw schemaregisternaamruimte. De naamruimte identificeert een schemaregister in een tenant op unieke wijze. Namen van schemaregisternaamruimten kunnen alleen cijfers, kleine letters en afbreekstreepjes bevatten. STORAGE_ACCOUNT=<STORAGE_ACCOUNT_NAME> SCHEMA_REGISTRY=<SCHEMA_REGISTRY_NAME> SCHEMA_REGISTRY_NAMESPACE=<SCHEMA_REGISTRY_NAMESPACE>Maak een opslagaccount waarvoor hiërarchische naamruimte is ingeschakeld.
az storage account create --name $STORAGE_ACCOUNT --location $LOCATION --resource-group $RESOURCE_GROUP --enable-hierarchical-namespaceMaak een schemaregister dat verbinding maakt met uw opslagaccount. Met deze opdracht maakt u ook een blobcontainer met de naam schema's in het opslagaccount.
az iot ops schema registry create --name $SCHEMA_REGISTRY --resource-group $RESOURCE_GROUP --registry-namespace $SCHEMA_REGISTRY_NAMESPACE --sa-resource-id $(az storage account show --name $STORAGE_ACCOUNT -o tsv --query id)
Een Azure Device Registry-naamruimte maken
Azure IoT-bewerkingen en Azure Device Registry gebruiken namespaces om assets en apparaten te organiseren. Elk Azure IoT-bewerkingen exemplaar maakt gebruik van één naamruimte voor de assets en apparaten.
Voer de volgende CLI-opdracht uit om een Azure device registry-naamruimte te maken.
az iot ops ns create -n myqsnamespace -g $RESOURCE_GROUP
Azure IoT-bewerkingen implementeren
In deze sectie configureert u uw cluster met de afhankelijkheden voor uw Azure IoT-bewerkingen onderdelen en implementeert u vervolgens Azure IoT-bewerkingen.
Voer de volgende CLI-opdrachten uit in uw Codespaces-terminal.
Initialiseer uw cluster voor Azure IoT-bewerkingen.
Aanbeveling
De
initopdracht hoeft slechts eenmaal per cluster te worden uitgevoerd. Als u een cluster hergebruikt waarop al de meest recente Azure IoT-bewerkingen versie is geïmplementeerd, kunt u deze stap overslaan.az iot ops init --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUPHet uitvoeren van deze opdracht kan enkele minuten in beslag nemen. U kunt de voortgang bekijken in de voortgangsweergave van de implementatie in de terminal.
Implementeer Azure IoT-bewerkingen. Deze opdracht bevat de optionele connector voor OPC UA die u in de volgende quickstarts gebruikt.
az iot ops create --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name ${CLUSTER_NAME}-instance --sr-resource-id $(az iot ops schema registry show --name $SCHEMA_REGISTRY --resource-group $RESOURCE_GROUP -o tsv --query id) --ns-resource-id $(az iot ops ns show --name myqsnamespace --resource-group $RESOURCE_GROUP -o tsv --query id) --broker-frontend-replicas 1 --broker-frontend-workers 1 --broker-backend-part 1 --broker-backend-workers 1 --broker-backend-rf 2 --broker-mem-profile Low --feature opcua.mode=StableHet uitvoeren van deze opdracht kan enkele minuten in beslag nemen. U kunt de voortgang bekijken in de voortgangsweergave van de implementatie in de terminal.
Als u een foutbericht krijgt met de mededeling dat uw apparaat moet worden beheerd voor toegang tot uw resource, voert u deze opnieuw uit
az loginen zorgt u ervoor dat u zich interactief aanmeldt met een browser.
Resources in cluster weergeven
Zodra de implementatie is voltooid, kunt u kubectl-opdrachten gebruiken om wijzigingen in het cluster te observeren of, omdat het cluster is ingeschakeld voor Arc, kunt u de Azure-portal gebruiken.
Voer de volgende opdracht uit om de pods in uw cluster weer te geven:
kubectl get pods -n azure-iot-operations
Gebruik de volgende stappen om uw resources weer te geven in de Azure-portal:
Ga in de Azure portal naar de resourcegroep met uw Azure IoT-bewerkingen exemplaar of zoek en selecteer Azure IoT-bewerkingen.
Kies de naam van uw Azure IoT-bewerkingen-instance.
Selecteer op de pagina Overzicht van uw exemplaar het tabblad Resourceoverzicht om de inrichtingsstatus weer te geven van de resources die zijn geïmplementeerd in uw cluster.
Hoe hebben we het probleem opgelost?
In deze quickstart hebt u uw Kubernetes-cluster met Arc geconfigureerd, zodat het veilig kan communiceren met uw Azure IoT-bewerkingen onderdelen. Vervolgens hebt u deze onderdelen geïmplementeerd in uw cluster. Voor dit testscenario hebt u één Kubernetes-cluster dat wordt uitgevoerd in Codespaces. In een productiescenario kunt u echter dezelfde stappen gebruiken om workloads op veel clusters op veel sites te implementeren.
Resources opschonen
Als u doorgaat met de volgende quickstart, houdt u al uw resources bij.
Als u de Azure IoT-bewerkingen-implementatie wilt verwijderen, maar het cluster wilt behouden, gebruikt u de opdracht az iot ops delete:
az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Als u alle resources wilt verwijderen die u voor deze quickstart hebt gemaakt, verwijdert u het Kubernetes-cluster waarin u Azure IoT-bewerkingen hebt geïmplementeerd en verwijdert u vervolgens de Azure resourcegroep die het cluster bevat.
Als u Codespaces voor deze quickstarts hebt gebruikt, verwijdert u uw Codespace uit GitHub.