Sdílet prostřednictvím


Vytvoření a konfigurace clusteru AKS Edge Essentials, který může spouštět operace Azure IoT

Azure Kubernetes Service (AKS) Edge Essentials je jednou z podporovaných platforem clusteru pro operace Azure IoT. AKS Edge Essentials můžete použít k vytvoření clusteru Kubernetes spravovaného Microsoftem a nasazení operací Azure IoT jako úlohy. Tento článek popisuje postup spuštění skriptu, který vytvoří cluster Kubernetes AKS Edge Essentials s požadovanými konfiguracemi pro operace Azure IoT a pak tento cluster připojí ke službě Azure Arc.

Poznámka:

Operace Azure IoT podporují AKS Edge Essentials při nasazení na clustery s jedním počítačem. Nasazení clusterů na více počítačů je experimentální funkce.

Předpoklady pro spuštění skriptu

Ke spuštění skriptu potřebujete následující požadavky:

  • Předplatné Azure s rolí vlastníka nebo kombinací rolí Přispěvatel a Správce uživatelských přístupů. Úroveň přístupu můžete zkontrolovat tak, že přejdete do svého předplatného, vyberete Řízení přístupu (IAM) na levé straně webu Azure Portal a pak vyberete Zobrazit můj přístup. Pokud nemáte předplatné Azure, vytvořte si ho zdarma , než začnete.

  • Azure CLI verze 2.64.0 nebo novější nainstalovaná na vývojovém počítači. Použijte az --version ke kontrole vaší verze a az upgrade k aktualizaci v případě potřeby. Další informace najdete v tématu Postup instalace Azure CLI.

  • Nainstalujte nejnovější verzi následujících rozšíření pro Azure CLI:

    az extension add --upgrade --name azure-iot-ops
    az extension add --upgrade --name connectedk8s 
    
  • Požadavky na hardware: Ujistěte se, že váš počítač má k dispozici minimálně 16 GB paměti RAM, 4 dostupné virtuální procesory a 52 GB volného místa na disku vyhrazeném pro operace Azure IoT.

Vytvoření clusteru s podporou arc

Skript AksEdgeQuickStartForAio.ps1 automatizuje proces vytváření a připojení clusteru a je doporučenou cestou pro nasazení operací Azure IoT v AKS Edge Essentials. Skript provádí následující úlohy:

  • Stáhne nejnovější MSI AKS Edge Essentials z tohoto úložiště.
  • Nainstaluje AKS Edge Essentials a nasadí a vytvoří na počítači s Windows jeden cluster Kubernetes.
  • Připojí se k předplatnému Azure, vytvoří skupinu prostředků, pokud ještě neexistuje, a připojí cluster k Arc a vytvoří cluster Kubernetes s podporou Arc.
  • Povolí funkci vlastního umístění v clusteru Kubernetes s podporou Arc.
  • Povolí funkci federace identit úloh v clusteru Kubernetes s podporou Arc.
  • Nasadí zřizování místní cesty.
  • Nakonfiguruje pravidla brány firewall na hostitelském počítači s Windows pro zprostředkovatele MQTT.
  • Na virtuálním počítači s Linuxem, který slouží jako uzel řídicí roviny Kubernetes:
    • Nakonfiguruje proxy portu pro výchozí rozsah IP adres služby Kubernetes 10.96.0.0/28.
    • Konfiguruje pravidla tabulky IP adres:
      • 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

Pokud chcete spustit skript pro rychlý start, proveďte následující kroky:

  1. Otevřete okno PowerShellu se zvýšenými oprávněními a změňte adresář na pracovní složku.

  2. objectId Získejte aplikaci Microsoft Entra ID, kterou služba Azure Arc používá ve vašem tenantovi. Spusťte následující příkaz přesně tak, jak je napsaný, aniž byste změnili hodnotu GUID.

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    
  3. Spusťte následující příkazy a nahraďte zástupné hodnoty vašimi informacemi:

    $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
    .\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>"  -Location "<LOCATION>"  -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>"
    
    Zástupný symbol Hodnota
    SUBSCRIPTION_ID ID vašeho předplatného Azure. Pokud ID předplatného neznáte, přečtěte si téma Vyhledání předplatného Azure.
    TENANT_ID ID vašeho tenanta Microsoft Entra. Pokud neznáte ID tenanta, přečtěte si téma Vyhledání tenanta Microsoft Entra.
    RESOURCE_GROUP_NAME Název existující skupiny prostředků nebo název nové skupiny prostředků, která se má vytvořit.
    UMÍSTĚNÍ Oblast Azure blízko vás. Seznam podporovaných oblastí Azure pro operace Azure IoT najdete v tématu Podporované oblasti.
    CLUSTER_NAME Název nového clusteru, který se má vytvořit.
    ARC_APP_OBJECT_ID Hodnota ID objektu, kterou jste získali v kroku 2.

    Pokud během nasazování dojde k problémům, například pokud se počítač restartuje v rámci tohoto procesu, spusťte sadu příkazů znovu.

  4. Spuštěním následujících příkazů zkontrolujte, jestli nasazení proběhlo úspěšně:

    Import-Module AksEdge
    Get-AksEdgeDeploymentInfo
    

    Ve výstupu Get-AksEdgeDeploymentInfo příkazu byste měli vidět, že stav Arc clusteru je Připojeno.

Ověření clusteru

Pokud chcete ověřit, že je váš cluster připravený pro nasazení operací Azure IoT, můžete použít příkaz pomocné rutiny pro ověřování hostitele v rozšíření Azure IoT Operations pro Azure CLI. Když na hostiteli clusteru spustíte tento příkaz, zkontroluje připojení ke koncovým bodům Azure Resource Manageru a služby Microsoft Container Registry:

az iot ops verify-host

Pokud chcete ověřit, že je váš cluster Kubernetes povolený službou Azure Arc, spusťte následující příkaz:

kubectl get deployments,pods -n azure-arc

Výstup vypadá podobně jako v následujícím příkladu:

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

Další kroky