Azure IoT-bewerkingen implementeren in een Kubernetes-cluster met Arc
Leer hoe u Azure IoT-bewerkingen implementeert in een Kubernetes-cluster met behulp van Azure Portal.
In dit artikel bespreken we Implementaties en exemplaren van Azure IoT Operations. Dit zijn twee verschillende concepten:
Een Azure IoT Operations-implementatie beschrijft alle onderdelen en resources die het Azure IoT Operations-scenario mogelijk maken. Deze onderdelen en resources omvatten:
- Een Azure IoT Operations-exemplaar
- Arc-extensies
- Aangepaste locaties
- Resources die u kunt configureren in uw Azure IoT Operations-oplossing, zoals assets en asseteindpunten.
Een Azure IoT Operations-exemplaar is de bovenliggende resource die de suite met services bundelt die zijn gedefinieerd in Wat is Azure IoT Operations? zoals MQTT-broker, gegevensstromen en connector voor OPC UA.
Wanneer we het hebben over het implementeren van Azure IoT-bewerkingen, bedoelen we de volledige set onderdelen waaruit een implementatie bestaat. Zodra de implementatie bestaat, kunt u het exemplaar bekijken, beheren en bijwerken.
Vereisten
Cloudresources:
Een Azure-abonnement.
Azure-toegangsmachtigingen. Zie Implementatiedetails > vereiste machtigingen voor meer informatie.
Ontwikkelingsresources:
Azure CLI is geïnstalleerd op uw ontwikkelcomputer. Voor dit scenario is Azure CLI versie 2.64.0 of hoger vereist. Gebruik
az --version
deze optie om uw versie te controleren enaz upgrade
zo nodig bij te werken. Zie De Azure CLI installeren voor meer informatie.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 waarvoor de aangepaste locatie- en workloadidentiteitsfuncties zijn ingeschakeld. Als u er nog geen hebt, volgt u de stappen in Uw Kubernetes-cluster met Azure Arc voorbereiden.
Als u Azure IoT Operations eerder in uw cluster hebt geïmplementeerd, verwijdert u deze resources voordat u doorgaat. Zie Azure IoT-bewerkingen bijwerken voor meer informatie.
(Optioneel) Bereid uw cluster voor op waarneembaarheid voordat u Azure IoT-bewerkingen implementeert: waarneembaarheid configureren.
(Optioneel) Configureer uw eigen certificeringsinstantieverlener voordat u Azure IoT-bewerkingen implementeert: Bring Your Own Issuer.
Implementeren
De implementatie-ervaring van Azure Portal is een helperprogramma waarmee een implementatieopdracht wordt gegenereerd op basis van uw resources en configuratie. De laatste stap is het uitvoeren van een Azure CLI-opdracht, dus u hebt nog steeds de Azure CLI-vereisten nodig die in de vorige sectie zijn beschreven.
Zoek en selecteer Azure IoT Operations in Azure Portal.
Selecteer Maken.
Geef op het tabblad Basisbeginselen u de volgende gegevens op:
Parameter Weergegeven als Abonnement Selecteer het abonnement dat uw cluster met Arc bevat. Resourcegroep Selecteer de resourcegroep die uw cluster met Arc bevat. Clusternaam Selecteer het cluster waarnaar u Azure IoT-bewerkingen wilt implementeren. Naam van aangepaste locatie Optioneel: vervang de standaardnaam voor de aangepaste locatie. Selecteer Volgende: Configuratie.
Geef op het tabblad Configuratie de volgende informatie op:
Parameter Weergegeven als Naam van Azure IoT-bewerkingen Optioneel: vervang de standaardnaam voor het Azure IoT Operations-exemplaar. MQTT-brokerconfiguratie Optioneel: bewerk de standaardinstellingen voor de MQTT-broker. In Azure Portal is het mogelijk om kardinaliteit en geheugenprofielinstellingen te configureren. Zie Azure CLI-ondersteuning voor geavanceerde MQTT-brokerconfiguratie voor geavanceerde MQTT-brokerconfiguratie om andere instellingen te configureren, waaronder een buffer met schijfondersteuning en geavanceerde MQTT-clientopties. Configuratie van gegevensstroomprofiel Optioneel: bewerk de standaardinstellingen voor gegevensstromen. Zie Profiel voor gegevensstromen configureren voor meer informatie. Selecteer Volgende: Afhankelijkheidsbeheer.
Selecteer op het tabblad Afhankelijkheidsbeheer een bestaand schemaregister of gebruik deze stappen om er een te maken:
Selecteer Nieuw maken.
Geef een schemaregisternaam en schemaregisternaamruimte op.
Selecteer Azure Storage-container selecteren.
Kies een opslagaccount in de lijst met hiërarchische accounts met naamruimte of selecteer Maken om er een te maken.
Schemaregister vereist een Azure Storage-account waarvoor hiërarchische naamruimte en openbare netwerktoegang is ingeschakeld. Wanneer u een nieuw opslagaccount maakt, kiest u een opslagaccounttype algemeen gebruik v2 en stelt u hiërarchische naamruimte in op Ingeschakeld.
Selecteer een container in uw opslagaccount of selecteer Container om er een te maken.
Selecteer Toepassen om de schemaregisterconfiguraties te bevestigen.
Selecteer op het tabblad Afhankelijkheidsbeheer de optie Testinstellingen of de optie Implementatie van beveiligde instellingen . Als u niet zeker weet welk geschikt is voor uw scenario, raadpleegt u de richtlijnen in Implementatiedetails > Kies uw functies.
Afhankelijk van uw keuze voert u de stappen uit voor:
Implementeren met testinstellingen
Gebruik deze stappen als u de optie Testinstellingen hebt gekozen op het tabblad Afhankelijkheidsbeheer .
Selecteer Volgende: Automatisering.
Voer één voor één elke Azure CLI-opdracht uit op het tabblad Automation in een terminal:
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 om toegang te krijgen tot uw resource.
az login
Installeer de nieuwste Cli-extensie voor Azure IoT Operations.
az upgrade az extension add --upgrade --name azure-iot-ops
Maak een schemaregister dat wordt gebruikt door Azure IoT Operations-onderdelen. Kopieer en voer de opgegeven opdracht az iot ops schema registry create uit.
Als u ervoor kiest om een bestaand schemaregister te gebruiken, wordt deze opdracht niet weergegeven op het tabblad Automation .
Bereid het cluster voor op de implementatie van Azure IoT Operations. Kopieer en voer de opgegeven opdracht az iot ops init uit.
Tip
De
init
opdracht hoeft slechts eenmaal per cluster te worden uitgevoerd. Als u een cluster hergebruikt waarop Azure IoT Operations versie 0.8.0 al is geïmplementeerd, kunt u deze stap overslaan.Als u de optionele vereiste hebt gevolgd om uw eigen certificeringsinstantieverlener in te stellen, voegt u de
--user-trust
vlag toe aan deinit
opdracht.Het uitvoeren van deze opdracht kan enkele minuten in beslag nemen. U kunt de voortgang bekijken in de voortgang van de implementatie in de terminal.
Azure IoT-bewerkingen implementeren. Kopieer en voer de opgegeven opdracht az iot ops create uit .
Als u de optionele vereisten hebt gevolgd om uw cluster voor te bereiden op waarneembaarheid, voegt u de volgende parameters toe aan de
create
opdracht:Parameter Weergegeven als Beschrijving --ops-config
observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT>
Geef het adres van de OTel-collector (OpenTelemetry) op dat u hebt geconfigureerd in het bestand otel-collector-values.yaml.
De voorbeeldwaarden die worden gebruikt in Waarneembaarheid configureren, zijn fullnameOverride=aio-otel-collector en grpc.endpoint=4317.--ops-config
observability.metrics.exportInternalSeconds=<CHECK_INTERVAL>
Geef de check_interval waarde op die u hebt geconfigureerd in het bestand otel-collector-values.yaml.
De voorbeeldwaarde die wordt gebruikt in Waarneembaarheid configureren, is check_interval=60.Als u de optionele vereisten voor het instellen van uw eigen certificeringsinstantieverlener hebt gevolgd, voegt u de
--trust-settings
parameters toe aan decreate
opdracht:--trust-settings configMapName=<CONFIGMAP_NAME> configMapKey=<CONFIGMAP_KEY_WITH_PUBLICKEY_VALUE> issuerKind=<CLUSTERISSUER_OR_ISSUER> issuerName=<ISSUER_NAME>
Het uitvoeren van deze opdracht kan enkele minuten in beslag nemen. U kunt de voortgang bekijken in de voortgang van de implementatie in de terminal.
Zodra alle Azure CLI-opdrachten zijn voltooid, kunt u de wizard Azure IoT Operations installeren sluiten.
Zodra de create
opdracht is voltooid, hebt u een werkend Azure IoT Operations-exemplaar dat wordt uitgevoerd op uw cluster. Op dit moment is uw exemplaar geconfigureerd voor de meeste test- en evaluatiescenario's.
Als u op enig moment in de toekomst uw exemplaar wilt voorbereiden op productiescenario's, volgt u de stappen in Beveiligde instellingen inschakelen op een bestaand Azure IoT Operations-exemplaar.
Implementeren met beveiligde instellingen
Gebruik deze stappen als u de optie Veilige instellingen hebt gekozen op het tabblad Afhankelijkheidsbeheer .
Geef in de sectie Implementatieopties de volgende informatie op:
Parameter Weergegeven als Abonnement Selecteer het abonnement dat uw Azure-sleutelkluis bevat. Azure Key Vault Selecteer een Azure-sleutelkluis of selecteer Nieuwe maken.
Zorg ervoor dat uw sleutelkluis op rollen gebaseerd toegangsbeheer van Azure heeft als machtigingsmodel. Als u deze instelling wilt controleren, selecteert u De geselecteerde kluisinstellingentoegangsconfiguratie>> beheren.
Zorg ervoor dat u uw gebruikersaccount machtigingen geeft voor het beheren van geheimen met deKey Vault Secrets Officer
rol.Door de gebruiker toegewezen beheerde identiteit voor geheimen Selecteer een identiteit of selecteer Nieuwe maken. Door de gebruiker toegewezen beheerde identiteit voor AIO-onderdelen Selecteer een identiteit of selecteer Nieuwe maken. Gebruik niet dezelfde beheerde identiteit als de identiteit die u hebt geselecteerd voor geheimen. Selecteer Volgende: Automatisering.
Voer één voor één elke Azure CLI-opdracht uit op het tabblad Automation in een terminal:
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
Installeer de nieuwste Cli-extensie voor Azure IoT Operations.
az upgrade az extension add --upgrade --name azure-iot-ops
Maak een schemaregister dat wordt gebruikt door Azure IoT Operations-onderdelen. Kopieer en voer de opgegeven opdracht az iot ops schema registry create uit.
Als u ervoor kiest om een bestaand schemaregister te gebruiken, wordt deze opdracht niet weergegeven op het tabblad Automation .
Notitie
Voor deze opdracht is vereist dat u schrijfmachtigingen voor roltoewijzing hebt, omdat er een rol wordt toegewezen om het schemaregister toegang te geven tot het opslagaccount. De rol is standaard de ingebouwde rol Inzender voor opslagblobgegevens of u kunt een aangepaste rol maken met beperkte machtigingen om toe te wijzen. Zie az iot ops schema registry create voor meer informatie.
Bereid het cluster voor op de implementatie van Azure IoT Operations. Kopieer en voer de opgegeven opdracht az iot ops init uit.
Tip
De
init
opdracht hoeft slechts eenmaal per cluster te worden uitgevoerd. Als u een cluster hergebruikt waarop Azure IoT Operations versie 0.8.0 al is geïmplementeerd, kunt u deze stap overslaan.Het uitvoeren van deze opdracht kan enkele minuten in beslag nemen. U kunt de voortgang bekijken in de voortgang van de implementatie in de terminal.
Azure IoT-bewerkingen implementeren. Kopieer en voer de opgegeven opdracht az iot ops create uit .
Als u de optionele vereisten hebt gevolgd om uw cluster voor te bereiden op waarneembaarheid, voegt u de volgende optionele parameters toe aan de
create
opdracht:Optionele parameter Weergegeven als Beschrijving --ops-config
observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT>
Geef het adres van de OTel-collector (OpenTelemetry) op dat u hebt geconfigureerd in het bestand otel-collector-values.yaml.
De voorbeeldwaarden die worden gebruikt in Waarneembaarheid configureren, zijn fullnameOverride=aio-otel-collector en grpc.endpoint=4317.--ops-config
observability.metrics.exportInternalSeconds=<CHECK_INTERVAL>
Geef de check_interval waarde op die u hebt geconfigureerd in het bestand otel-collector-values.yaml.
De voorbeeldwaarde die wordt gebruikt in Waarneembaarheid configureren, is check_interval=60.Het uitvoeren van deze opdracht kan enkele minuten in beslag nemen. U kunt de voortgang bekijken in de voortgang van de implementatie in de terminal.
Schakel geheime synchronisatie in voor het geïmplementeerde Azure IoT Operations-exemplaar. Kopieer en voer de opgegeven opdracht az iot ops secretsync enable uit .
Met deze opdracht gebeurt het volgende:
- Hiermee maakt u een federatieve identiteitsreferentie met behulp van de door de gebruiker toegewezen beheerde identiteit.
- Voegt een roltoewijzing toe aan de door de gebruiker toegewezen beheerde identiteit voor toegang tot Azure Key Vault.
- Voegt een minimale geheime providerklasse toe die is gekoppeld aan het Azure IoT Operations-exemplaar.
Wijs een door de gebruiker toegewezen beheerde identiteit toe aan het geïmplementeerde Azure IoT Operations-exemplaar. Kopieer en voer de opgegeven opdracht az iot ops identity assign uit .
Met deze opdracht maakt u een federatieve identiteitsreferentie met behulp van de OIDC-verlener van het aangegeven verbonden cluster en het Azure IoT Operations-serviceaccount.
Zodra alle Azure CLI-opdrachten zijn voltooid, kunt u de wizard Azure IoT Operations installeren sluiten.
Zodra de create
opdracht is voltooid, hebt u een werkend Azure IoT Operations-exemplaar dat wordt uitgevoerd op uw cluster. Op dit moment is uw exemplaar geconfigureerd voor productiescenario's.
Implementatie verifiëren
Nadat de implementatie is voltooid, gebruikt u az iot ops check 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
Met de check
opdracht wordt een waarschuwing weergegeven over ontbrekende gegevensstromen. Dit is normaal en verwacht totdat u een gegevensstroom maakt. Zie Gegevens verwerken en routeren met gegevensstromen voor meer informatie.
U kunt de configuraties van onderwerptoewijzingen, QoS en berichtroutes controleren door de --detail-level 2
parameter toe te voegen aan de check
opdracht voor een uitgebreide weergave.
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-implementatie.