Sdílet prostřednictvím


Rychlý start: Spuštění Azure IoT Operations Preview v GitHub Codespaces s využitím K3s

Důležité

Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi Preview. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.

Až bude dostupná obecně dostupná verze, budete muset nasadit novou instalaci operací Azure IoT. Nebudete moct upgradovat instalaci verze Preview.

Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.

V tomto rychlém startu nasadíte sadu služeb IoT do clusteru Kubernetes s podporou Azure Arc, abyste mohli vzdáleně spravovat zařízení a úlohy. Operace Azure IoT je sada digitálních operací služeb. Tento rychlý start vás provede nasazením těchto služeb do clusteru Kubernetes pomocí nástroje Orchestrator. Na konci rychlého startu máte cluster, který můžete spravovat z cloudu, který generuje ukázková data pro použití v následujících rychlých startech.

Zbytek rychlých startů v této ucelené řadě vychází z této série, která definuje ukázkové prostředky, kanály zpracování dat a vizualizace.

Pokud chcete nasadit operace Azure IoT do místního clusteru, jako je Azure Kubernetes Service Edge Essentials nebo K3s v Ubuntu, přečtěte si podrobnosti o nasazení.

Než začnete

Tato série rychlých startů vám pomůže co nejrychleji začít s operacemi Azure IoT, abyste mohli vyhodnotit kompletní scénář. Ve skutečném vývojovém nebo produkčním prostředí může několik týmů, které spolupracují, provádět tyto úlohy a některé úkoly můžou vyžadovat zvýšená oprávnění.

Pro co nejlepší nové uživatelské prostředí doporučujeme použít bezplatný účet Azure, abyste měli oprávnění vlastníka k prostředkům v těchto rychlých startech. Poskytujeme také postup použití GitHub Codespaces jako virtuálního prostředí, ve kterém můžete rychle začít nasazovat prostředky a spouštět příkazy bez nutnosti instalovat nové nástroje na vlastní počítače.

Požadavky

Pro účely tohoto rychlého startu vytvoříte cluster Kubernetes pro příjem nasazení operací Azure IoT.

Pokud chcete znovu použít cluster, který už má nasazené operace Azure IoT, přečtěte si kroky v části Vyčištění prostředků a před pokračováním odinstalujte operace Azure IoT.

Než začnete, připravte následující požadavky:

  • Předplatné Azure. Pokud nemáte předplatné Azure, vytvořte si ho zdarma , než začnete.

  • Účet GitHub.

  • Visual Studio Code nainstalovaný na vývojovém počítači Další informace naleznete v tématu Stažení editoru Visual Studio Code.

  • Oprávnění Microsoft/Authorization/roleAssignments/write na úrovni skupiny prostředků.

Jaký problém vyřešíme?

Operace Azure IoT je sada datových služeb, které běží v clusterech Kubernetes. Chcete, aby se tyto clustery spravily vzdáleně z cloudu a mohly bezpečně komunikovat s cloudovými prostředky a koncovými body. Tyto obavy řešíme s následujícími úlohami v tomto rychlém startu:

  1. Vytvořte cluster Kubernetes a připojte ho ke službě Azure Arc pro vzdálenou správu.
  2. Vytvořte registr schématu.
  3. Nasazení operací Azure IoT do clusteru

Připojení clusteru Kubernetes ke službě Azure Arc

Operace Azure IoT by měly fungovat na jakémkoli clusteru Kubernetes, který odpovídá standardům CNCF (Cloud Native Computing Foundation). Pro zrychlení a pohodlí používá tento rychlý start k hostování clusteru GitHub Codespaces.

Důležité

Codespaces se dají snadno nastavit a rozhodit později, ale nejsou vhodné pro vyhodnocení výkonu nebo testování škálování. Ke zkoumání používejte jen GitHub Codespaces. Informace o nasazení operací Azure IoT do produkčního clusteru, jako je AKS Edge Essentials, najdete v tématu Příprava clusteru Kubernetes s podporou Azure Arc.

V této části vytvoříte nový cluster a připojíte ho k Azure Arc. Pokud chcete znovu použít cluster, do kterého jste nasadili operace Azure IoT, přečtěte si kroky v části Vyčištění prostředků a před pokračováním odinstalujte operace Azure IoT.

Pomocí GitHub Codespaces můžete vyzkoušet operace Azure IoT v clusteru Kubernetes bez nutnosti instalovat cokoli na místním počítači. Azure-Samples /explore-iot-operations codespace je předem nakonfigurovaný pomocí:

  • K3s běžící v K3d pro jednoduchý cluster Kubernetes
  • Azure CLI
  • Kubectl pro správu prostředků Kubernetes
  • Další užitečné nástroje, jako je Helm a k9s

