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

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

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 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 k hostování clusteru.

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.

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. Ve verzi Public Preview jsou podporovány následující oblasti: eastus, eastus2, westus2, westus3, westus3, westeurope nebo northeurope.

    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. Také se automaticky přidají 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 kódspace automaticky 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 příkazového řádku a 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. Nastavte kontext předplatného Azure pro všechny příkazy:

    az account set -s $SUBSCRIPTION_ID
    
  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é.

    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"
    
  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 --subscription $SUBSCRIPTION_ID
    
  5. 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
    

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

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.

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

  1. Vytvořte trezor klíčů. V tomto scénáři použijeme stejný název a skupinu prostředků jako váš cluster. Názvy služby Keyvault mají maximální délku 24 znaků, takže v případě potřeby následující příkaz zkrátí CLUSTER_NAMEproměnnou prostředí.

    az keyvault create --enable-rbac-authorization false --name ${CLUSTER_NAME:0:24} --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. Nasazení operací Azure IoT

    az iot ops init --simulate-plc --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --kv-id $(az keyvault show --name ${CLUSTER_NAME:0:24} -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. Tato rozšíření mají jedinečnou příponu, která identifikuje vaše nasazení. Na předchozím snímku obrazovky je tato přípona -z2ewy.

    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.

  4. Poznamenejte si úplný název rozšíření s názvem mq-.... Tento název použijete v následujících rychlých startech.

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. Neodinstalujte rozšíření zprostředkovatele tajných kódů.

    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, ve kterém jste nasadili operace Azure IoT, a odeberte skupinu prostředků Azure, která cluster obsahovala.

Další krok