Delen via


Quickstart: Azure IoT Operations Preview uitvoeren in GitHub Codespaces met K3s

Belangrijk

Azure IoT Operations Preview: ingeschakeld door Azure Arc is momenteel in preview. Gebruik deze preview-software niet in productieomgevingen.

U moet een nieuwe Azure IoT Operations-installatie implementeren wanneer er een algemeen beschikbare release beschikbaar wordt gesteld. U kunt geen preview-installatie upgraden.

Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.

In deze quickstart implementeert u een reeks IoT-services in een Kubernetes-cluster met Azure Arc, zodat u uw apparaten en workloads op afstand kunt beheren. Azure IoT Operations is een digitale suite met services. In deze quickstart wordt u begeleid bij het gebruik van Orchestrator om deze services te implementeren in een Kubernetes-cluster. Aan het einde van de quickstart hebt u een cluster dat u kunt beheren vanuit de cloud waarmee voorbeeldgegevens worden gegenereerd voor gebruik in de volgende quickstarts.

De services die in deze quickstart zijn geïmplementeerd, zijn onder andere:

De volgende quickstarts in deze reeks zijn gebaseerd op deze reeks om voorbeeldassets, pijplijnen voor gegevensverwerking en visualisaties te definiëren. Als u Azure IoT Operations wilt implementeren in een cluster zoals AKS Edge Essentials om uw eigen workloads uit te voeren, raadpleegt u Uw Kubernetes-cluster met Azure Arc voorbereiden en Azure IoT Operations Preview implementeren in een Kubernetes-cluster met Arc.

Voordat u begint

Deze reeks quickstarts is bedoeld om u zo snel mogelijk te helpen aan de slag te gaan met Azure IoT Operations, zodat u een end-to-end scenario kunt evalueren. In een echte ontwikkel- of productieomgeving worden deze taken uitgevoerd door meerdere teams die samenwerken en sommige taken kunnen verhoogde machtigingen vereisen.

Voor de beste nieuwe gebruikerservaring raden we u aan een gratis Azure-account te gebruiken, zodat u eigenaarsmachtigingen hebt voor de resources in deze quickstarts. We bieden ook stappen voor het gebruik van GitHub Codespaces als een virtuele omgeving waarin u snel resources kunt implementeren en opdrachten kunt uitvoeren zonder nieuwe hulpprogramma's op uw eigen machines te installeren.

Vereisten

Voor deze quickstart maakt u een Kubernetes-cluster om de Azure IoT Operations-implementatie te ontvangen.

Als u deze quickstart opnieuw wilt uitvoeren met een cluster waarop Azure IoT Operations al is geïmplementeerd, raadpleegt u de stappen in Resources opschonen om Azure IoT Operations te verwijderen voordat u doorgaat.

Voordat u begint, moet u de volgende vereisten voorbereiden:

Welk probleem gaan we oplossen?

Azure IoT Operations 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:

  1. Maak een Kubernetes-cluster en verbind het met Azure Arc voor extern beheer.
  2. Maak een Azure Key Vault om geheimen voor uw cluster te beheren.
  3. Configureer uw cluster met een geheimenarchief en service-principal om te communiceren met cloudresources.
  4. Azure IoT-bewerkingen implementeren in uw cluster.

Een Kubernetes-cluster verbinden met Azure Arc

Azure IoT Operations moet werken op elk Kubernetes-cluster dat voldoet aan de CNCF-standaarden (Cloud Native Computing Foundation). Voor snelheid en gemak gebruikt deze quickstart GitHub Codespaces om uw cluster te hosten.

Belangrijk

Codespaces zijn eenvoudig in te stellen en later te scheuren, maar ze zijn niet geschikt voor prestatie-evaluatie of schaaltests. Gebruik Alleen GitHub Codespaces voor verkenning. Zie Uw Kubernetes-cluster met Azure Arc voorbereiden voor informatie over het implementeren van Azure IoT-bewerkingen in een productiecluster zoals AKS Edge Essentials.

In deze sectie maakt u een nieuw cluster en verbindt u het met Azure Arc. Als u een cluster waarnaar u Azure IoT Operations eerder hebt geïmplementeerd opnieuw wilt gebruiken, raadpleegt u de stappen in Resources opschonen om Azure IoT Operations te verwijderen voordat u doorgaat.

