Rychlý start: Nasazení Azure IoT Operations Preview do clusteru Kubernetes s podporou arc

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.

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, které zahrnují Azure IoT Orchestrator Preview. 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.

Mezi služby nasazené v tomto rychlém startu patří:

Následující rychlé starty v této sérii vycházejí z této série, které definují ukázkové prostředky, kanály zpracování dat a vizualizace. Pokud chcete nasadit operace Azure IoT pro spouštění vlastních úloh, přečtěte si téma Příprava clusteru Kubernetes s podporou Azure Arc a nasazení rozšíření Azure IoT Operations Preview do clusteru Kubernetes.

Než začnete

Tato série rychlých startů vám poskytne příležitost vyhodnotit kompletní scénář s využitím operací Azure IoT. Ve skutečném vývojovém nebo produkčním prostředí by tyto úlohy provádělo více týmů, které spolupracují, 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. Také doporučujeme používat GitHub Codespaces jako virtuální prostředí, ve kterém můžete rychle začít nasazovat prostředky a spouštět příkazy bez instalace nových nástrojů na vlastní počítače. Další informace o těchto možnostech najdete v požadavcích.

Jakmile budete připraveni získat další informace o jednotlivých rolích a úkolech, poskytují návody konkrétnější podrobnosti o implementaci a oprávněních.

Požadavky

Projděte si požadavky na základě prostředí, které používáte k hostování clusteru Kubernetes.

Pro účely tohoto rychlého startu doporučujeme používat virtuální prostředí (GitHub Codespaces) jako rychlý způsob, jak začít bez instalace nových nástrojů.

V rámci tohoto rychlého startu vytvoříte cluster v GitHub Codespaces, AKS Edge Essentials nebo K3s v Ubuntu Linuxu. Pokud chcete tento rychlý start spustit znovu s clusterem, který už má nasazené operace Azure IoT, projděte si kroky v části Vyčištění prostředků a před pokračováním odinstalujte operace Azure IoT.

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. Připojení cluster Kubernetes do Služby Azure Arc pro vzdálenou správu.
  2. Vytvořte službu Azure Key Vault pro správu tajných kódů pro váš cluster.
  3. Nakonfigurujte cluster s úložištěm tajných kódů a instančním objektem pro komunikaci s cloudovými prostředky.
  4. Nasazení operací Azure IoT do clusteru

Připojení clusteru Kubernetes do Služby 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 účely tohoto rychlého startu použijte GitHub Codespaces, AKS Edge Essentials ve Windows nebo K3s v Ubuntu Linuxu.

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

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.

Začínáme s codespace:

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

    Vytvoření codespace pro explore-iot-operations

    V tomto kroku nemusíte zadávat doporučené tajné kódy. Pokud to uděláte, uloží se na váš účet GitHubu, aby se použily v tomto a budoucím codespaces. Také se přidají jako proměnné prostředí v terminálu codespace a nemusíte spouštět příkazy rozhraní příkazového řádku v další části, která konfiguruje proměnné předplatného, skupiny prostředků nebo proměnné umístění.

    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. Ve verzi Public Preview jsou podporovány následující oblasti: eastus, eastus2, westus2, westus3, westus3, westeurope nebo northeurope.
  2. Vyberte Vytvořit nový prostor kódu.

  3. 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

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

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

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

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

  1. Na počítači, na kterém jste nasadili cluster Kubernetes nebo váš terminál codespace, se přihlaste pomocí Azure CLI:

    az login
    

    Tip

    Pokud v prohlížeči používáte codespace GitHubu, az login vrátí po přihlášení chybu localhost v okně prohlížeče. Pokud chcete tento problém vyřešit, proveďte některou z těchto akcí:

    • 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. Nastavte proměnnou prostředí pro název clusteru, protože se zobrazí ve vaší skupině prostředků.

    # Name of the Arc-enabled cluster to create in your resource group
    export CLUSTER_NAME=<NEW_CLUSTER_NAME>
    
  3. Nastavte proměnné prostředí pro vaše předplatné Azure, umístění a novou skupinu prostředků. Pokud používáte GitHub Codespaces a při vytváření kódu nastavíte tyto tajné kódy, můžete tento krok přeskočit.

    # Id of the subscription where your resource group and Arc-enabled cluster will be created
    export SUBSCRIPTION_ID=<SUBSCRIPTION_ID>
    
    # Azure region where the created resource group will be located
    # Currently supported regions: "eastus", "eastus2", "westus", "westus2", "westus3", "westeurope", or "northeurope"
    export LOCATION=<REGION>
    
    # Name of a new resource group to create which will hold the Arc-enabled cluster and Azure IoT Operations resources
    export RESOURCE_GROUP=<NEW_RESOURCE_GROUP_NAME>
    
  4. Nastavte kontext předplatného Azure pro všechny příkazy:

    az account set -s $SUBSCRIPTION_ID
    
  5. Zaregistrujte požadované poskytovatele prostředků ve vašem předplatném:

    az provider register -n "Microsoft.ExtendedLocation"
    az provider register -n "Microsoft.Kubernetes"
    az provider register -n "Microsoft.KubernetesConfiguration"
    az provider register -n "Microsoft.IoTOperationsOrchestrator"
    az provider register -n "Microsoft.IoTOperationsMQ"
    az provider register -n "Microsoft.IoTOperationsDataProcessor"
    az provider register -n "Microsoft.DeviceRegistry"
    
  6. 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 --subscription $SUBSCRIPTION_ID
    
  7. Pomocí příkazu az connectedk8s connect povolte cluster Kubernetes a spravujte ho jako součást skupiny prostředků Azure:

    az connectedk8s connect -n $CLUSTER_NAME -l $LOCATION -g $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
    
  8. objectId Získejte aplikaci Microsoft Entra ID, kterou služba Azure Arc 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)
    
  9. 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. Spusťte tento příkaz na počítači, na kterém jste nasadili cluster Kubernetes:

    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.

