Een AKS Edge Essentials-cluster maken en configureren waarmee Azure IoT Operations kan worden uitgevoerd
Azure Kubernetes Service (AKS) Edge Essentials is een van de ondersteunde clusterplatforms voor Azure IoT Operations. U kunt AKS Edge Essentials gebruiken om een door Microsoft beheerd Kubernetes-cluster te maken en Azure IoT Operations erop te implementeren als een workload. In dit artikel worden de stappen beschreven voor het uitvoeren van een script waarmee een AKS Edge Essentials Kubernetes-cluster wordt gemaakt met de vereiste configuraties voor Azure IoT-bewerkingen en die cluster vervolgens verbindt met Azure Arc.
Notitie
Azure IoT Operations ondersteunt AKS Edge Essentials wanneer deze wordt geïmplementeerd op clusters met één machine. Het implementeren van clusters op meerdere computers is een experimentele functie.
Vereisten voor het uitvoeren van het script
Als u het script wilt uitvoeren, hebt u de volgende vereisten nodig:
Een Azure-abonnement met de rol Eigenaar of een combinatie van de rollen Inzender en Beheerder voor gebruikerstoegang. U kunt uw toegangsniveau controleren door naar uw abonnement te navigeren, toegangsbeheer (IAM) aan de linkerkant van Azure Portal te selecteren en vervolgens Mijn toegang weergeven te selecteren. Als u geen Azure-abonnement hebt, kunt u er gratis een maken voordat u begint.
Azure CLI versie 2.64.0 of hoger geïnstalleerd op uw ontwikkelcomputer. 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.Installeer de nieuwste versie van de connectedk8s-extensies voor Azure CLI:
az extension add --upgrade --name connectedk8s
Hardwarevereisten: zorg ervoor dat uw computer minimaal 16 GB ram-geheugen, 4 beschikbare vCPU's en 52 GB vrije schijfruimte heeft die is gereserveerd voor Azure IoT-bewerkingen.
Een cluster met Arc maken
Het AksEdgeQuickStartForAio.ps1-script automatiseert het proces van het maken en verbinden van een cluster en is het aanbevolen pad voor het implementeren van Azure IoT-bewerkingen op AKS Edge Essentials. Met het script worden de volgende taken uitgevoerd:
- Downloadt de nieuwste AKS Edge Essentials MSI vanuit deze opslagplaats.
- Installeert AKS Edge Essentials en implementeert en maakt één Kubernetes-cluster op uw Windows-computer.
- Maakt verbinding met het Azure-abonnement, maakt een resourcegroep als deze nog niet bestaat en verbindt het cluster met Arc om een Kubernetes-cluster met Arc te maken.
- Hiermee schakelt u de functie voor aangepaste locatie in het Kubernetes-cluster met Arc in.
- Hiermee schakelt u de functie voor federatie van workloadidentiteiten in het Kubernetes-cluster met Arc in.
- Hiermee wordt de inrichting van het lokale pad geïmplementeerd.
- Hiermee configureert u firewallregels op de Windows-hostcomputer voor de MQTT-broker.
- Op de Virtuele Linux-machine, die fungeert als het Kubernetes-besturingsvlakknooppunt:
- Hiermee configureert u de poortproxy voor het standaard-IP-bereik van de Kubernetes-service van 10.96.0.0/28.
- Hiermee configureert u de IP-tabelregels:
sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 9110 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport (10124, 8420, 2379, 50051) -j ACCEPT
Voer de volgende stappen uit om het quickstartscript uit te voeren:
Open een PowerShell-venster met verhoogde bevoegdheid en wijzig de map in een werkmap.
Haal de
objectId
Microsoft Entra ID-toepassing op die door de Azure Arc-service in uw tenant wordt gebruikt. Voer de volgende opdracht precies uit zoals geschreven, zonder de GUID-waarde te wijzigen.az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
Voer de volgende opdrachten uit:
$url = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStartForAio.ps1" Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStartForAio.ps1 Unblock-File .\AksEdgeQuickStartForAio.ps1 Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
[Optioneel] Azure Arc-gateway (preview) kunt u infrastructuur aan Azure Arc toevoegen met alleen 7 eindpunten. Azure Arc Gateway gebruiken met Azure IoT-bewerkingen op AKS Edge Essentials:
- Volg stap 1 om een Arc-gatewayresource te maken.
- Let op de -url's die worden vermeld in stap 2 om toe te voegen aan
proxy-skip-range
in stap 2. - Volg stap 3a in de Arc-gatewaydocumentatie en sla de gateway-id op.
- Zoek in AksEdgeQuickStartForAio.ps1de definitie van de
$aideuserConfig
. Stel de waarde vanGatewayResourceId
in op de gateway-id die is opgeslagen in de vorige stap.
Voer de volgende opdracht uit en vervang de waarden van de tijdelijke aanduiding door uw gegevens:
.\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>" -Location "<LOCATION>" -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>"
Tijdelijke aanduiding Weergegeven als SUBSCRIPTION_ID De id van uw Azure-abonnement. Als u uw abonnements-id niet weet, raadpleegt u Uw Azure-abonnement zoeken. TENANT_ID De id van uw Microsoft Entra-tenant. Als u uw tenant-id niet weet, raadpleegt u Uw Microsoft Entra-tenant zoeken. RESOURCE_GROUP_NAME De naam van een bestaande resourcegroep of een naam voor een nieuwe resourcegroep die moet worden gemaakt. Er wordt slechts één Azure IoT Operations-exemplaar per resourcegroep ondersteund. LOCATIE Een Azure-regio dicht bij u in de buurt. Zie Ondersteunde regio's voor de lijst met ondersteunde Azure IoT-bewerkingen. CLUSTER_NAME Een naam voor het nieuwe cluster dat moet worden gemaakt. ARC_APP_OBJECT_ID De object-id-waarde die u in stap 2 hebt opgehaald. Er zijn andere optionele vlaggen die u kunt opnemen wanneer u AksEdgeQuickStartForAio.ps1uitvoert. De optionele vlaggen zijn als volgt:
Optionele vlaggen Weergegeven als enableWorkloadIdentity
(voorbeeld)Standaard ingeschakeld. Hoewel u zich kunt afmelden voordat u het cluster implementeert, kunt u het niet inschakelen nadat het cluster is gemaakt. Met federatie van workloadidentiteit kunt u een door de gebruiker toegewezen beheerde identiteit of app-registratie in Microsoft Entra-id configureren om tokens van externe id-providers (ID's) zoals Kubernetes te vertrouwen. Raadpleeg dit artikelom de federatie van workloadidentiteiten te configureren. proxy-https
Geef de proxywaarde op: https://<proxy-server-ip-address>:<port>
.proxy-http
Geef de proxywaarde op: http://<proxy-server-ip-address>:<port>
.proxy-skip-range
Geef het bereik voor het overslaan van de proxy op: <excludedIP>
,<excludedCIDR>
. Als dehttp(s)_proxy
is opgegeven, moetno_proxy
ook worden bijgewerkt naarlocalhost,127.0.0.0/8,192.168.0.0/16,172.17.0.0/16,10.42.0.0/16,10.43.0.0/16,10.96.0.0/12,10.244.0.0/16,.svc,169.254.169.254
.U kunt deze vlaggen toevoegen, zoals wordt weergegeven in het volgende voorbeeld:
.\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>" -Location "<LOCATION>" -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>" --enableWorkloadIdentity:false
Belangrijk
Preview-functies zijn beschikbaar op selfservice, opt-in basis. Previews worden geleverd 'zoals het is' en 'zoals beschikbaar', en ze worden uitgesloten van de serviceovereenkomsten en de beperkte garantie. AKS Edge Essentials-previews worden gedeeltelijk gedekt door klantondersteuning op basis van best effort.
Als er problemen zijn tijdens de implementatie; Als uw computer bijvoorbeeld opnieuw wordt opgestart als onderdeel van dit proces, voert u de set opdrachten opnieuw uit.
Voer de volgende opdrachten uit om te controleren of de implementatie is geslaagd:
Import-Module AksEdge Get-AksEdgeDeploymentInfo
In de uitvoer van de
Get-AksEdgeDeploymentInfo
opdracht ziet u dat de Arc-status van het cluster is verbonden.
Uw cluster verifiëren
Voer de volgende opdracht uit om te controleren of uw Kubernetes-cluster is ingeschakeld voor Azure Arc:
kubectl get deployments,pods -n azure-arc
De uitvoer ziet er ongeveer als volgt uit:
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/clusterconnect-agent 1/1 1 1 10m
deployment.apps/extension-manager 1/1 1 1 10m
deployment.apps/clusteridentityoperator 1/1 1 1 10m
deployment.apps/controller-manager 1/1 1 1 10m
deployment.apps/flux-logs-agent 1/1 1 1 10m
deployment.apps/cluster-metadata-operator 1/1 1 1 10m
deployment.apps/extension-events-collector 1/1 1 1 10m
deployment.apps/config-agent 1/1 1 1 10m
deployment.apps/kube-aad-proxy 1/1 1 1 10m
deployment.apps/resource-sync-agent 1/1 1 1 10m
deployment.apps/metrics-agent 1/1 1 1 10m
NAME READY STATUS RESTARTS AGE
pod/clusterconnect-agent-5948cdfb4c-vzfst 3/3 Running 0 10m
pod/extension-manager-65b8f7f4cb-tp7pp 3/3 Running 0 10m
pod/clusteridentityoperator-6d64fdb886-p5m25 2/2 Running 0 10m
pod/controller-manager-567c9647db-qkprs 2/2 Running 0 10m
pod/flux-logs-agent-7bf6f4bf8c-mr5df 1/1 Running 0 10m
pod/cluster-metadata-operator-7cc4c554d4-nck9z 2/2 Running 0 10m
pod/extension-events-collector-58dfb78cb5-vxbzq 2/2 Running 0 10m
pod/config-agent-7579f558d9-5jnwq 2/2 Running 0 10m
pod/kube-aad-proxy-56d9f754d8-9gthm 2/2 Running 0 10m
pod/resource-sync-agent-769bb66b79-z9n46 2/2 Running 0 10m
pod/metrics-agent-6588f97dc-455j8 2/2 Running 0 10m