Gebruik GitHub Codespaces om Azure IoT Operations uit te proberen op een Kubernetes-cluster zonder iets op uw lokale computer te installeren. De Codespace Azure-Samples/explore-iot-operations is vooraf geconfigureerd met:

  • K3's die worden 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:

  1. Maak een codespace in GitHub Codespaces.

    Een explore-iot-operations-codespace maken

  2. Geef de volgende aanbevolen geheimen op voor uw codespace:

    Parameter Weergegeven als
    SUBSCRIPTION_ID Uw Azure-abonnements-id.
    RESOURCE_GROUP Een naam voor een nieuwe Azure-resourcegroep waarin uw cluster wordt gemaakt.
    LOCATIE Een Azure-regio dicht bij u in de buurt. Zie Ondersteunde regio's voor de lijst met momenteel ondersteunde regio's.

    Tip

    De waarden die u als geheimen in deze stap opgeeft, worden opgeslagen in uw GitHub-account om in deze en toekomstige coderuimten te worden gebruikt. Ze worden ook automatisch toegevoegd als omgevingsvariabelen in de codespace-terminal en u kunt deze omgevingsvariabelen gebruiken in de CLI-opdrachten in de volgende sectie.

    Daarnaast maakt deze codespace automatisch een CLUSTER_NAME omgevingsvariabele die is ingesteld met de naam van de coderuimte.

  3. Selecteer Nieuwe coderuimte maken.

  4. Zodra de codespace gereed is, selecteert u de menuknop linksboven en selecteert u Openen in VS Code Desktop.

    VS Code-bureaublad openen

  5. Als u hierom wordt gevraagd, installeert u de GitHub Codespaces-extensie voor Visual Studio Code en meldt u zich aan bij GitHub.

  6. Selecteer Terminal weergeven> in Visual Studio Code.

    Gebruik deze terminal om alle opdrachtregel- en CLI-opdrachten uit te voeren voor het beheren van uw cluster.

Uw cluster verbinden met Azure Arc:

  1. Meld u in uw codespace-terminal aan bij Azure CLI:

    az login
    

    Tip

    Als u de GitHub-coderuimteomgeving in een browser gebruikt in plaats van vs Code desktop, retourneert de uitvoering az login een localhost-fout. U kunt de fout als volgt oplossen:

    • 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 deze uit curl "<URL>" op een nieuw terminaltabblad. U ziet nu een JSON-antwoord met het bericht 'U bent aangemeld bij Microsoft Azure!'.
  2. Stel de context van het Azure-abonnement in voor alle opdrachten:

    az account set -s $SUBSCRIPTION_ID
    
  3. Registreer de vereiste resourceproviders in uw abonnement:

    Notitie

    Deze stap hoeft slechts één keer per abonnement te worden uitgevoerd. Als u resourceproviders wilt registreren, moet u gemachtigd zijn om de /register/action bewerking 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.IoTOperationsOrchestrator"
    az provider register -n "Microsoft.IoTOperations"
    az provider register -n "Microsoft.DeviceRegistry"
    
  4. Gebruik de opdracht az group create om een resourcegroep in uw Azure-abonnement te maken om alle resources op te slaan:

    az group create --location $LOCATION --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
    
  5. Gebruik de opdracht az connectedk8s connect to Arc-enable your Kubernetes cluster and manage it as part of your Azure resource group:

    az connectedk8s connect -n $CLUSTER_NAME -l $LOCATION -g $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
    

    Tip

    De waarde van $CLUSTER_NAME wordt automatisch ingesteld op de naam van uw codespace. Vervang de omgevingsvariabele als u een andere naam wilt gebruiken.

  6. Haal de objectId Microsoft Entra ID-toepassing op die de Azure Arc-service gebruikt en sla deze op als een omgevingsvariabele.

    export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)
    
  7. Gebruik de opdracht az connectedk8s enable-features om ondersteuning voor aangepaste locaties in uw cluster in te schakelen. Deze opdracht maakt gebruik van de objectId Microsoft Entra ID-toepassing die door de Azure Arc-service wordt gebruikt.

    az connectedk8s enable-features -n $CLUSTER_NAME -g $RESOURCE_GROUP --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locations
    