K vytvoření prostředí codespace a clusteru použijte následující kroky:

  1. Vytvořte v GitHub Codespaces prostor kódu.

    Vytvoření codespace pro explore-iot-operations

  2. Zadejte následující doporučené tajné kódy pro váš codespace:

    Parametr Hodnota
    SUBSCRIPTION_ID ID vašeho předplatného Azure
    RESOURCE_GROUP Název nové skupiny prostředků Azure, ve které se cluster vytvoří.
    UMÍSTĚNÍ Oblast Azure blízko vás. Seznam aktuálně podporovaných oblastí najdete v tématu Podporované oblasti.

    Tip

    Hodnoty, které zadáte jako tajné kódy v tomto kroku, se uloží na účet GitHubu, aby se použily v tomto a budoucím codespaces. Přidají se jako proměnné prostředí v terminálu codespace a tyto proměnné prostředí můžete použít v příkazech rozhraní příkazového řádku v další části.

    Kromě toho tento codespace vytvoří proměnnou CLUSTER_NAME prostředí, která je nastavena s názvem codespace.

  3. Vyberte Vytvořit nový prostor kódu.

  4. Jakmile je codespace připravený, vyberte tlačítko nabídky v levém horním rohu a pak vyberte Otevřít v desktopové aplikaci VS Code.

    Otevření desktopové verze VS Code

  5. Pokud se zobrazí výzva, nainstalujte rozšíření GitHub Codespaces pro Visual Studio Code a přihlaste se k GitHubu.

  6. V editoru Visual Studio Code vyberte Zobrazit>terminál.

    Pomocí tohoto terminálu spusťte všechny příkazy rozhraní příkazového řádku pro správu clusteru.

Připojení clusteru ke službě Azure Arc:

  1. V terminálu codespace se přihlaste k Azure CLI:

    az login
    

    Tip

    Pokud používáte prostředí Codespace GitHubu v prohlížeči místo desktopové verze VS Code, vrátí spuštění az login chybu localhost. Chybu opravíte tak, že:

    • Otevřete codespace v desktopové verzi VS Code a vraťte se do terminálu prohlížeče a spusťte az loginho znovu.
    • Nebo po zobrazení chyby localhost v prohlížeči zkopírujte adresu URL z prohlížeče a spusťte curl "<URL>" ji na nové kartě terminálu. Měla by se zobrazit odpověď JSON se zprávou "Přihlásili jste se k Microsoft Azure!".
  2. Po přihlášení azure CLI zobrazí všechna vaše předplatná a označí výchozí předplatné hvězdičkou *. Pokud chcete pokračovat s výchozím předplatným, vyberte Enter. V opačném případě zadejte číslo předplatného Azure, které chcete použít.

  3. Zaregistrujte požadované poskytovatele prostředků ve vašem předplatném:

    Poznámka:

    Tento krok stačí spustit jenom jednou pro každé předplatné. K registraci poskytovatelů prostředků potřebujete oprávnění k provedení /register/action operace, která je součástí rolí Přispěvatel předplatného a Vlastník. Další informace najdete v tématu Poskytovatelé a typy prostředků Azure.

    az provider register -n "Microsoft.ExtendedLocation"
    az provider register -n "Microsoft.Kubernetes"
    az provider register -n "Microsoft.KubernetesConfiguration"
    az provider register -n "Microsoft.IoTOperations"
    az provider register -n "Microsoft.DeviceRegistry"
    
  4. Pomocí příkazu az group create vytvořte ve svém předplatném Azure skupinu prostředků pro uložení všech prostředků:

    az group create --location $LOCATION --resource-group $RESOURCE_GROUP
    
  5. Pomocí příkazu az connectedk8s connect povolte cluster Kubernetes a spravujte ho jako součást skupiny prostředků Azure:

    az connectedk8s connect --name $CLUSTER_NAME --location $LOCATION --resource-group $RESOURCE_GROUP
    

    Tip

    Hodnota $CLUSTER_NAME se automaticky nastaví na název vašeho codespace. Pokud chcete použít jiný název, nahraďte proměnnou prostředí.

  6. objectId Získejte aplikaci Microsoft Entra ID, kterou služba Azure Arc ve vašem tenantovi používá, a uložte ji jako proměnnou prostředí.

    export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)
    
  7. Pomocí příkazu az connectedk8s enable-features povolte podporu vlastního umístění v clusteru. Tento příkaz používá objectId aplikaci Microsoft Entra ID, kterou používá služba Azure Arc.

    az connectedk8s enable-features -n $CLUSTER_NAME -g $RESOURCE_GROUP --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locations
    

Ověření clusteru

Pomocí rozšíření Azure IoT Operations pro Azure CLI ověřte, že je hostitel clusteru správně nakonfigurovaný pro nasazení pomocí příkazu verify-host na hostiteli clusteru:

az iot ops verify-host

Tento pomocný příkaz zkontroluje připojení ke koncovým bodům Azure Resource Manageru a služby Microsoft Container Registry.

Vytvoření účtu úložiště a registru schématu

Operace Azure IoT vyžadují ve vašem clusteru registr schématu. Registr schématu vyžaduje účet úložiště Azure, aby mohl synchronizovat informace o schématu mezi cloudem a hraničním zařízením.

Příkaz k vytvoření registru schématu v této části vyžaduje oprávnění Microsoft/Authorization/roleAssignments/write na úrovni skupiny prostředků.

