Vytváření a nasazování pracovních postupů aplikací logiky založených na jednom tenantovi s využitím Logic Apps s podporou Azure Arc (Preview)
Poznámka:
Tato funkce je ve verzi Preview a podléhá dodatečným podmínkám použití pro microsoft Azure Preview.
Pomocí Logic Apps s podporou Azure Arc můžete vytvářet a nasazovat pracovní postupy aplikací logiky založené na jednom tenantovi do infrastruktury Kubernetes, kterou provozujete a spravujete. Vaše aplikace logiky běží ve vlastním umístění, které je namapované na cluster Kubernetes s podporou Azure Arc, kde jste nainstalovali a povolili sadu rozšíření platformy Aplikace Azure Service.
Tento cluster může být například Azure Kubernetes Service, holé počítače Kubernetes nebo jiné nastavení. Sada rozšíření umožňuje spouštět služby platformy, jako jsou Azure Logic Apps, Aplikace Azure Service a Azure Functions v clusteru Kubernetes.
Další informace najdete v následující dokumentaci:
- Co je Logic Apps s podporou Azure Arc?
- Jednoklient a víceklient v Azure Logic Apps
- Přehled služby Azure Arc
- Přehled služby Azure Kubernetes Service
- Co je Kubernetes s podporou Azure Arc?
- Vlastní umístění v Kubernetes s podporou Azure Arc
- App Service, Functions a Logic Apps ve službě Azure Arc (Preview)
- Nastavení clusteru Kubernetes s podporou služby Azure Arc pro provoz služeb App Service, Functions a Logic Apps (Preview)
Požadavky
Tato část popisuje běžné předpoklady pro všechny přístupy a nástroje, které můžete použít k vytvoření a nasazení pracovních postupů aplikace logiky. Spolu s odpovídajícími kroky se zobrazí požadavky specifické pro konkrétní nástroje.
Účet Azure s aktivním předplatným. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.
Prostředí Kubernetes s clusterem Kubernetes s podporou Azure Arc a vlastním umístěním, kde můžete hostovat a spouštět Azure Logic Apps, Aplikace Azure Service a Azure Functions.
Důležité
Ujistěte se, že používáte stejné umístění prostředků pro vaše prostředí Kubernetes, vlastní umístění a aplikaci logiky.
Při vytváření rozšíření sady prostředků služby App Service v clusteru Kubernetes můžete změnit výchozí chování škálování pro spouštění pracovních postupů aplikace logiky. Při vytváření rozšíření pomocí příkazu
az k8s-extension create
Azure CLI nezapomeňte zahrnout nastavení konfigurace:keda.enabled=true
az k8s-extension create {other-command-options} --configuration-settings "keda.enabled=true"
Další informace najdete v následující dokumentaci:
Vlastní identita Microsoft Entra
Pokud vaše pracovní postupy potřebují používat nějaká připojení hostovaná v Azure, jako je Office 365 Outlook nebo Azure Storage, musí vaše aplikace logiky k ověřování použít identitu Microsoft Entra. Logic Apps s podporou Azure Arc se může spouštět na jakékoli infrastruktuře, ale vyžaduje identitu, která má oprávnění k používání připojení hostovaných v Azure. Pokud chcete tuto identitu nastavit, vytvořte registraci aplikace v Microsoft Entra ID, které vaše aplikace logiky používá jako požadovanou identitu.
Poznámka:
Podpora spravovaných identit je momentálně pro Logic Apps s podporou Azure Arc nedostupná.
Pokud chcete vytvořit registraci aplikace Microsoft Entra pomocí Azure CLI, postupujte takto:
Pomocí příkazu vytvořte registraci
az ad sp create
aplikace.Pokud chcete zkontrolovat všechny podrobnosti, spusťte
az ad sp show
příkaz.Ve výstupu obou příkazů vyhledejte a uložte ID klienta, ID objektu, ID tenanta a tajné hodnoty klienta, které je potřeba zachovat pro pozdější použití.
Pokud chcete vytvořit registraci aplikace Microsoft Entra pomocí webu Azure Portal, postupujte takto:
Pomocí webu Azure Portal vytvořte novou registraci aplikace Microsoft Entra.
Po dokončení vytváření na portálu vyhledejte novou registraci aplikace.
V nabídce registrace vyberte Přehled a uložte ID klienta, ID tenanta a hodnoty tajných klíčů klienta.
Id objektu najdete tak, že vedle spravované aplikace v poli místního adresáře vyberete název registrace aplikace. V zobrazení vlastností zkopírujte ID objektu.
Vytváření a nasazování aplikací logiky
Na základě toho, jestli chcete použít Azure CLI nebo Visual Studio Code, vyberte odpovídající kartu a zkontrolujte konkrétní požadavky a kroky.
Než začnete, musíte mít následující položky:
Nejnovější rozšíření Azure CLI nainstalované na místním počítači.
Pokud toto rozšíření nemáte, projděte si průvodce instalací vašeho operačního systému nebo platformy.
Pokud si nejste jistí, že máte nejnovější verzi, zkontrolujte prostředí a verzi rozhraní příkazového řádku podle pokynů.
Rozšíření Azure Logic Apps (Standard) ve verzi Preview pro Azure CLI
I když je Azure Logic Apps pro jednoho tenanta obecně dostupný, rozšíření Azure Logic Apps je stále ve verzi Preview.
Skupina prostředků Azure pro vytvoření aplikace logiky
Pokud tuto skupinu prostředků nemáte, vytvořte ji podle kroků.
Účet úložiště Azure, který se bude používat s aplikací logiky pro uchovávání dat a historie spuštění.
Pokud tento účet úložiště nemáte, můžete ho vytvořit při vytváření aplikace logiky nebo můžete podle pokynů vytvořit účet úložiště.
Kontrola verze prostředí a rozhraní příkazového řádku
Přihlaste se k portálu Azure. Spuštěním následujícího příkazu zkontrolujte, jestli je vaše předplatné aktivní:
az login
Spuštěním následujícího příkazu zkontrolujte verzi Azure CLI v terminálu nebo příkazovém okně:
az --version
Nejnovější verzi najdete v nejnovější zprávě k vydání verze.
Pokud nemáte nejnovější verzi, aktualizujte instalaci podle průvodce instalací operačního systému nebo platformy.
Instalace rozšíření Azure Logic Apps (Standard) pro Azure CLI
Nainstalujte rozšíření Azure Logic Apps (Standard) ve verzi Preview pro Azure CLI spuštěním následujícího příkazu:
az extension add --yes --source "https://aka.ms/logicapp-latest-py2.py3-none-any.whl"
Vytvořit skupinu zdrojů
Pokud ještě nemáte skupinu prostředků pro aplikaci logiky, vytvořte ji spuštěním příkazu az group create
. Pokud jste pro svůj účet Azure ještě nenastavili výchozí předplatné, nezapomeňte použít --subscription
parametr s názvem nebo identifikátorem předplatného. Jinak tento parametr nemusíte používat --subscription
.
Tip
Pokud chcete nastavit výchozí předplatné, spusťte následující příkaz a nahraďte MySubscription
názvem nebo identifikátorem vašeho předplatného.
az account set --subscription MySubscription
Následující příkaz například vytvoří skupinu prostředků pojmenovanou MyResourceGroupName
pomocí předplatného Azure s názvem MySubscription
v umístění eastus
:
az group create --name MyResourceGroupName
--subscription MySubscription
--location eastus
Pokud se vaše skupina prostředků úspěšně vytvořila, výstup zobrazí provisioningState
následující Succeeded
:
<...>
"name": "testResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
<...>
Vytvoření aplikace logiky
Pokud chcete vytvořit aplikaci logiky s podporou Azure Arc, spusťte příkaz az logicapp create
s následujícími požadovanými parametry. Umístění prostředků pro vaši aplikaci logiky, vlastní umístění a prostředí Kubernetes musí být stejná.
Parametry | Popis |
---|---|
--name -n |
Jedinečný název aplikace logiky |
--resource-group -g |
Název skupiny prostředků, ve které chcete vytvořit aplikaci logiky. Pokud ho nemáte používat, vytvořte skupinu prostředků. |
--storage-account -s |
Účet úložiště, který se má použít s vaší aplikací logiky. Pro účty úložiště ve stejné skupině prostředků použijte řetězcovou hodnotu. Pro účty úložiště v jiné skupině prostředků použijte ID prostředku. |
az logicapp create --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--storage-account MyStorageAccount --custom-location MyCustomLocation
Pokud chcete vytvořit aplikaci logiky s podporou Azure Arc pomocí privátní image služby Azure Container Registry (ACR), spusťte příkaz az logicapp create
s následujícími požadovanými parametry:
az logicapp create --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--storage-account MyStorageAccount --custom-location MyCustomLocation
--deployment-container-image-name myacr.azurecr.io/myimage:tag
--docker-registry-server-password MyPassword
--docker-registry-server-user MyUsername
Zobrazení podrobností aplikace logiky
Pokud chcete zobrazit podrobnosti o aplikaci logiky s podporou Azure Arc, spusťte příkaz s az logicapp show
následujícími požadovanými parametry:
az logicapp show --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Nasazení aplikace logiky
Pokud chcete nasadit aplikaci logiky s podporou Azure Arc pomocí nasazení kudu zip služby Aplikace Azure Service, spusťte příkaz s az logicapp deployment source config-zip
následujícími požadovanými parametry:
Důležité
Ujistěte se, že soubor ZIP obsahuje artefakty projektu na kořenové úrovni. Mezi tyto artefakty patří všechny složky pracovních postupů, konfigurační soubory, jako jsou host.json, connections.json a všechny další související soubory. Nepřidávejte žádné další složky ani neukládejte žádné artefakty do složek, které ještě ve struktuře projektu neexistují. Tento seznam například ukazuje příklad struktury souborů MyBuildArtifacts.zip:
MyStatefulWorkflow1-Folder
MyStatefulWorkflow2-Folder
connections.json
host.json
az logicapp deployment source config-zip --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--src MyBuildArtifact.zip
Spuštění aplikace logiky
Pokud chcete spustit aplikaci logiky s podporou Azure Arc, spusťte příkaz s az logicapp start
následujícími požadovanými parametry:
az logicapp start --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Zastavení aplikace logiky
Pokud chcete zastavit aplikaci logiky s podporou Azure Arc, az logicapp stop
spusťte příkaz s následujícími požadovanými parametry:
az logicapp stop --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Restartování aplikace logiky
Pokud chcete restartovat aplikaci logiky s podporou Azure Arc, spusťte příkaz s az logicapp restart
následujícími požadovanými parametry:
az logicapp restart --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Odstranění aplikace logiky
Pokud chcete odstranit aplikaci logiky s podporou Azure Arc, az logicapp delete
spusťte příkaz s následujícími požadovanými parametry:
az logicapp delete --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Nastavení ověřování připojení
Clustery Kubernetes s podporou Služby Azure Arc v současné době nepodporují použití spravované identity aplikace logiky k ověřování spravovaných připojení rozhraní API. Tato připojení hostovaná a spravovaná v Azure vytvoříte, když ve svých pracovních postupech používáte spravované konektory.
Místo toho musíte vytvořit vlastní registraci aplikace v Microsoft Entra ID. Tuto registraci aplikace pak můžete použít jako identitu pro aplikace logiky nasazené a spuštěné v Logic Apps s podporou Azure Arc. Další informace najdete v požadavcích nejvyšší úrovně.
Z registrace aplikace potřebujete ID klienta, ID objektu, ID tenanta a tajný klíč klienta. Pokud k nasazení použijete Visual Studio Code, máte integrované prostředí pro nastavení aplikace logiky pomocí identity Microsoft Entra. Další informace najdete v tématu Vytváření a nasazování pracovních postupů aplikace logiky – Visual Studio Code.
Pokud ale k vývoji používáte Visual Studio Code, ale k nasazení použijete Azure CLI nebo automatizované kanály, postupujte podle těchto kroků.
Konfigurace nastavení připojení a aplikace v projektu
V souboru connections.json projektu aplikace logiky vyhledejte
authentication
objekt pro spravované připojení. Obsah tohoto objektu nahraďte informacemi o registraci aplikace, které jste dříve vygenerovali v požadavcích nejvyšší úrovně:"authentication": { "type": "ActiveDirectoryOAuth", "audience": "https://management.core.windows.net/", "credentialType": "Secret", "clientId": "@appsetting('WORKFLOWAPP_AAD_CLIENTID')", "tenant": "@appsetting('WORKFLOWAPP_AAD_TENANTID')", "secret": "@appsetting('WORKFLOWAPP_AAD_CLIENTSECRET')" }
Do souboru local.settings.json projektu aplikace logiky přidejte ID klienta, ID objektu, ID tenanta a tajný klíč klienta. Po nasazení se tato nastavení stanou vaším nastavením aplikace logiky.
{ "IsEncrypted": false, "Values": { <...> "WORKFLOWAPP_AAD_CLIENTID":"<my-client-ID>", "WORKFLOWAPP_AAD_OBJECTID":"<my-object-ID", "WORKFLOWAPP_AAD_TENANTID":"<my-tenant-ID>", "WORKFLOWAPP_AAD_CLIENTSECRET":"<my-client-secret>" } }
Důležité
V produkčních scénářích nebo prostředích se ujistěte, že tyto tajné kódy a citlivé informace chráníte a zabezpečujete, například pomocí trezoru klíčů.
Přidání zásad přístupu
V Azure Logic Apps s jedním tenantem má každá aplikace logiky identitu, která má udělená oprávnění zásadami přístupu k používání připojení hostovaných v Azure a spravovaných připojeních. Tyto zásady přístupu můžete nastavit pomocí webu Azure Portal nebo nasazení infrastruktury.
Šablona ARM
Do šablony Azure Resource Manageru (šablona ARM) zahrňte následující definici prostředku pro každé spravované připojení rozhraní API a zadejte následující informace:
Parametr | Popis |
---|---|
<název připojení> | Název vašeho spravovaného připojení rozhraní API, například office365 |
<object-ID> | ID objektu pro vaši identitu Microsoft Entra, dříve uložené z registrace vaší aplikace |
<ID tenanta> | ID tenanta pro vaši identitu Microsoft Entra, dříve uložené z registrace vaší aplikace |
{
"type": "Microsoft.Web/connections/accessPolicies",
"apiVersion": "2016-06-01",
"name": "[concat('<connection-name>'),'/','<object-ID>')]",
"location": "<location>",
"dependsOn": [
"[resourceId('Microsoft.Web/connections', parameters('connection_name'))]"
],
"properties": {
"principal": {
"type": "ActiveDirectory",
"identity": {
"objectId": "<object-ID>",
"tenantId": "<tenant-ID>"
}
}
}
}
Další informace najdete v dokumentaci k Microsoft.Web/connections/accesspolicies (šablona ARM).
portál Azure
Pro tuto úlohu použijte jako ID aplikace dříve uložené ID klienta.
Na webu Azure Portal vyhledejte a otevřete aplikaci logiky. V nabídce aplikace logiky v části Pracovní postupy vyberte Připojení, která zobrazí všechna připojení v pracovních postupech pro prostředek aplikace logiky.
V části Připojení rozhraní API vyberte připojení, které je
office365
v tomto příkladu.V nabídce připojení v části Nastavení vyberte Přidat zásady>přístupu.
V podokně Přidat zásadu přístupu ve vyhledávacím poli vyhledejte a vyberte dříve uložené ID klienta.
Po dokončení vyberte Přidat.
Tento postup opakujte pro každé připojení hostované v Azure v aplikaci logiky.
Automatizace nasazení DevOps
Pokud chcete vytvářet a nasazovat aplikace logiky s podporou Služby Azure Arc, můžete použít stejné kanály a procesy jako pro aplikace logiky založené na jednom tenantovi. Pokud chcete automatizovat nasazení infrastruktury pomocí kanálů pro DevOps, proveďte následující změny na úrovni infrastruktury pro nekontejnerová i kontejnerová nasazení.
Standardní nasazení (noncontainer)
Pokud k nasazení aplikace logiky použijete nasazení zip, nemusíte pro hostování imagí kontejnerů nastavit registr Dockeru. I když aplikace logiky v Kubernetes technicky běží na kontejnerech, služba Logic Apps s podporou Azure Arc tyto kontejnery spravuje za vás. V tomto scénáři proveďte při nastavování infrastruktury následující úlohy:
- Upozorněte poskytovatele prostředků, že vytváříte aplikaci logiky v Kubernetes.
- Zahrňte do svého nasazení plán služby App Service. Další informace najdete v tématu Zahrnutí plánu služby App Service s nasazením.
Do šablony Azure Resource Manageru (šablona ARM) patří následující hodnoty:
Položka | Vlastnost JSON | Popis |
---|---|---|
Location | location |
Nezapomeňte použít stejné umístění prostředků (oblast Azure) jako vlastní umístění a prostředí Kubernetes. Umístění prostředků pro vaši aplikaci logiky, vlastní umístění a prostředí Kubernetes musí být stejná. Poznámka: Tato hodnota není stejná jako název vlastního umístění. |
Druh aplikace | kind |
Typ aplikace, kterou nasazujete, aby platforma Azure vaši aplikaci identifikovala. V případě Azure Logic Apps vypadají tyto informace jako v následujícím příkladu: kubernetes,functionapp,workflowapp,linux |
Rozšířené umístění | extendedLocation |
Tento objekt vyžaduje "name" vlastní umístění pro vaše prostředí Kubernetes a musí mít nastavenou "type" hodnotu "CustomLocation" . |
ID prostředku plánu hostování | serverFarmId |
ID prostředku přidruženého plánu služby App Service naformátované následujícím způsobem:
|
Připojovací řetězec úložiště | AzureWebJobsStorage |
Připojovací řetězec pro váš účet úložiště Důležité: Musíte zadat připojovací řetězec pro účet úložiště v šabloně ARM. V produkčních scénářích nebo prostředích se ujistěte, že tyto tajné kódy a citlivé informace chráníte a zabezpečujete, například pomocí trezoru klíčů. |
Šablona ARM
Následující příklad popisuje ukázkovou definici prostředku Logic Apps s podporou Azure Arc, kterou můžete použít v šabloně ARM. Další informace najdete v dokumentaci k formátu šablony Microsoft.Web/sites (JSON).
{
"type": "Microsoft.Web/sites",
"apiVersion": "2020-12-01",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"kind": "kubernetes,functionapp,workflowapp,linux",
"extendedLocation": {
"name": "[parameters('customLocationId')]",
"type": "CustomLocation"
},
"properties": {
"clientAffinityEnabled": false,
"name": "[parameters('name')]",
"serverFarmId": "<hosting-plan-ID>",
"siteConfig": {
"appSettings": [
{
"name": "FUNCTIONS_EXTENSION_VERSION",
"value": "~3"
},
{
"name": "FUNCTIONS_WORKER_RUNTIME",
"value": "dotnet"
},
{
"name": "AzureWebJobsStorage",
"value": "<storage-connection-string>"
},
{
"name": "AzureFunctionsJobHost__extensionBundle__id",
"value": "Microsoft.Azure.Functions.ExtensionBundle.Workflows"
},
{
"name": "AzureFunctionsJobHost__extensionBundle__version",
"value": "[1.*, 2.0.0)"
},
{
"name": "APP_KIND",
"value": "workflowapp"
}
],
"use32BitWorkerProcess": "[parameters('use32BitWorkerProcess')]",
"linuxFxVersion": "Node|12"
}
}
}
Poznámka:
Ve výchozím nastavení FUNCTIONS_WORKER_RUNTIME nastavení aplikace logiky je dotnet
.
node
Dříve byla výchozí hodnota. dotnet
Teď je ale výchozí hodnota pro všechny nové a existující nasazené aplikace logiky s podporou Arc, a to i pro aplikace, které měly jinou hodnotu. Tato změna by neměla mít vliv na modul runtime pracovního postupu a všechno by mělo fungovat stejným způsobem jako předtím. Další informace najdete v nastavení FUNCTIONS_WORKER_RUNTIME aplikace.
Nastavení aplikace APP_KIND pro vaši aplikaci logiky je nastavené na aplikaci pracovního postupu, ale v některých scénářích chybí toto nastavení aplikace, například kvůli šablonám Azure Resource Manageru nebo jiným scénářům, ve kterých nemusí být nastavení zahrnuto. Pokud některé akce nefungují, například akce Spustit javascriptový kód nebo pracovní postup přestane fungovat, zkontrolujte, jestli existuje nastavení aplikace APP_KIND a je nastavené na workflowapp. Další informace najdete v nastavení aplikace APP_KIND.
Nasazení kontejnerů
Pokud dáváte přednost používání nástrojů kontejneru a procesů nasazení, můžete kontejnerizovat aplikace logiky a nasazovat je do Logic Apps s podporou Služby Azure Arc. V tomto scénáři při nastavování infrastruktury proveďte následující úlohy vysoké úrovně:
Nastavte registr Dockeru pro hostování imagí kontejneru.
Pokud chcete kontejnerizovat aplikaci logiky, přidejte do kořenové složky projektu aplikace logiky následující soubor Dockerfile a postupujte podle kroků pro sestavení a publikování image do registru Dockeru, například projděte si kurz: Sestavení a nasazení imagí kontejneru v cloudu pomocí azure Container Registry Tasks.
Poznámka:
Pokud jako poskytovatele úložiště používáte SQL, ujistěte se, že používáte image Azure Functions verze 3.3.1 nebo novější.
FROM mcr.microsoft.com/azure-functions/node:3.3.1 ENV AzureWebJobsScriptRoot=/home/site/wwwroot \ AzureFunctionsJobHost__Logging__Console__IsEnabled=true \ FUNCTIONS_V2_COMPATIBILITY_MODE=true COPY . /home/site/wwwroot RUN cd /home/site/wwwroot
Upozorněte poskytovatele prostředků, že vytváříte aplikaci logiky v Kubernetes.
V šabloně nasazení přejděte na registr Dockeru a image kontejneru, kam plánujete nasazení. Azure Logic Apps s jedním tenantem používá tyto informace k získání image kontejneru z registru Dockeru.
Zahrňte do svého nasazení plán služby App Service. Další informace najdete v tématu Zahrnutí plánu služby App Service s nasazením.
Do šablony Azure Resource Manageru (šablona ARM) zadejte následující hodnoty:
Položka | Vlastnost JSON | Popis |
---|---|---|
Location | location |
Nezapomeňte použít stejné umístění prostředků (oblast Azure) jako vlastní umístění a prostředí Kubernetes. Umístění prostředků pro vaši aplikaci logiky, vlastní umístění a prostředí Kubernetes musí být stejná. Poznámka: Tato hodnota není stejná jako název vlastního umístění. |
Druh aplikace | kind |
Typ aplikace, kterou nasazujete, aby platforma Azure vaši aplikaci identifikovala. V případě Azure Logic Apps vypadají tyto informace jako v následujícím příkladu: kubernetes,functionapp,workflowapp,container |
Rozšířené umístění | extendedLocation |
Tento objekt vyžaduje "name" vlastní umístění pro vaše prostředí Kubernetes a musí být "type" nastaveno na "CustomLocation" hodnotu . |
Název kontejneru | linuxFxVersion |
Název kontejneru naformátovaný následujícím způsobem: DOCKER\|<container-name> |
ID prostředku plánu hostování | serverFarmId |
ID prostředku přidruženého plánu služby App Service naformátované následujícím způsobem:
|
Připojovací řetězec úložiště | AzureWebJobsStorage |
Připojovací řetězec pro váš účet úložiště Důležité: Když nasadíte do kontejneru Dockeru, musíte zadat připojovací řetězec pro účet úložiště v šabloně ARM. V produkčních scénářích nebo prostředích se ujistěte, že tyto tajné kódy a citlivé informace chráníte a zabezpečujete, například pomocí trezoru klíčů. |
Pokud chcete odkazovat na svůj registr Dockeru a image kontejneru, zahrňte do šablony tyto hodnoty:
Položka | Vlastnost JSON | Popis |
---|---|---|
Adresa URL serveru registru Dockeru | DOCKER_REGISTRY_SERVER_URL |
Adresa URL serveru registru Dockeru |
Server registru Dockeru | DOCKER_REGISTRY_SERVER_USERNAME |
Uživatelské jméno pro přístup k serveru registru Dockeru |
Heslo serveru registru Dockeru | DOCKER_REGISTRY_SERVER_PASSWORD |
Heslo pro přístup k serveru registru Dockeru |
Šablona ARM
Následující příklad popisuje ukázkovou definici prostředku Logic Apps s podporou Azure Arc, kterou můžete použít v šabloně ARM. Další informace najdete v dokumentaci k formátu šablony Microsoft.Web/sites (šablona ARM).
{
"type": "Microsoft.Web/sites",
"apiVersion": "2020-12-01",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"kind": " kubernetes,functionapp,workflowapp,container",
"extendedLocation": {
"name": "[parameters('customLocationId')]",
"type": "CustomLocation"
},
"properties": {
"name": "[parameters('name')]",
"clientAffinityEnabled": false,
"serverFarmId": "<hosting-plan-ID>",
"siteConfig": {
"appSettings": [
{
"name": "FUNCTIONS_EXTENSION_VERSION",
"value": "~3"
},
{
"name": "FUNCTIONS_WORKER_RUNTIME",
"value": "dotnet"
},
{
"name": "AzureWebJobsStorage",
"value": "<storage-connection-string>"
},
{
"name": "AzureFunctionsJobHost__extensionBundle__id",
"value": "Microsoft.Azure.Functions.ExtensionBundle.Workflows"
},
{
"name": "AzureFunctionsJobHost__extensionBundle__version",
"value": "[1.*, 2.0.0)"
},
{
"name": "APP_KIND",
"value": "workflowapp"
},
{
"name": "DOCKER_REGISTRY_SERVER_URL",
"value": "<docker-registry-server-URL>"
},
{
"name": "DOCKER_REGISTRY_SERVER_USERNAME",
"value": "<docker-registry-server-username>"
},
{
"name": "DOCKER_REGISTRY_SERVER_PASSWORD",
"value": "<docker-registry-server-password>"
}
],
"use32BitWorkerProcess": "[parameters('use32BitWorkerProcess')]",
"linuxFxVersion": "DOCKER|<container-name>"
}
}
}
Poznámka:
Dříve byla node
výchozí hodnota nastavení FUNCTIONS_WORKER_RUNTIME .
dotnet
Teď je výchozí hodnota pro všechny nové a existující nasazené aplikace logiky Standard, a to i pro aplikace, které měly jinou hodnotu. Tato změna by neměla mít vliv na modul runtime pracovního postupu a všechno by mělo fungovat stejným způsobem jako předtím. Další informace najdete v nastavení FUNCTIONS_WORKER_RUNTIME aplikace.
Zahrnutí plánu služby App Service s nasazením
Bez ohledu na to, jestli máte standardní nebo kontejnerové nasazení, musíte do nasazení zahrnout plán služby App Service. I když se tento plán stává méně relevantním pro prostředí Kubernetes, nasazení standardu i kontejneru stále vyžadují plán služby App Service.
Zatímco jiné možnosti vytváření obvykle zpracovávají zřizování prostředků Azure pro tento plán, pokud vaše nasazení používají šablony infrastruktury jako kódu, musíte pro plán explicitně vytvořit prostředek Azure. Prostředek plánu hostování se nezmění, pouze sku
informace.
Do šablony Azure Resource Manageru (šablona ARM) zadejte následující hodnoty:
Položka | Vlastnost JSON | Popis |
---|---|---|
Location | location |
Nezapomeňte použít stejné umístění prostředků (oblast Azure) jako vlastní umístění a prostředí Kubernetes. Umístění prostředků pro vaši aplikaci logiky, vlastní umístění a prostředí Kubernetes musí být stejná. Poznámka: Tato hodnota není stejná jako název vlastního umístění. |
Kind | kind |
Druh nasazeného plánu služby App Service, který musí být kubernetes,linux |
Rozšířené umístění | extendedLocation |
Tento objekt vyžaduje "name" vlastní umístění pro vaše prostředí Kubernetes a musí být "type" nastaveno na "CustomLocation" hodnotu . |
Název plánu hostování | name |
Název plánu služby App Service |
Úroveň plánu | sku: tier |
Úroveň plánu služby App Service, která je K1 |
Název plánu | sku: name |
Název plánu služby App Service, který je Kubernetes |
Šablona ARM
Následující příklad popisuje ukázkovou definici prostředku plánu služby App Service, kterou můžete použít s nasazením aplikace. Další informace najdete v dokumentaci k formátu šablony Microsoft.Web/serverfarms (šablona ARM).
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2020-12-01",
"location": "<location>",
"name": "<hosting-plan-name>",
"kind": "kubernetes,linux",
"extendedLocation": {
"name": "[parameters('customLocationId')]",
"type": "CustomLocation"
},
"sku": {
"tier": "Kubernetes",
"name": "K1",
"capacity": 1
},
"properties": {
"kubeEnvironmentProfile": {
"id": "[parameters('kubeEnvironmentId')]"
}
}
}
Změna výchozího chování škálování
Logic Apps s podporou Azure Arc automaticky spravuje škálování aplikací logiky na základě počtu úloh ve frontě back-endového úložiště. Můžete ale změnit výchozí chování škálování.
V aplikaci logiky definice pracovního postupu určuje posloupnost akcí, které se mají spustit. Při každé aktivaci spuštění pracovního postupu vytvoří modul runtime Azure Logic Apps úlohu pro každý typ akce v definici pracovního postupu. Modul runtime pak tyto úlohy uspořádá do sekvenceru úloh. Tento sequencer orchestruje spouštění úloh pro definici pracovního postupu, ale základní orchestrační modul úloh Azure Logic Apps spouští každou úlohu.
V případě stavových pracovních postupů používá orchestrační modul úloh zprávy fronty úložiště k naplánování úloh v sekvenčních úlohách. Dispečeri úloh (nebo instance pracovních procesů) na pozadí monitorují tyto fronty úloh. Modul orchestrace používá k monitorování front úloh výchozí minimální a maximální počet instancí pracovních procesů. V případě bezstavových pracovních postupů modul orchestrace zcela uchovává stavy akcí v paměti.
Pokud chcete změnit výchozí chování škálování, zadejte různá minimální a maximální počet instancí pracovních procesů, které monitorují fronty úloh.
Požadavky na změnu škálování
V clusteru Kubernetes s podporou Služby Azure Arc musí mít dříve vytvořené rozšíření sady prostředků služby App Service nastavenou keda.enabled
true
vlastnost . Další informace najdete v požadavcích nejvyšší úrovně.
Změna prahové hodnoty škálování
V Logic Apps s podporou Azure Arc aktivuje délka fronty úloh událost škálování a nastaví prahovou hodnotu pro četnost škálování vaší aplikace logiky. Můžete změnit délku fronty, která má výchozí hodnotu nastavenou na 20
úlohy. Pokud chcete škálovat méně často, zvyšte délku fronty. Pokud chcete škálovat častěji, snižte délku fronty. Tento proces může vyžadovat určitou zkušební verzi a chybu.
Pokud chcete změnit délku fronty, nastavte Runtime.ScaleMonitor.KEDA.TargetQueueLength
v souboru kořenové host.json projektu aplikace logiky vlastnost, například:
"extensions": {
"workflow": {
"settings": {
"Runtime.ScaleMonitor.KEDA.TargetQueueLength": "10"
}
}
}
Změna maximální propustnosti
U existujícího prostředku aplikace logiky můžete změnit maximální počet instancí pracovního procesu, který má nastavenou výchozí hodnotu 2
. Tato hodnota určuje horní limit počtu instancí pracovních procesů, které mohou monitorovat fronty úloh.
Pokud chcete toto maximum změnit, použijte Azure CLI (pouze vytvoření aplikace logiky) a Azure Portal.
Azure CLI
Pokud chcete vytvořit novou aplikaci logiky, spusťte příkaz az logicapp create
s následujícími parametry:
az logicapp create --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--storage-account MyStorageAccount --custom-location MyCustomLocation
[--plan MyHostingPlan] [--min-worker-count 1] [--max-worker-count 4]
Ke konfiguraci maximálního počtu instancí použijte --settings
parametr:
az logicapp config appsettings set --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--settings "K8SE_APP_MAX_INSTANCE_COUNT=10"
portál Azure
V nastavení aplikace logiky založené na jednom tenantovi přidejte nebo upravte K8SE_APP_MAX_INSTANCE_COUNT
hodnotu nastavení pomocí následujícího postupu:
Na webu Azure Portal vyhledejte a otevřete aplikaci logiky založenou na jednom tenantovi.
V nabídce aplikace logiky v části Nastavení vyberte Konfigurace.
V podokně Konfigurace v části Nastavení aplikace buď přidejte nové nastavení aplikace, nebo upravte existující hodnotu, pokud už byla přidána.
Vyberte Nové nastavení aplikace a přidejte
K8SE_APP_MAX_INSTANCE_COUNT
nastavení s maximální hodnotou, kterou chcete.Upravte existující hodnotu pro
K8SE_APP_MAX_INSTANCE_COUNT
nastavení.
Až skončíte, uložte změny.
Změna minimální propustnosti
U existujícího prostředku aplikace logiky můžete změnit minimální počet instancí pracovního procesu, který má výchozí hodnotu nastavenou na 1
. Tato hodnota řídí dolní limit počtu instancí pracovních procesů, které mohou monitorovat fronty úloh. Pro zajištění vysoké dostupnosti nebo výkonu tuto hodnotu zvyšte.
Pokud chcete toto minimum změnit, použijte Azure CLI nebo Azure Portal.
Azure CLI
V případě existujícího prostředku aplikace logiky spusťte příkaz az logicapp scale
s následujícími parametry:
az logicapp scale --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--instance-count 5
Pokud chcete vytvořit novou aplikaci logiky, spusťte příkaz az logicapp create
s následujícími parametry:
az logicapp create --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--storage-account MyStorageAccount --custom-location MyCustomLocation
[--plan MyHostingPlan] [--min-worker-count 2] [--max-worker-count 4]
portál Azure
V nastavení aplikace logiky založené na jednom tenantovi změňte hodnotu vlastnosti horizontálního navýšení kapacity pomocí následujícího postupu:
Na webu Azure Portal vyhledejte a otevřete aplikaci logiky založenou na jednom tenantovi.
V nabídce aplikace logiky v části Nastavení vyberte Horizontální navýšení kapacity.
V podokně Horizontální navýšení kapacity přetáhněte posuvník minimálních instancí na požadovanou hodnotu.
Až skončíte, uložte změny.
Poradce při potížích
Pokud chcete získat další informace o nasazených aplikacích logiky, vyzkoušejte následující možnosti:
Nastavení a konfigurace aplikace pro Access
Pokud chcete získat přístup k nastavení aplikace, spusťte příkaz az logicapp config appsettings
s následujícími parametry:
az logicapp config appsettings list --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Pokud chcete nakonfigurovat nastavení aplikace, spusťte příkaz az logicapp config appsettings set
s následujícími parametry. Nezapomeňte použít --settings
parametr s názvem a hodnotou vašeho nastavení.
az logicapp config appsettings set --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--settings "MySetting=1"
Pokud chcete odstranit nastavení aplikace, spusťte příkaz az logicapp config appsettings delete
s následujícími parametry. Nezapomeňte použít --setting-names
parametr s názvem nastavení, které chcete odstranit.
az logicapp config appsettings delete --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--setting-names MySetting
Zobrazení vlastností aplikace logiky
Pokud chcete zobrazit informace a vlastnosti aplikace, spusťte příkaz s az logicapp show
následujícími parametry:
az logicapp show --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Monitorování aktivity pracovního postupu
Pokud chcete zobrazit aktivitu pracovního postupu v aplikaci logiky, postupujte takto:
Na webu Azure Portal vyhledejte a otevřete nasazenou aplikaci logiky.
V nabídce aplikace logiky vyberte Pracovní postupy a pak vyberte svůj pracovní postup.
V nabídce pracovního postupu vyberte Sledovat.
Shromáždění protokolů
Pokud chcete získat protokolovaná data o aplikaci logiky, povolte application Insights v aplikaci logiky, pokud ještě není povolená.