Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Kubernetes Service (AKS) Edge Essentials är en av de klusterplattformar som stöds för Azure IoT Operations. Du kan använda AKS Edge Essentials för att skapa ett Microsoft-hanterat Kubernetes-kluster och distribuera Azure IoT Operations på det som en arbetsbelastning. Den här artikeln beskriver stegen för att köra ett skript som skapar ett AKS Edge Essentials Kubernetes-kluster med den konfiguration som krävs för Azure IoT Operations och sedan ansluter klustret till Azure Arc.
Kommentar
Azure IoT Operations stöder ENDAST AKS Edge Essentials när de distribueras på K3s-kluster med en enda dator. K8s-kluster stöds inte för AIO och distribution av kluster på flera datorer är en experimentell funktion.
Förutsättningar för att köra skriptet
För att köra skriptet behöver du följande krav:
En Azure-prenumeration med rollen Ägare eller en kombination av rollen Deltagare och Administratör för användaråtkomst. Du kan kontrollera åtkomstnivån genom att gå till din prenumeration, välja Åtkomstkontroll (IAM) till vänster i Azure Portal och sedan välja Visa min åtkomst. Om du inte har en Azure-prenumeration skapar du en kostnadsfritt innan du börjar.
Azure CLI version 2.64.0 eller senare installerat på utvecklingsdatorn. Använd
az --versionför att kontrollera din version ochaz upgradeuppdatera om det behövs. Mer information finns i Installera Azure CLI.Installera den senaste versionen av connectedk8s-tilläggen för Azure CLI:
az extension add --upgrade --name connectedk8sMaskinvarukrav: Se till att datorn har minst 16 GB tillgängligt RAM-minne, 4 tillgängliga vCPU:er och 52 GB ledigt diskutrymme reserverat för Azure IoT-åtgärder.
Skapa ett Arc-aktiverat kluster
Skriptet AksEdgeQuickStartForAio.ps1 automatiserar processen för att skapa och ansluta ett kluster och är den rekommenderade sökvägen för att distribuera Azure IoT-åtgärder på AKS Edge Essentials. Skriptet utför följande uppgifter:
- Laddar ner det senaste k3s AKS Edge Essentials MSI från det här arkivet.
- Installerar AKS Edge Essentials och distribuerar och skapar ett k3s-kluster på din Windows-dator.
- Ansluter till Azure-prenumerationen, skapar en resursgrupp om den inte redan finns och ansluter klustret till Arc för att skapa ett Arc-aktiverat Kubernetes-kluster.
- Aktiverar funktionen för anpassad plats i Det Arc-aktiverade Kubernetes-klustret.
- Aktiverar funktionen för arbetsbelastningsidentitetsfederation i Det Arc-aktiverade Kubernetes-klustret.
- Distribuerar etablering av lokal sökväg.
- Konfigurerar brandväggsregler på värddatorn för Windows-värddatorn för MQTT-koordinatorn.
- På den virtuella Linux-datorn, som fungerar som Kubernetes-kontrollplanets nod:
- Konfigurerar portproxyn för Kubernetes-tjänstens standard-IP-intervall på 10.96.0.0/28.
- Konfigurerar IP-tabellreglerna:
sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 9110 -j ACCEPTsudo iptables -A INPUT -p tcp --dport (10124, 8420, 2379, 50051) -j ACCEPT
Utför följande steg för att köra snabbstartsskriptet:
Öppna ett upphöjt PowerShell-fönster och ändra katalogen till en arbetsmapp.
Hämta det
objectIdMicrosoft Entra-ID-program som Azure Arc-tjänsten använder i din klientorganisation. Kör följande kommando exakt som skrivet, utan att ändra GUID-värdet.az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsvKör följande kommandon:
$giturl = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools" $url = "$giturl/scripts/AksEdgeQuickStart/AksEdgeQuickStartForAio.ps1" Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStartForAio.ps1 -UseBasicParsing Invoke-WebRequest -Uri "$giturl/aio-aide-userconfig.json" -OutFile .\aio-aide-userconfig.json -UseBasicParsing Invoke-WebRequest -Uri "$giturl/aio-aksedge-config.json" -OutFile .\aio-aksedge-config.json -UseBasicParsing Unblock-File .\AksEdgeQuickStartForAio.ps1 Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -ForceLägg till de obligatoriska parametervärdena i filernaaio-aide-userconfig.json och aio-aksedge-config.json :
Fyll i följande värden i aio-aide-userconfig.json:
Flag Värde Prenumerations-ID ID för din Azure-prenumeration. Om du inte känner till ditt prenumerations-ID kan du läsa Hitta din Azure-prenumeration. Hyresgivares-id ID för din Microsoft Entra-klientorganisation. Om du inte känner till ditt klientorganisations-ID kan du läsa Hitta din Microsoft Entra-klientorganisation. ResourceGroupName Namnet på en befintlig resursgrupp eller ett namn på en ny resursgrupp som ska skapas. Endast en Azure IoT Operations-instans stöds per resursgrupp. Plats En Azure-region nära dig. En lista över Azure IoT Operations-regioner som stöds finns i Regioner som stöds. CustomLocationOID Objekt-ID-värdet som du hämtade i steg 2. EnableWorkloadIdentity (förhandsversion) Aktiverad som standard. Du kan avregistrera dig innan du distribuerar klustret, men du kan inte aktivera det när klustret har skapats. Med arbetsbelastningsidentitetsfederation kan du konfigurera en användartilldelad hanterad identitet eller appregistrering i Microsoft Entra-ID för att lita på token från externa identitetsprovidrar (IDP:er) som Kubernetes. Om du vill konfigurera arbetsbelastningsidentitetsfederation se den här artikeln. I aio-aksedge-config.jsonlägger du till det obligatoriska ClusterName-fältet och andra valfria fält enligt följande:
Flag Värde Klusternamn Ett namn för det nya klustret som ska skapas. Proxy-HttpsAnge proxyvärdet: https://<proxy-server-ip-address>:<port>.Proxy-HttpAnge proxyvärdet: http://<proxy-server-ip-address>:<port>.Proxy-NoAnge proxyhoppintervallet: <excludedIP>,<excludedCIDR>. Omhttp(s)_proxyanges börNoockså uppdateras tilllocalhost,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.Viktig
Förhandsversionsfunktioner är tillgängliga via självbetjäning och opt-in. Förhandsversioner tillhandahålls "som är" och "som tillgängliga", och de undantas från serviceavtalen och den begränsade garantin. Förhandsversioner av AKS Edge Essentials omfattas delvis av kundsupport enligt bästa möjliga förmåga.
[Valfritt] Azure Arc-gateway (förhandsversion) låter dig registrera infrastruktur till Azure Arc med endast 7 slutpunkter. Så här använder du Azure Arc Gateway med Azure IoT Operations på AKS Edge Essentials:
- Följ steg 1 för att skapa en Arc-gatewayresurs.
- Observera url:erna som anges i steg 2 för att lägga till
proxy-noi iaio-aksedge-config.json. - Följ steg 3a i dokumentationen för Arc-gatewayen och spara gateway-ID:t.
- I aio-aide-userconfig.json anger du gateway-ID:t som har sparats från föregående steg som värde för
GatewayResourceId.
Kör följande kommando:
.\AksEdgeQuickStartForAio.ps1 -aideUserConfigfile .\aio-aide-userconfig.json -aksedgeConfigFile .\aio-aksedge-config.jsonOm det finns problem under distributionen; Om datorn till exempel startas om som en del av den här processen kör du uppsättningen kommandon igen.
Kör följande kommandon för att kontrollera att distributionen lyckades:
Import-Module AksEdge Get-AksEdgeDeploymentInfoI kommandots
Get-AksEdgeDeploymentInfoutdata bör du se att klustrets Arc-status är Ansluten.
Verifiera klustret
Kontrollera att Kubernetes-klustret är Azure Arc-aktiverat genom att köra följande kommando:
kubectl get deployments,pods -n azure-arc
Utdata ser ut ungefär som i följande exempel:
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