V terminálu Codespaces spusťte následující příkazy rozhraní příkazového řádku.

  1. Nastavte proměnné prostředí pro prostředky, které vytvoříte v této části.

    Zástupný symbol Hodnota
    <STORAGE_ACCOUNT_NAME> Název účtu úložiště. Názvy účtů úložiště musí mít délku 3 až 24 znaků a obsahují jenom číslice a malá písmena.
    <SCHEMA_REGISTRY_NAME> Název registru schématu.
    <SCHEMA_REGISTRY_NAMESPACE> Název oboru názvů registru schématu Obor názvů jednoznačně identifikuje registr schématu v rámci tenanta.
    export STORAGE_ACCOUNT=<STORAGE_ACCOUNT_NAME>
    export SCHEMA_REGISTRY=<SCHEMA_REGISTRY_NAME>
    export SCHEMA_REGISTRY_NAMESPACE=<SCHEMA_REGISTRY_NAMESPACE>
    
  2. Vytvořte účet úložiště s povoleným hierarchickým oborem názvů.

    az storage account create --name $STORAGE_ACCOUNT --location $LOCATION --resource-group $RESOURCE_GROUP --enable-hierarchical-namespace
    
  3. Vytvořte registr schématu, který se připojuje k vašemu účtu úložiště. Tento příkaz také vytvoří kontejner objektů blob označovaný jako schémata v účtu úložiště, pokud ještě neexistuje.

    az iot ops schema registry create --name $SCHEMA_REGISTRY --resource-group $RESOURCE_GROUP --registry-namespace $SCHEMA_REGISTRY_NAMESPACE --sa-resource-id $(az storage account show --name $STORAGE_ACCOUNT -o tsv --query id)
    

Nasazení Azure IoT Operations Preview

V této části nakonfigurujete cluster se závislostmi pro komponenty operací Azure IoT a pak nasadíte operace Azure IoT.

V terminálu Codespaces spusťte následující příkazy rozhraní příkazového řádku.

  1. Inicializace clusteru pro operace Azure IoT

    Tip

    Příkaz init se musí spustit jenom jednou na cluster. Pokud používáte cluster, který už měl nasazený Azure IoT Operations verze 0.7.0, můžete tento krok přeskočit.

    az iot ops init --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --sr-resource-id $(az iot ops schema registry show --name $SCHEMA_REGISTRY --resource-group $RESOURCE_GROUP -o tsv --query id)
    

    Dokončení tohoto příkazu může trvat několik minut. Průběh nasazení můžete sledovat v terminálu.

  2. Nasazení operací Azure IoT Dokončení tohoto příkazu trvá několik minut:

    az iot ops create --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name ${CLUSTER_NAME}-instance
    

    Dokončení tohoto příkazu může trvat několik minut. Průběh nasazení můžete sledovat v terminálu.

    Pokud se zobrazí chyba s informací , že pro přístup k vašemu prostředku je potřeba spravovat vaše zařízení, spusťte az login to znovu a ujistěte se, že se přihlašujete interaktivně pomocí prohlížeče.

Zobrazení prostředků v clusteru

V průběhu nasazení se v rozhraní průběhu rozhraní příkazového řádku zobrazí fáze nasazení, ve které jste. Po dokončení nasazení můžete pomocí příkazů kubectl sledovat změny v clusteru nebo, protože je cluster povolený arc, můžete použít Azure Portal.

Pokud chcete zobrazit pody v clusteru, spusťte následující příkaz:

kubectl get pods -n azure-iot-operations

Pokud chcete zobrazit prostředky na webu Azure Portal, postupujte následovně:

  1. Na webu Azure Portal přejděte do skupiny prostředků, která obsahuje vaši instanci azure IoT Operations, nebo vyhledejte a vyberte Operace Azure IoT.

  2. Vyberte název vaší instance Azure IoT Operations.

  3. Na stránce Přehled vaší instance se na kartě Rozšíření Arc zobrazí prostředky nasazené do clusteru.

    Snímek obrazovky znázorňující instanci operací Azure IoT v clusteru s podporou Arc

Jak jsme tento problém vyřešili?

V tomto rychlém startu jste nakonfigurovali cluster Kubernetes s podporou Arc, aby mohl bezpečně komunikovat s komponentami operací Azure IoT. Potom jste tyto komponenty nasadili do clusteru. V tomto testovacím scénáři máte jeden cluster Kubernetes, který pravděpodobně běží místně na vašem počítači. V produkčním scénáři ale můžete stejným postupem nasadit úlohy do mnoha clusterů napříč mnoha lokalitami.

Vyčištění prostředků

Pokud budete pokračovat k dalšímu rychlému startu, ponechte všechny prostředky.

Pokud chcete odebrat nasazení operací Azure IoT, ale zachovat cluster, použijte příkaz az iot ops delete :

az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP

Pokud chcete odstranit všechny prostředky, které jste vytvořili pro účely tohoto rychlého startu, odstraňte cluster Kubernetes, ve kterém jste nasadili operace Azure IoT, a pak odeberte skupinu prostředků Azure, která obsahovala cluster.

Pokud jste pro tyto rychlé starty použili Codespaces, odstraňte codespace z GitHubu.

Další krok