Delen via


Azure IoT Operations Preview-extensies implementeren in een Kubernetes-cluster

Belangrijk

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

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.

Azure IoT Operations Preview implementeren in een Kubernetes-cluster met behulp van de Azure CLI. Zodra u Azure IoT Operations hebt geïmplementeerd, kunt u de Azure IoT Orchestrator Preview-service gebruiken om andere workloads in uw cluster te beheren en te implementeren.

Vereisten

Cloudresources:

  • Een Azure-abonnement.

  • Azure-toegangsmachtigingen. U hebt minimaal inzendermachtigingen in uw Azure-abonnement. Afhankelijk van de vlagstatus van de implementatiefunctie die u selecteert, hebt u mogelijk ook Machtigingen voor Microsoft/Authorization/roleAssignments/write nodig voor de resourcegroep die uw Kubernetes-cluster met Arc bevat. U kunt een aangepaste rol maken in op rollen gebaseerd toegangsbeheer van Azure of een ingebouwde rol toewijzen die deze machtiging verleent. Zie ingebouwde Azure-rollen voor Algemeen voor meer informatie.

    Als u geen schrijfmachtigingen voor roltoewijzing hebt, kunt u Nog steeds Azure IoT-bewerkingen implementeren door bepaalde functies uit te schakelen. Deze aanpak wordt in meer detail besproken in de sectie Extensies implementeren van dit artikel.

    • Gebruik in de Azure CLI de opdracht az role assignment create om machtigingen te verlenen. Bijvoorbeeld az role assignment create --assignee sp_name --role "Role Based Access Control Administrator" --scope subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup

    • In Azure Portal wordt u gevraagd om de toegang te beperken met behulp van voorwaarden wanneer u bevoorrechte beheerdersrollen toewijst aan een gebruiker of principal. Voor dit scenario selecteert u de gebruiker toestaan om alle rollenvoorwaarde toe te wijzen op de pagina Roltoewijzing toevoegen.

      Schermopname van het toewijzen van gebruikers met hoge bevoegdheden voor roltoegang in Azure Portal.

  • Een Azure Key Vault waarvoor het machtigingsmodel is ingesteld op toegangsbeleid voor de kluis. U kunt deze instelling controleren in de sectie Access-configuratie van een bestaande sleutelkluis. Als u een nieuwe sleutelkluis wilt maken, gebruikt u de opdracht az keyvault create :

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

Ontwikkelingsresources:

  • Azure CLI is geïnstalleerd op uw ontwikkelcomputer. Zie De Azure CLI installeren voor meer informatie. Voor dit scenario is Azure CLI versie 2.46.0 of hoger vereist. Gebruik az --version deze optie om uw versie te controleren en az upgrade zo nodig bij te werken.

  • De Azure IoT Operations-extensie voor Azure CLI. Gebruik de volgende opdracht om de extensie toe te voegen of bij te werken naar de nieuwste versie:

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

Een clusterhost:

  • Een Kubernetes-cluster met Azure Arc. Als u er nog geen hebt, volgt u de stappen in Uw Kubernetes-cluster met Azure Arc voorbereiden.

    Als u Azure IoT Operations al in uw cluster hebt geïmplementeerd, verwijdert u deze resources voordat u doorgaat. Zie Een implementatie bijwerken voor meer informatie.

    Azure IoT-bewerkingen moeten werken op elk CNCF-conform kubernetes-cluster. Momenteel ondersteunt Microsoft alleen K3's op Ubuntu Linux en WSL of AKS Edge Essentials in Windows. Het gebruik van Ubuntu in Windows-subsysteem voor Linux (WSL) is de eenvoudigste manier om een Kubernetes-cluster te verkrijgen voor testen.

    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
    

Extensies implementeren