Nasazení Azure IoT Operations Preview

V této části pomocí příkazu az iot ops init nakonfigurujete cluster tak, aby mohl bezpečně komunikovat s komponentami operací Azure IoT a trezorem klíčů a pak nasadit operace Azure IoT.

  1. Vytvořte trezor klíčů. Nahraďte zástupné parametry vlastními informacemi.

    Zástupný symbol Hodnota
    RESOURCE_GROUP Název vaší skupiny prostředků, která obsahuje připojený cluster.
    KEYVAULT_NAME Název nového trezoru klíčů
    az keyvault create --enable-rbac-authorization false --name $KEYVAULT_NAME --resource-group $RESOURCE_GROUP
    

    Tip

    Pro tajné kódy můžete použít existující trezor klíčů, ale ověřte, že je model oprávnění nastavený na zásady přístupu k trezoru. Toto nastavení můžete zkontrolovat na webu Azure Portal v části Konfigurace accessu existujícího trezoru klíčů. Nebo pomocí příkazu az keyvault show zkontrolujte, že enableRbacAuthorization je false.

  2. Na vývojovém počítači nebo v terminálu codespace spusťte následující příkaz rozhraní příkazového řádku. Nahraďte zástupné parametry vlastními informacemi.

    Zástupný symbol Hodnota
    CLUSTER_NAME Název připojeného clusteru.
    RESOURCE_GROUP Název vaší skupiny prostředků, která obsahuje připojený cluster.
    KEYVAULT_NAME Název trezoru klíčů.
    az iot ops init --simulate-plc --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --kv-id $(az keyvault show --name <KEYVAULT_NAME> -o tsv --query id)
    

    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.

    Tip

    Pokud jste předtím spustili az iot ops init , automaticky se vytvořila registrace aplikace v Microsoft Entra ID za vás. Tuto registraci můžete znovu použít místo toho, abyste pokaždé vytvořili novou. Pokud chcete použít existující registraci aplikace, přidejte volitelný parametr --sp-app-id <APPLICATION_CLIENT_ID>.

Zobrazení prostředků v clusteru

Během nasazování můžete sledovat prostředky použité v clusteru. Pomocí příkazů kubectl můžete 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

Dokončení nasazení může trvat několik minut. Pokračujte spuštěním get pods příkazu a aktualizujte zobrazení.

Pokud chcete cluster zobrazit na webu Azure Portal, postupujte následovně:

  1. Na webu Azure Portal přejděte do skupiny prostředků, která obsahuje váš cluster.

  2. V přehledu skupiny prostředků vyberte název clusteru.

  3. V clusteru vyberte rozšíření v části Nastavení nabídky.

    Snímek obrazovky znázorňující nasazená rozšíření v clusteru s podporou Arc

    Uvidíte, že ve vašem clusteru běží rozšíření typu microsoft.iotoperations.x, což je název skupiny pro všechny komponenty operací Azure IoT a službu orchestrace.

    Existuje také rozšíření označované jako akvsecretsprovider. Toto rozšíření je zprostředkovatel tajných kódů, který jste nakonfigurovali a nainstalovali do clusteru az iot ops init pomocí příkazu. Během testování můžete komponenty operací Azure IoT odstranit a přeinstalovat, ale rozšíření zprostředkovatele tajných kódů ponechte v clusteru.

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 odstranit nasazení operací Azure IoT, ale naplánujte jeho přeinstalaci v clusteru, nezapomeňte v clusteru zachovat poskytovatele tajných kódů.

  1. Ve skupině prostředků na webu Azure Portal vyberte cluster.

  2. Na stránce prostředku clusteru vyberte Rozšíření.

  3. Vyberte všechna rozšíření typu microsoft.iotoperations.x a microsoft.deviceregistry.assets a pak vyberte Odinstalovat. Rozšíření zprostředkovatele tajných kódů nemusíte odinstalovat:

    Snímek obrazovky znázorňující rozšíření, která se mají odinstalovat

  4. Vraťte se do skupiny prostředků a vyberte prostředek vlastního umístění a pak vyberte Odstranit.

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

Další krok