Cluster controleren

Gebruik de Azure IoT Operations-extensie voor Azure CLI om te controleren of uw clusterhost correct is geconfigureerd voor implementatie met behulp van de opdracht verify-host op de clusterhost:

az iot ops verify-host

Met deze helperopdracht wordt de connectiviteit met Azure Resource Manager- en Microsoft Container Registry-eindpunten gecontroleerd.

Azure IoT Operations Preview implementeren

In deze sectie gebruikt u de opdracht az iot ops init om uw cluster te configureren, zodat het veilig kan communiceren met uw Azure IoT Operations-onderdelen en -sleutelkluis en vervolgens Azure IoT Operations implementeert.

Voer de volgende CLI-opdrachten uit in uw Codespaces-terminal.

  1. Een sleutelkluis maken. Gebruik voor dit scenario dezelfde naam en resourcegroep als uw cluster. Keyvault-namen hebben een maximale lengte van 24 tekens, dus de volgende opdracht kapt de CLUSTER_NAMEomgevingsvariabele indien nodig af.

    az keyvault create --enable-rbac-authorization false --name ${CLUSTER_NAME:0:24} --resource-group $RESOURCE_GROUP
    

    Tip

    U kunt een bestaande sleutelkluis voor uw geheimen gebruiken, maar controleer of het machtigingsmodel is ingesteld op kluistoegangsbeleid. U kunt deze instelling controleren in Azure Portal in de sectie Toegangsconfiguratie van een bestaande sleutelkluis. Of gebruik de opdracht az keyvault show om te controleren of dit enableRbacAuthorization onwaar is.

  2. Azure IoT-bewerkingen implementeren. Het voltooien van deze opdracht duurt enkele minuten:

    az iot ops init --simulate-plc --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --kv-id $(az keyvault show --name ${CLUSTER_NAME:0:24} -o tsv --query id)
    

    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 login en zorgt u ervoor dat u zich interactief aanmeldt met een browser.

    Tip

    Als u eerder hebt uitgevoerd, is er automatisch een app-registratie in Microsoft Entra ID voor u gemaakt az iot ops init . U kunt die registratie opnieuw gebruiken in plaats van telkens een nieuwe te maken. Als u een bestaande app-registratie wilt gebruiken, voegt u de optionele parameter --sp-app-id <APPLICATION_CLIENT_ID>toe.

Resources in uw cluster weergeven

Terwijl de implementatie wordt uitgevoerd, kunt u de resources bekijken die op uw cluster worden toegepast. U kunt kubectl-opdrachten gebruiken om wijzigingen in het cluster te bekijken of, omdat het cluster is ingeschakeld voor Arc, kunt u Azure Portal gebruiken.

Voer de volgende opdracht uit om de pods in uw cluster weer te geven:

kubectl get pods -n azure-iot-operations

Het kan enkele minuten duren voordat de implementatie is voltooid. Ga door met het uitvoeren van de opdracht om de get pods weergave te vernieuwen.

Gebruik de volgende stappen om uw resources weer te geven in Azure Portal:

  1. Ga in Azure Portal naar de resourcegroep die uw Azure IoT Operations-exemplaar bevat of zoek en selecteer Azure IoT Operations.

  2. Selecteer de naam van uw Azure IoT Operations-exemplaar.

  3. Op de pagina Overzicht van uw exemplaar worden in de tabel Arc-extensies de resources weergegeven die zijn geïmplementeerd in uw cluster.

    Schermopname van het Azure IoT Operations-exemplaar in uw Cluster met Arc.

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 Operations-onderdelen. Vervolgens hebt u deze onderdelen geïmplementeerd in uw cluster. Voor dit testscenario hebt u één Kubernetes-cluster dat waarschijnlijk lokaal op uw computer wordt uitgevoerd. 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 Implementatie van Azure IoT Operations wilt verwijderen maar uw 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 Operations hebt geïmplementeerd en verwijdert u de Azure-resourcegroep die het cluster bevat.

Volgende stap