Gebruik de Azure CLI om Azure IoT Operations-onderdelen te implementeren in uw Kubernetes-cluster met Arc.

  1. Meld u interactief aan bij Azure CLI met een browser, zelfs als u zich al eerder hebt aangemeld. Als u zich niet interactief aanmeldt, krijgt u mogelijk een foutmelding met de mededeling dat uw apparaat moet worden beheerd voor toegang tot uw resource wanneer u doorgaat met de volgende stap om Azure IoT Operations te implementeren.

    az login
    

    Notitie

    Als u GitHub Codespaces in een browser gebruikt, az login retourneert u een localhost-fout in het browservenster nadat u zich hebt aangemeld. U kunt dit als volgt oplossen:

    • Open de codespace in het VS Code-bureaublad en voer az login deze uit in de terminal. Hiermee opent u een browservenster waarin u zich kunt aanmelden bij Azure.
    • Of nadat u de localhost-fout in de browser hebt weergegeven, kopieert u de URL uit de browser en gebruikt curl <URL> u deze in een nieuw terminaltabblad. U ziet nu een JSON-antwoord met het bericht 'U bent aangemeld bij Microsoft Azure!'.
  2. Azure IoT-bewerkingen implementeren in uw cluster. Gebruik optionele vlaggen om de opdracht az iot ops init aan te passen aan uw scenario.

    Standaard voert de az iot ops init opdracht de volgende acties uit, waarvan sommige vereisen dat de principal die is aangemeld bij de CLI verhoogde machtigingen heeft:

    • Stel een service-principal en app-registratie in om uw cluster toegang te geven tot de sleutelkluis.
    • TLS-certificaten configureren.
    • Configureer een geheimenarchief op uw cluster dat verbinding maakt met de sleutelkluis.
    • Implementeer de Azure IoT Operations-resources.
    az iot ops init --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --kv-id <KEYVAULT_ID>
    

    Als u geen machtigingen voor Microsoft.Authorization/roleAssignment/write in de resourcegroep hebt, voegt u de --disable-rsync-rules functievlag toe. Met deze vlag worden de resourcesynchronisatieregels voor de implementatie uitgeschakeld.

    Als u een bestaande service-principal en app-registratie wilt gebruiken in plaats van init nieuwe te maken, neemt u de --sp-app-id,--sp-object-iden --sp-secret parameters op. Zie Service-principal en Key Vault handmatig configureren voor meer informatie.

  3. Nadat de implementatie is voltooid, kunt u az iot ops check gebruiken om de implementatie van de IoT Operations-service te evalueren op status, configuratie en bruikbaarheid. Met de controleopdracht kunt u problemen vinden in uw implementatie en configuratie.

    az iot ops check
    

    U kunt ook de configuraties van onderwerptoewijzingen, QoS en berichtroutes controleren door de --detail-level 2 parameter voor een uitgebreide weergave toe te voegen.

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. Voer de opdracht opnieuw uit om de get pods weergave te vernieuwen.

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

  1. Navigeer in Azure Portal naar de resourcegroep die uw cluster bevat.

  2. Selecteer in het overzicht van de resourcegroep de naam van uw cluster.

  3. Selecteer extensies in het menu in het cluster.

    U kunt zien dat uw cluster extensies van het type microsoft.iotoperations.x uitvoert. Dit is de groepsnaam voor alle Azure IoT Operations-onderdelen en de orchestration-service.

    Er is ook een extensie genaamd akvsecretsprovider. Deze extensie is de geheimenprovider die u met de az iot ops init opdracht hebt geconfigureerd en geïnstalleerd op uw cluster. U kunt de Onderdelen van Azure IoT Operations tijdens het testen verwijderen en opnieuw installeren, maar de extensie van de geheimenprovider in uw cluster behouden.

Tip

U kunt uitvoeren az iot ops check om de status en configuraties van geïmplementeerde AIO-workloads te evalueren. Standaard worden MQ inclusief cloudconnectors geëvalueerd en kunt u de service instellen met --ops-service --svc.

Een implementatie bijwerken

Er is momenteel geen ondersteuning voor het bijwerken van een bestaande Azure IoT Operations-implementatie. Begin in plaats daarvan met een schoon cluster voor een nieuwe implementatie.

Als u de Implementatie van Azure IoT Operations in uw cluster wilt verwijderen, zodat u deze opnieuw kunt implementeren, gaat u naar uw cluster in Azure Portal. Selecteer de extensies van het type microsoft.iotoperations.x en microsoft.deviceregistry.assets en selecteer Vervolgens Verwijderen. Bewaar de geheimenprovider in uw cluster, omdat dit een vereiste is voor implementatie en niet is opgenomen in een nieuwe implementatie.

Volgende stappen

Als uw onderdelen verbinding moeten maken met Azure-eindpunten zoals SQL of Fabric, leert u hoe u geheimen beheert voor uw Azure IoT Operations Preview-implementatie.