Vytvoření standardních pracovních postupů aplikace logiky pro hybridní nasazení ve vlastní infrastruktuře (Preview)
Platí pro: Azure Logic Apps (Standard)
Poznámka:
Tato funkce je ve verzi Preview, za využití se účtují poplatky a podléhá dodatečným podmínkám použití pro verze Preview Microsoft Azure.
Ve scénářích, ve kterých potřebujete používat, řídit a spravovat vlastní infrastrukturu, můžete vytvořit pracovní postupy standardní aplikace logiky pomocí modelu hybridního nasazení v Azure Logic Apps. Tento model poskytuje možnosti pro vytváření a hostování řešení integrace pro částečně propojená prostředí, která vyžadují místní zpracování, úložiště a síťový přístup. Vaše infrastruktura může zahrnovat místní systémy, privátní cloudy a veřejné cloudy. S hybridním modelem využívá pracovní postup aplikace logiky Standard modul runtime Azure Logic Apps, který je hostovaný místně jako součást rozšíření Azure Container Apps.
Přehled architektury, který ukazuje, kde jsou pracovní postupy standardní aplikace logiky hostované a spuštěné v částečně připojeném prostředí, najdete v tématu Nastavení požadavků na infrastrukturu pro hybridní nasazení pro aplikace logiky Standard.
Tento průvodce postupy ukazuje, jak vytvořit a nasadit pracovní postup standardní aplikace logiky pomocí modelu hybridního nasazení po nastavení nezbytných místních prostředků pro hostování aplikace.
Omezení
Hybridní nasazení pro aplikace logiky Standard je k dispozici a podporuje se pouze ve stejných oblastech jako Azure Container Apps v AKS s podporou Azure Arc.
V této verzi Preview aktuálně nejsou k dispozici následující funkce:
- Ověřování spravovaných identit
- Přístup SAP prostřednictvím integrovaného konektoru SAP
- Vlastní kód jazyka C# s rozhraním .NET Framework a integrovanou akcí s názvem Volání místní funkce v této aplikaci logiky
- XSLT 1.0 pro vlastní kód
Clustery Kubernetes s podporou Azure Arc v současné době nepodporují ověřování spravovaných identit pro spravovaná připojení rozhraní API. Místo toho musíte vytvořit vlastní registraci aplikace pomocí ID Microsoft Entra. Další informace najdete v dalších krocích tohoto průvodce.
Některé triggery založené na funkcích, jako jsou Azure Blob, Cosmos DB a Event Hubs, vyžadují připojení k účtu úložiště Azure přidruženému k vaší aplikaci logiky Standard. Pokud používáte nějaké triggery založené na funkcích, přidejte do proměnných prostředí vaší standardní aplikace logiky na webu Azure Portal nebo v souboru local.settings.json projektu logiky v editoru Visual Studio Code následující nastavení aplikace a zadejte svůj účet úložiště připojovací řetězec:
"Values": { "name": "AzureWebJobsStorage", "value": "{storage-account-connection-string}" }
Požadavky
Účet a předplatné Azure. Pokud předplatné nemáte, zaregistrujte si bezplatný účet Azure.
Následující místní prostředky, které musí existovat ve stejné síti pro požadované připojení:
- Cluster Azure Kubernetes Service připojený ke službě Azure Arc
- Databáze SQL pro místní ukládání historie spuštění pracovního postupu, vstupů a výstupů pro zpracování
- Sdílená složka SMB (Server Message Block) pro místní ukládání artefaktů používaných vašimi pracovními postupy
Pokud chcete tyto požadavky splnit, nastavte tyto místní prostředky tak, aby podporovaly hybridní nasazení pro aplikace logiky Standard.
Pokud chcete pracovat v editoru Visual Studio Code, potřebujete rozšíření Azure Logic Apps (Standard) pro Visual Studio Code se souvisejícími požadavky.
Tip
Pokud máte novou instalaci editoru Visual Studio Code, před pokusem o nasazení do vlastní infrastruktury ověřte, že můžete místně spustit základní pracovní postup Standard. Toto testovací spuštění pomáhá izolovat všechny chyby, které mohou existovat v projektu standardního pracovního postupu.
Vytvoření standardní aplikace logiky
Po splnění požadavků vytvořte aplikaci standardní logiky pro hybridní nasazení pomocí následujícího postupu:
Do vyhledávacího pole webu Azure Portal zadejte aplikace logiky a vyberte Aplikace logiky.
Na panelu nástrojů stránky Aplikace logiky vyberte Přidat.
Na stránce Vytvořit aplikaci logiky v části Standard vyberte Hybridní.
Na stránce Vytvořit aplikaci logiky (hybridní) zadejte následující informace:
Vlastnost Požaduje se Hodnota Popis Předplatné Ano < Azure-subscription-name> Název vašeho předplatného Azure
Tento příklad používá průběžné platby.Skupina prostředků Ano < Azure-resource-group-name> Skupina prostředků Azure, ve které vytvoříte hybridní aplikaci a související prostředky. Tento název musí být jedinečný napříč oblastmi a může obsahovat pouze písmena, číslice, pomlčky (-), podtržítka (_), závorky (()) a tečky (.).
Tento příklad vytvoří skupinu prostředků s názvem Hybrid-RG.Název aplikace logiky Ano < název aplikace logiky> Název aplikace logiky, který musí být v různých oblastech jedinečný a může obsahovat jenom malá písmena, číslice nebo pomlčky (-).
V tomto příkladu se používá my-logic-app-hybrid.Oblast Ano < Oblast Azure> Oblast Azure podporovaná pro aplikace kontejnerů Azure v AKS s podporou Azure Arc.
V tomto příkladu se používá USA – východ.Propojené prostředí kontejnerové aplikace Ano < connected-environment-name> Cluster Kubernetes s podporou Arc, který jste vytvořili jako prostředí nasazení pro vaši aplikaci logiky. Další informace najdete v tématu Kurz: Povolení Azure Container Apps v Kubernetes s podporou Azure Arc. Konfigurace nastavení úložiště Ano Povoleno nebo zakázáno Pokračuje na kartě Úložiště na stránce Vytvořit aplikaci logiky (hybridní). Následující příklad ukazuje stránku pro vytvoření aplikace logiky na webu Azure Portal s ukázkovými hodnotami:
Na stránce Úložiště zadejte následující informace o poskytovateli úložiště a sdílené složce SMB, kterou jste předtím nastavili:
Vlastnost Požaduje se Hodnota Popis SQL připojovací řetězec Ano < sql-server-connection-string> SQL Server připojovací řetězec, který jste předtím uložili. Další informace najdete v tématu Vytvoření poskytovatele úložiště SQL Serveru. Název hostitele Ano < název hostitele sdílené složky> Název hostitele sdílené složky SMB. Cesta ke sdílené složce Ano < cesta ke sdílené složce> Cesta ke sdílené složce SMB. Uživatelské jméno Ano < file-share-user-name> Uživatelské jméno sdílené složky SMB. Heslo Ano < file-share-password> Heslo sdílené složky SMB. Po dokončení vyberte Zkontrolovat a vytvořit. Potvrďte zadané informace a vyberte Vytvořit.
Po dokončení nasazení Azure vyberte Přejít k prostředku.
Poznámka:
Na portálu existuje několik známých problémů, které se týkají aplikací logiky Standard, které používají možnost hybridního hostování. Tyto aplikace logiky se zobrazují s popiskem kontejnerové aplikace , které se liší od standardních aplikací logiky, které používají buď plán služby pracovního postupu, nebo možnost hostování služby App Service Environment V3. Další informace najdete v tématu Známé problémy a řešení potíží – Azure Portal.
Na webu Azure Portal v nabídce prostředků v části Pracovní postupy vyberte Pracovní postupy.
Na panelu nástrojů na stránce Pracovní postupy vyberte Přidat a přidejte prázdný stavový nebo bezstavový pracovní postup.
Po otevření návrháře sestavte pracovní postup přidáním triggeru a akcí.
Další informace najdete v tématu Vytvoření pracovního postupu s triggerem a akcemi.
Poznámka:
Standardní aplikace logiky s možností hybridního hostování automaticky vytvoří novou revizi, což je koncept správy verzí z Azure Container Apps, kdykoli uložíte změny podřízeného pracovního postupu. Aktivace této revize může chvíli trvat, což znamená, že po uložení změn může trvat několik okamžiků, než pracovní postup otestujete.
Pokud se vaše změny v pracovním postupu ještě nezobrazují, můžete zkontrolovat, jestli revize existuje:
V nabídce prostředků v části Revize a vyberte Revize a repliky.
Na stránce Revize a repliky na kartě Aktivní revize zkontrolujte, jestli se v seznamu zobrazí nová revize.
Další informace naleznete v následujících zdrojích:
Změna přidělení procesoru a paměti na webu Azure Portal
Pokud chcete upravit nastavení procesoru a paměti pro prostředek aplikace logiky Standard, postupujte takto:
Na webu Azure Portal otevřete prostředek aplikace logiky Standard.
V nabídce prostředků v části Nastavení vyberte Kontejnery.
Na panelu nástrojů Na stránce Kontejnery vyberte Upravit a nasadit, čímž se otevře podokno Upravit kontejner .
Na kartě Vlastnosti v části Přidělení prostředků kontejneru změňte následující hodnoty tak, aby odpovídaly vašemu scénáři:
Vlastnost Hodnota Popis Jádra procesoru - Výchozí: 1
- Minimum: 0,25
- Maximum: 2Určuje jádra procesoru, která se mají přiřadit k vaší instanci kontejneru. Tuto hodnotu můžete zvýšit o 0,25 jader až o maximální hodnotu. Celkový počet všech instancí kontejneru pro tuto aplikaci logiky je omezený na 2 jádra. Paměť - Výchozí: 2
- Minimálně: 0,1
- Maximum: 4Určuje kapacitu paměti v gibibajtech (Gi) pro přiřazení k instanci kontejneru. Tuto hodnotu můžete zvýšit o 0,1 Gi až na maximální hodnotu. Celková kapacita všech instancí kontejneru pro tuto aplikaci logiky je omezená na 4 Gi. Po dokončení vyberte Uložit.
Změna škálování repliky na webu Azure Portal
Automatické škálování pro rozsah replik, které se nasazují v reakci na událost triggeru, můžete řídit. Replika je nová instance revize nebo verze prostředku aplikace logiky. Pokud chcete změnit minimální a maximální hodnoty pro tento rozsah, můžete upravit pravidla škálování a určit typy událostí, které aktivují škálování. Další informace najdete v tématu Nastavení pravidel škálování ve službě Azure Container Apps.
Na webu Azure Portal otevřete prostředek aplikace logiky Standard.
V nabídce prostředků v části Nastavení vyberte Škálovat.
Na stránce Škálování v části Nastavení pravidla škálování změňte následující hodnoty tak, aby odpovídaly vašemu scénáři:
Vlastnost Hodnota Popis Minimální repliky - Výchozí: 1
- Minimálně: 0
- Maximum: 1000Určuje minimální počet replik povolených pro revizi v daném okamžiku. Tato hodnota přepíše pravidla škálování a musí být menší než maximální počet replik. Maximální počet replik - Výchozí: 30
- Minimálně: 0
- Maximum: 1000Určuje maximální počet replik povolených pro revizi v daném okamžiku. Tato hodnota přepíše pravidla škálování. Po dokončení vyberte Uložit.
Řízení příchozího provozu do aplikace logiky na webu Azure Portal
Aplikaci logiky můžete zpřístupnit veřejnému webu, virtuální síti a dalším aplikacím logiky ve vašem prostředí povolením příchozího přenosu dat. Azure vynucuje nastavení příchozího přenosu dat prostřednictvím sady pravidel, která řídí směrování externího a interního provozu do vaší aplikace logiky. Pokud povolíte příchozí přenos dat, nemusíte vytvářet Azure Load Balancer, veřejnou IP adresu ani jiné prostředky Azure, abyste povolili příchozí požadavky HTTP nebo provoz TCP. Další informace najdete v tématu Příchozí přenos dat v kontejnerových aplikacích.
Poznámka:
Když povolíte příchozí přenos dat, veškerý provoz se ve výchozím nastavení přesměruje na nejnovější revizi. Přejděte na stránku Správa revizí a změňte nastavení provozu.
V nabídce prostředků v části Nastavení vyberte Příchozí přenos dat.
Na stránce Příchozí přenos dat vedle položky Příchozí přenos dat vyberte pole Povoleno.
Na základě vašeho scénáře nakonfigurujte zbývající možnosti.
Další informace najdete v následující dokumentaci:
Nastavení ověřování pro spravovaná připojení rozhraní API
Pokud chcete ověřit spravovaná připojení rozhraní API v pracovních postupech standardních aplikací logiky hostovaných v clusterech Kubernetes s podporou Azure Arc, musíte vytvořit vlastní registraci aplikace pomocí ID Microsoft Entra. Hodnoty registrace aplikace pak můžete přidat jako proměnné prostředí v prostředku aplikace logiky Standard, abyste místo toho ověřili připojení rozhraní API.
Vytvoření registrace aplikace pomocí Microsoft Entra ID
portál Azure
Na webu Azure Portal postupujte podle rychlého startu: Zaregistrujte aplikaci na platformě Microsoft Identity Platform a vytvořte registraci aplikace.
Po dokončení vytváření na portálu vyhledejte novou registraci aplikace.
V nabídce prostředků vyberte Přehled a uložte následující hodnoty, které budete potřebovat později pro ověřování připojení:
- Client ID
- ID tenanta
- Tajný klíč klienta
Pro ID objektu postupujte takto:
Na stránce Přehled vyberte spravovanou aplikaci v odkazu na místní adresář pro registraci vaší aplikace, jak je znázorněno na následujícím obrázku:
Na stránce, která se otevře, zkopírujte a uložte hodnotu ID objektu:
Teď přidejte uložené hodnoty jako proměnné prostředí do prostředku aplikace logiky Standard.
Azure CLI
K vytvoření registrace aplikace použijte příkaz az ad sp create.
Pokud chcete zkontrolovat všechny vlastnosti, použijte příkaz az ad sp show.
Ve výstupu obou příkazů vyhledejte a uložte následující hodnoty, které budete potřebovat později pro ověřování připojení:
- Client ID
- ID objektu
- ID tenanta
- Tajný klíč klienta
Teď přidejte uložené hodnoty jako proměnné prostředí do prostředku aplikace logiky Standard.
Přidání hodnot registrace aplikace do standardní aplikace logiky
Na webu Azure Portal přejděte k prostředku aplikace logiky Standard.
V nabídce prostředků v části Nastavení vyberte Kontejnery a pak vyberte kartu Proměnné prostředí.
Další informace o nastavení aplikace a nastavení hostitele najdete v tématu Úprava nastavení aplikace a nastavení hostitele.
Na panelu nástrojů vyberte Upravit a nasadit.
V podokně Upravit kontejner vyberte Proměnné prostředí a pak vyberte Přidat.
Z následující tabulky přidejte každou proměnnou prostředí se zadanou hodnotou:
Proměnná prostředí Hodnota WORKFLOWAPP_AAD_CLIENTID < my-client-ID> WORKFLOWAPP_AAD_OBJECTID < my-object-ID> WORKFLOWAPP_AAD_TENANTID < my-tenant-ID> WORKFLOWAPP_AAD_CLIENTSECRET < my-client-secret> Po dokončení vyberte Uložit.
Ukládání a odkaz na ID klienta a tajný klíč klienta
ID klienta a tajné kódy klienta můžete uložit do prostředku aplikace logiky jako tajné kódy a pak tyto hodnoty místo toho odkazovat na kartu Proměnné prostředí.
Na webu Azure Portal přejděte k prostředku aplikace logiky.
V nabídce prostředků v části Nastavení vyberte Tajné kódy.
Na panelu nástrojů vyberte Přidat.
V podokně Přidat tajný kód zadejte pro každý tajný klíč následující informace a pak vyberte Přidat:
Key Hodnota WORKFLOWAPP_AAD_CLIENTID < my-client-ID> WORKFLOWAPP_AAD_CLIENTSECRET < my-client-secret>
Známé problémy a jejich řešení
portál Azure
Vaše standardní aplikace logiky se nasadí a zobrazí se jako prostředek Azure Container Apps, ale typ se zobrazí jako aplikace logiky (hybridní).
Azure obsahuje vaši standardní aplikaci logiky v seznamu prostředků Container Apps , nikoli seznam prostředků Logic Apps .
Připojené prostředí Azure Container Apps obsahuje seznam standardní aplikace logiky jako typ aplikace s názvem Hybridní aplikace logiky.
Aby se změny v návrháři projevily po uložení pracovního postupu, může být nutné občas aktualizovat návrháře.
Clustery Kubernetes s podporou Arc
Ve výjimečných scénářích si můžete všimnout vysokého využití paměti ve vašem clusteru. Pokud chcete tomuto problému zabránit, horizontálně navyšte kapacitu nebo přidejte automatické škálování pro fondy uzlů.
Hostitel funkcí není spuštěný
Po nasazení aplikace logiky Standard ověřte, že je aplikace správně spuštěná.
Na webu Azure Portal přejděte k prostředku aplikace kontejneru pro vaši aplikaci logiky.
V nabídce prostředků vyberte Přehled.
Na stránce Přehled vedle pole Adresa URL aplikace vyberte adresu URL prostředku.
Pokud aplikace běží správně, otevře se okno prohlížeče a zobrazí se následující zpráva:
Pokud má vaše aplikace nějaké chyby, zkontrolujte, jestli jsou pody AKS správně spuštěné. Ve Windows PowerShellu spusťte následující příkazy:
az aks get-credentials {resource-group-name} --name {aks-cluster-name} --admin kubectl get ns kubectl get pods -n logicapps-aca-ns kubectl describe pod {logic-app-pod-name} -n logicapps-aca-ns
Další informace najdete v následující dokumentaci:
Cluster nemá dostatek uzlů.
Pokud jste spustili předchozí příkaz a zobrazilo se upozornění podobné následujícímu příkladu, cluster nemá dostatek uzlů ke zpracování:
Warning: FailedScheduling 4m52s (x29 over 46m) default-scheduler 0/2 nodes are available: 2 Too many pods. preemption: 0/2 nodes are available: 2 No preemption victims found for incoming pod.
Pokud chcete zvýšit počet uzlů a nastavit automatické škálování, postupujte takto:
Na webu Azure Portal přejděte do instance služby Kubernetes.
V nabídce instance v části Nastavení vyberte Fondy uzlů.
Na panelu nástrojů Node tools vyberte + Přidat fond uzlů.
Další informace najdete v následující dokumentaci:
- Vytvoření fondů uzlů pro cluster ve službě Azure Kubernetes Service (AKS)
- Správa fondů uzlů pro cluster ve službě Azure Kubernetes Service (AKS)
- Přehled automatického škálování clusteru ve službě Azure Kubernetes Service (AKS)
- Použití automatického škálování clusteru ve službě Azure Kubernetes Service (AKS)
Ovladač SMB Container Storage Interface (CSI) není nainstalovaný
Po spuštění předchozího kubectl describe pod
příkazu zkontrolujte, jestli je správně nainstalovaný ovladač CSI pro sdílenou složku SMB, pokud se zobrazí následující upozornění:
Warning FailedScheduling 5m16s (x2 over 5m27s) default-scheduler 0/14 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/14 nodes are available: 14 Preemption is not helpful for scheduling.
Normal NotTriggerScaleUp 9m49s (x31 over 14m) cluster-autoscaler pod didn't trigger scale-up: 3 pod has unbound immediate PersistentVolumeClaims
Pokud to chcete ověřit, spusťte z Windows PowerShellu následující příkazy:
kubectl get csidrivers
Pokud seznam výsledků, který se zobrazí, neobsahuje smb.csi.k8s.io, z příkazového řádku Windows a spusťte následující příkaz:
helm repo add csi-driver-smb
helm repo update
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.15.0
Pokud chcete zkontrolovat stav podů ovladače SMB CSI, spusťte z příkazového řádku Windows následující příkaz:
kubectl --namespace=kube-system get pods --selector="app.kubernetes.io/name=csi-driver-smb" --watch
Další informace najdete v tématu Ovladače rozhraní služby Container Storage (CSI) ve službě Azure Kubernetes Service (AKS).