Egybérlős alapú logikaialkalmazás-munkafolyamatok létrehozása és üzembe helyezése az Azure Arc-kompatibilis Logic Appsszel (előzetes verzió)
Feljegyzés
Ez a funkció előzetes verzióban érhető el, és a Microsoft Azure előzetes verziójának kiegészítő használati feltételei vonatkoznak.
Az Azure Arc-kompatibilis Logic Apps használatával létrehozhat és üzembe helyezhet egybérlős alapú logikaialkalmazás-munkafolyamatokat egy Kubernetes-infrastruktúrában, amelyet Ön üzemeltet és kezel. A logikai alkalmazások olyan egyéni helyen futnak, amely egy Azure Arc-kompatibilis Kubernetes-fürtre van leképezve, ahol telepítette és engedélyezte a Azure-alkalmazás szolgáltatásplatform-bővítmények csomagját.
Ez a fürt lehet például az Azure Kubernetes Service, a operációs rendszer nélküli Kubernetes vagy más beállítás. A bővítménycsomag lehetővé teszi olyan platformszolgáltatások futtatását, mint az Azure Logic Apps, a Azure-alkalmazás Service és az Azure Functions a Kubernetes-fürtön.
További információkért tekintse át a következő dokumentációt:
- Mi az Az Azure Arc-kompatibilis Logic Apps?
- Egybérlős és több-bérlős az Azure Logic Appsben
- Az Azure Arc áttekintése
- Az Azure Kubernetes Service áttekintése
- Mi az Azure Arc-kompatibilis Kubernetes?
- Egyéni helyek az Azure Arc-kompatibilis Kubernetesben
- App Service, Functions és Logic Apps az Azure Arcon (előzetes verzió)
- Azure Arc-kompatibilis Kubernetes-fürt beállítása az App Service, a Functions és a Logic Apps (előzetes verziójának) futtatásához
Előfeltételek
Ez a szakasz a logikai alkalmazás munkafolyamatainak létrehozásához és üzembe helyezéséhez használható összes megközelítés és eszköz közös előfeltételeit ismerteti. Az eszközspecifikus előfeltételek a hozzájuk tartozó lépésekkel együtt jelennek meg.
Egy Azure-fiók, aktív előfizetéssel. Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot.
Egy Kubernetes-környezet egy Azure Arc-kompatibilis Kubernetes-fürttel és egyéni helytel, ahol üzemeltetheti és futtathatja az Azure Logic Appst, a Azure-alkalmazás Szolgáltatást és az Azure Functionst.
Fontos
Győződjön meg arról, hogy ugyanazt az erőforráshelyet használja a Kubernetes-környezethez, az egyéni helyhez és a logikai alkalmazáshoz.
Amikor létrehozza az App Service-csomagbővítményt a Kubernetes-fürtön, módosíthatja a logikaialkalmazás-munkafolyamatok futtatásának alapértelmezett méretezési viselkedését . Amikor az Azure CLI-paranccsal hozza létre a bővítményt,
az k8s-extension create
mindenképpen adja meg a konfigurációs beállítást:keda.enabled=true
az k8s-extension create {other-command-options} --configuration-settings "keda.enabled=true"
További információkért tekintse át a következő dokumentációt:
- App Service, Functions és Logic Apps az Azure Arcon (előzetes verzió)
- Fürtbővítmények az Azure Arc-kompatibilis Kubernetesen
- Azure Arc-kompatibilis Kubernetes-fürt beállítása az App Service, a Functions és a Logic Apps (előzetes verziójának) futtatásához
- Az alapértelmezett méretezési viselkedés módosítása
Saját Microsoft Entra-identitás
Ha a munkafolyamatoknak azure-beli kapcsolatokat kell használniuk, például az Office 365 Outlookot vagy az Azure Storage-t, a logikai alkalmazásnak Microsoft Entra-identitást kell használnia a hitelesítéshez. Az Azure Arc-kompatibilis Logic Apps bármilyen infrastruktúrán futtatható, de olyan identitást igényel, amely rendelkezik az Azure által üzemeltetett kapcsolatok használatára vonatkozó engedélyekkel. Az identitás beállításához hozzon létre egy alkalmazásregisztrációt a Microsoft Entra-azonosítóban, amelyet a logikai alkalmazás a szükséges identitásként használ.
Feljegyzés
A felügyelt identitások támogatása jelenleg nem érhető el az Azure Arc-kompatibilis Logic Apps esetében.
Ha Microsoft Entra-alkalmazásregisztrációt szeretne létrehozni az Azure CLI használatával, kövesse az alábbi lépéseket:
Alkalmazásregisztráció létrehozása a
az ad sp create
parancs használatával.Az összes részlet áttekintéséhez futtassa a
az ad sp show
parancsot.Mindkét parancs kimenetéből keresse meg és mentse az ügyfélazonosítót, az objektumazonosítót, a bérlőazonosítót és az ügyfél titkos kódértékeit, amelyeket később meg kell őriznie.
Ha Microsoft Entra-alkalmazásregisztrációt szeretne létrehozni az Azure Portalon, kövesse az alábbi lépéseket:
Hozzon létre egy új Microsoft Entra-alkalmazásregisztrációt az Azure Portal használatával.
A létrehozás befejezése után keresse meg az új alkalmazásregisztrációt a portálon.
A regisztrációs menüben válassza az Áttekintés lehetőséget, és mentse az ügyfélazonosítót, a bérlőazonosítót és az ügyfél titkos kód értékeit.
Az objektumazonosító megkereséséhez a felügyelt alkalmazás mellett válassza ki az alkalmazásregisztráció nevét. A tulajdonságok nézetből másolja ki az objektumazonosítót.
Logikai alkalmazások létrehozása és üzembe helyezése
Attól függően, hogy az Azure CLI-t vagy a Visual Studio Code-ot szeretné-e használni, válassza a megfelelő lapot az adott előfeltételek és lépések áttekintéséhez.
A kezdés előtt a következő elemeket kell tartalmaznia:
A helyi számítógépre telepített legújabb Azure CLI-bővítmény.
Ha nem rendelkezik ezzel a bővítménysel, tekintse át az operációs rendszer vagy a platform telepítési útmutatóját.
Ha nem biztos abban, hogy a legújabb verzióval rendelkezik, kövesse a lépéseket a környezet és a CLI verziójának ellenőrzéséhez.
Az Azure CLI előzetes verziójú Azure Logic Apps (Standard) bővítménye.
Bár az egybérlős Azure Logic Apps általánosan elérhető, az Azure Logic Apps bővítmény továbbra is előzetes verzióban érhető el.
Egy Azure-erőforráscsoport , amellyel létrehozhatja a logikai alkalmazást.
Ha nem rendelkezik ezzel az erőforráscsoportval, kövesse az erőforráscsoport létrehozásához szükséges lépéseket.
Egy Azure Storage-fiók, amelyet a logikai alkalmazással használhat adatokhoz és futtatási előzmények megőrzéséhez.
Ha nem rendelkezik ezzel a tárfiókal, létrehozhatja ezt a fiókot a logikai alkalmazás létrehozásakor, vagy követheti a tárfiók létrehozásához szükséges lépéseket.
A környezet és a parancssori felület verziójának ellenőrzése
Jelentkezzen be az Azure Portalra. Az alábbi parancs futtatásával ellenőrizze, hogy az előfizetés aktív-e:
az login
Ellenőrizze az Azure CLI verzióját egy terminál vagy parancsablakban az alábbi parancs futtatásával:
az --version
A legújabb verzióért tekintse meg a legújabb kibocsátási megjegyzéseket.
Ha nem a legújabb verzióval rendelkezik, frissítse a telepítést az operációs rendszer vagy a platform telepítési útmutatójának követésével.
Az Azure Logic Apps (Standard) bővítmény telepítése az Azure CLI-hez
Telepítse az Azure CLI előzetes egybérlős Azure Logic Apps (Standard) bővítményét az alábbi parancs futtatásával:
az extension add --yes --source "https://aka.ms/logicapp-latest-py2.py3-none-any.whl"
Erőforráscsoport létrehozása
Ha még nem rendelkezik erőforráscsoporttal a logikai alkalmazáshoz, hozza létre a csoportot a parancs futtatásával az group create
. Ha még nem állított be alapértelmezett előfizetést az Azure-fiókjához, mindenképpen használja a paramétert az --subscription
előfizetés nevével vagy azonosítójával. Ellenkező esetben nem kell használnia a paramétert --subscription
.
Tipp.
Alapértelmezett előfizetés beállításához futtassa a következő parancsot, és cserélje le MySubscription
az előfizetés nevét vagy azonosítóját.
az account set --subscription MySubscription
A következő parancs például létrehoz egy erőforráscsoportot, amely a helyen eastus
elnevezett Azure-előfizetéssel van elnevezve:MyResourceGroupName
MySubscription
az group create --name MyResourceGroupName
--subscription MySubscription
--location eastus
Ha az erőforráscsoport létrehozása sikeresen megtörtént, a kimenet a provisioningState
következőként Succeeded
jelenik meg:
<...>
"name": "testResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
<...>
Logikai alkalmazás létrehozása
Azure Arc-kompatibilis logikai alkalmazás létrehozásához futtassa a parancsot a az logicapp create
következő kötelező paraméterekkel. A logikai alkalmazás, az egyéni hely és a Kubernetes-környezet erőforrás-helyeinek egyeznie kell.
Paraméterek | Leírás |
---|---|
--name -n |
A logikai alkalmazás egyedi neve |
--resource-group -g |
Annak az erőforráscsoportnak a neve, amelyben létre szeretné hozni a logikai alkalmazást. Ha nincs használatban, hozzon létre egy erőforráscsoportot. |
--storage-account -s |
A logikai alkalmazással használni kívánt tárfiók . Az ugyanabban az erőforráscsoportban lévő tárfiókok esetében használjon sztringértéket. Másik erőforráscsoportban lévő tárfiókok esetén használjon erőforrás-azonosítót. |
az logicapp create --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--storage-account MyStorageAccount --custom-location MyCustomLocation
Ha azure Arc-kompatibilis logikai alkalmazást szeretne létrehozni egy privát Azure Container Registry-rendszerkép (ACR) használatával, az logicapp create
futtassa a parancsot a következő kötelező paraméterekkel:
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
Logikai alkalmazás részleteinek megjelenítése
Az Azure Arc-kompatibilis logikai alkalmazás részleteinek megjelenítéséhez futtassa a parancsot az logicapp show
a következő kötelező paraméterekkel:
az logicapp show --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Logikai alkalmazás üzembe helyezése
Az Azure Arc-kompatibilis logikai alkalmazás Azure-alkalmazás Service Kudu zip-telepítésével való üzembe helyezéséhez futtassa a parancsot az logicapp deployment source config-zip
a következő kötelező paraméterekkel:
Fontos
Győződjön meg arról, hogy a zip-fájl gyökérszinten tartalmazza a projekt összetevőit. Ezek az összetevők tartalmazzák az összes munkafolyamat-mappát, konfigurációs fájlt, például host.json, connections.json és egyéb kapcsolódó fájlokat. Ne adjon hozzá további mappákat, és ne helyezzen el összetevőket olyan mappákba, amelyek még nem léteznek a projektstruktúrában. Ez a lista például egy MyBuildArtifacts.zip fájlstruktúrát mutat be:
MyStatefulWorkflow1-Folder
MyStatefulWorkflow2-Folder
connections.json
host.json
az logicapp deployment source config-zip --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--src MyBuildArtifact.zip
Logikai alkalmazás indítása
Az Azure Arc-kompatibilis logikai alkalmazás elindításához futtassa a parancsot az logicapp start
a következő kötelező paraméterekkel:
az logicapp start --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Logikai alkalmazás leállítása
Az Azure Arc-kompatibilis logikai alkalmazás leállításához futtassa a parancsot az logicapp stop
a következő kötelező paraméterekkel:
az logicapp stop --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Logikai alkalmazás újraindítása
Az Azure Arc-kompatibilis logikai alkalmazás újraindításához futtassa a parancsot az logicapp restart
a következő kötelező paraméterekkel:
az logicapp restart --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Logikai alkalmazás törlése
Az Azure Arc-kompatibilis logikai alkalmazás törléséhez futtassa a parancsot az logicapp delete
a következő kötelező paraméterekkel:
az logicapp delete --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Kapcsolathitelesítés beállítása
Az Azure Arc-kompatibilis Kubernetes-fürtök jelenleg nem támogatják a felügyelt API-kapcsolatok hitelesítéséhez használt logikai alkalmazás által felügyelt identitást. Ezeket az Azure-beli és felügyelt kapcsolatokat akkor hozza létre, amikor felügyelt összekötőket használ a munkafolyamatokban.
Ehelyett saját alkalmazásregisztrációt kell létrehoznia a Microsoft Entra-azonosítóban. Ezt az alkalmazásregisztrációt ezután identitásként használhatja az Azure Arc-kompatibilis Logic Appsben üzembe helyezett és futó logikai alkalmazásokhoz. További információkért tekintse át a legfelső szintű előfeltételeket.
Az alkalmazásregisztrációból szüksége lesz az ügyfél-azonosítóra, az objektumazonosítóra, a bérlőazonosítóra és az ügyfél titkos kódjára. Ha a Visual Studio Code-ot használja az üzembe helyezéshez, beépített felhasználói felülettel rendelkezik a logikai alkalmazás Microsoft Entra-identitással való beállításához. További információ: Logikaialkalmazás-munkafolyamatok létrehozása és üzembe helyezése – Visual Studio Code.
Ha azonban a Visual Studio Code-ot használja a fejlesztéshez, de az Azure CLI-t vagy az automatizált folyamatokat használja az üzembe helyezéshez, kövesse az alábbi lépéseket.
Kapcsolat- és alkalmazásbeállítások konfigurálása a projektben
A logikaialkalmazás-projekt connections.json fájljában keresse meg a
authentication
felügyelt kapcsolat objektumát. Cserélje le az objektum tartalmát az alkalmazásregisztrációs adataira, amelyeket korábban a legfelső szintű előfeltételekben hozott létre:"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')" }
A logikaialkalmazás-projekt local.settings.json fájljában adja hozzá az ügyfélazonosítót, az objektumazonosítót, a bérlőazonosítót és az ügyfél titkos kódját. Az üzembe helyezés után ezek a beállítások lesznek a logikai alkalmazás beállításai.
{ "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>" } }
Fontos
Éles helyzetekben vagy környezetekben győződjön meg arról, hogy az ilyen titkos kulcsokat és bizalmas információkat védi és védi, például egy kulcstartó használatával.
Hozzáférési szabályzatok hozzáadása
Az egybérlős Azure Logic Appsben minden logikai alkalmazás rendelkezik egy identitással, amelyet hozzáférési szabályzatok biztosítanak az Azure által üzemeltetett és felügyelt kapcsolatok használatához. Ezeket a hozzáférési szabályzatokat az Azure Portal vagy az infrastruktúra üzembe helyezésével állíthatja be.
ARM-sablon
Az Azure Resource Manager-sablonban (ARM-sablonban) adja meg az alábbi erőforrásdefiníciót minden felügyelt API-kapcsolathoz, és adja meg a következő információkat:
Paraméter | Leírás |
---|---|
<kapcsolat neve> | A felügyelt API-kapcsolat neve, például office365 |
<object-ID> | Az alkalmazásregisztrációból korábban mentett Microsoft Entra-identitás objektumazonosítója |
<bérlőazonosító> | Az alkalmazásregisztrációból korábban mentett Microsoft Entra-identitás bérlőazonosítója |
{
"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>"
}
}
}
}
További információkért tekintse át a Microsoft.Web/connections/accesspolicies (ARM-sablon) dokumentációját.
Azure Portal
Ehhez a feladathoz használja a korábban mentett ügyfél-azonosítót alkalmazásazonosítóként.
Az Azure Portalon keresse meg és nyissa meg a logikai alkalmazást. A logikai alkalmazás menü Munkafolyamatok területén válassza a Kapcsolatok lehetőséget, amely felsorolja a logikaialkalmazás-erőforrás munkafolyamatainak összes kapcsolatát.
Az API-kapcsolatok területen válasszon ki egy kapcsolatot, amely ebben a példában szerepel
office365
.A kapcsolat menüjében, a Beállítások területen válassza a Hozzáférési szabályzatok>hozzáadása lehetőséget.
A Hozzáférési szabályzat hozzáadása panel keresőmezőjében keresse meg és válassza ki a korábban mentett ügyfél-azonosítót.
Amikor végzett, válassza a Hozzáadás lehetőséget.
Ismételje meg ezeket a lépéseket minden Azure-beli kapcsolat esetében a logikai alkalmazásban.
A DevOps üzembe helyezésének automatizálása
Az Azure Arc-kompatibilis logikai alkalmazások létrehozásához és üzembe helyezéséhez ugyanazokat a folyamatokat és folyamatokat használhatja, mint az egybérlős alapú logikai alkalmazások esetében. Ha a DevOps folyamataival szeretné automatizálni az infrastruktúra üzembe helyezését, végezze el az alábbi módosításokat az infrastruktúra szintjén a nem kontainer és a tárolótelepítések esetében is.
Standard üzembe helyezés (nem kontainer)
Ha zip-üzembe helyezést használ a logikai alkalmazások üzembe helyezéséhez, nem kell docker-beállításjegyzéket beállítania a tárolólemezképek üzemeltetéséhez. Bár a Kubernetes logikai alkalmazásai technikailag tárolókon futnak, az Azure Arc-kompatibilis Logic Apps kezeli ezeket a tárolókat. Ebben a forgatókönyvben végezze el a következő feladatokat az infrastruktúra beállításakor:
- Értesítse az erőforrás-szolgáltatót, hogy logikai alkalmazást hoz létre a Kubernetesen.
- Egy App Service-csomag belefoglalása az üzembe helyezésbe. További információ: App Service-csomag belefoglalása az üzembe helyezéssel.
Az Azure Resource Manager-sablonban (ARM-sablonban) a következő értékek szerepelnek:
Elem | JSON-tulajdonság | Leírás |
---|---|---|
Hely | location |
Ügyeljen arra, hogy ugyanazt az erőforráshelyet (Azure-régiót) használja, mint az egyéni hely és a Kubernetes-környezet. A logikai alkalmazás, az egyéni hely és a Kubernetes-környezet erőforrás-helyeinek egyeznie kell. Megjegyzés: Ez az érték nem azonos az egyéni hely nevével . |
Alkalmazás típusa | kind |
Az üzembe helyezhető alkalmazás típusa, hogy az Azure-platform azonosíthassa az alkalmazást. Az Azure Logic Apps esetében ez az információ a következő példához hasonlóan néz ki: kubernetes,functionapp,workflowapp,linux |
Kiterjesztett hely | extendedLocation |
Ehhez az objektumhoz a "name" Kubernetes-környezet egyéni helyének megadása szükséges, és a beállításnak "CustomLocation" a "type" következőnek kell lennie: . |
Üzemeltetési terv erőforrás-azonosítója | serverFarmId |
A társított App Service-csomag erőforrás-azonosítója a következőképpen formázva:
|
Tárolási kapcsolati sztring | AzureWebJobsStorage |
A tárfiók kapcsolati sztring Fontos: Az ARM-sablonban meg kell adnia a tárfiók kapcsolati sztring. Éles helyzetekben vagy környezetekben győződjön meg arról, hogy az ilyen titkos kulcsokat és bizalmas információkat védi és védi, például egy kulcstartó használatával. |
ARM-sablon
Az alábbi példa az ARM-sablonban használható Azure Arc-kompatibilis Logic Apps-erőforrásdefiníciót ismerteti. További információkért tekintse át a Microsoft.Web/sites sablonformátum (JSON) dokumentációját.
{
"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"
}
}
}
Feljegyzés
Alapértelmezés szerint FUNCTIONS_WORKER_RUNTIME logikai alkalmazás alkalmazásbeállítása.dotnet
node
Korábban ez volt az alapértelmezett érték. dotnet
Most azonban ez az alapértelmezett érték az összes új és meglévő üzembe helyezett Arc-kompatibilis logikai alkalmazás esetében, még az olyan alkalmazások esetében is, amelyek más értékkel rendelkeztek. Ez a módosítás nem befolyásolhatja a munkafolyamat futásidejét, és mindennek ugyanúgy kell működnie, mint korábban. További információ: FUNCTIONS_WORKER_RUNTIME alkalmazásbeállítás.
A logikai alkalmazás APP_KIND alkalmazásbeállítása munkafolyamat-alkalmazásra van beállítva, de bizonyos esetekben ez az alkalmazásbeállítás hiányzik, például az Azure Resource Manager-sablonok vagy más olyan forgatókönyvek miatt, amelyekben a beállítás nem szerepel. Ha bizonyos műveletek nem működnek, például a JavaScript-kód végrehajtása művelet vagy a munkafolyamat leáll, ellenőrizze, hogy a APP_KIND alkalmazásbeállítás létezik-e, és munkafolyamat-alkalmazásra van-e beállítva. További információ: APP_KIND alkalmazásbeállítás.
Tárolók üzembe helyezése
Ha inkább tárolóeszközöket és üzembehelyezési folyamatokat szeretne használni, tárolóba helyezheti a logikai alkalmazásokat, és üzembe helyezheti őket az Azure Arc-kompatibilis Logic Appsben. Ebben a forgatókönyvben végezze el a következő magas szintű feladatokat az infrastruktúra beállításakor:
Állítson be egy Docker-regisztrációs adatbázist a tárolólemezképek üzemeltetéséhez.
A logikai alkalmazás tárolóba helyezéséhez adja hozzá a következő Docker-fájlt a logikaialkalmazás-projekt gyökérmappájához, és kövesse a rendszerképek Docker-beállításjegyzékben való létrehozásához és közzétételéhez szükséges lépéseket, például tekintse át az oktatóanyagot: Tárolólemezképek létrehozása és üzembe helyezése a felhőben az Azure Container Registry-feladatokkal.
Feljegyzés
Ha az SQL-t használja tárhelyszolgáltatóként, győződjön meg arról, hogy az Azure Functions rendszerképének 3.3.1-es vagy újabb verzióját használja.
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
Értesítse az erőforrás-szolgáltatót, hogy logikai alkalmazást hoz létre a Kubernetesen.
Az üzembehelyezési sablonban mutasson arra a Docker-beállításjegyzékre és tárolórendszerképre, ahol üzembe kívánja helyezni. Az egybérlős Azure Logic Apps ezeket az információkat használja a tárolórendszerkép lekéréséhez a Docker-beállításjegyzékből.
Egy App Service-csomag belefoglalása az üzembe helyezésbe. További információ: App Service-csomag belefoglalása az üzembe helyezéssel.
Az Azure Resource Manager-sablonban (ARM-sablonban) adja meg a következő értékeket:
Elem | JSON-tulajdonság | Leírás |
---|---|---|
Hely | location |
Ügyeljen arra, hogy ugyanazt az erőforráshelyet (Azure-régiót) használja, mint az egyéni hely és a Kubernetes-környezet. A logikai alkalmazás, az egyéni hely és a Kubernetes-környezet erőforrás-helyeinek egyeznie kell. Megjegyzés: Ez az érték nem azonos az egyéni hely nevével . |
Alkalmazás típusa | kind |
Az üzembe helyezhető alkalmazás típusa, hogy az Azure-platform azonosíthassa az alkalmazást. Az Azure Logic Apps esetében ez az információ a következő példához hasonlóan néz ki: kubernetes,functionapp,workflowapp,container |
Kiterjesztett hely | extendedLocation |
Ehhez az objektumhoz a "name" Kubernetes-környezet egyéni helyének megadása szükséges, és a beállításnak meg kell "type" lennie"CustomLocation" . |
Tárolónév | linuxFxVersion |
A tároló neve a következőképpen formázva: DOCKER\|<container-name> |
Üzemeltetési terv erőforrás-azonosítója | serverFarmId |
A társított App Service-csomag erőforrás-azonosítója a következőképpen formázva:
|
Tárolási kapcsolati sztring | AzureWebJobsStorage |
A tárfiók kapcsolati sztring Fontos: Docker-tárolóban való üzembe helyezéskor az ARM-sablonban meg kell adnia a tárfiók kapcsolati sztring. Éles helyzetekben vagy környezetekben győződjön meg arról, hogy az ilyen titkos kulcsokat és bizalmas információkat védi és védi, például egy kulcstartó használatával. |
A Docker-beállításjegyzékre és a tárolórendszerképre való hivatkozáshoz vegye fel az alábbi értékeket a sablonba:
Elem | JSON-tulajdonság | Leírás |
---|---|---|
Docker beállításjegyzék-kiszolgáló URL-címe | DOCKER_REGISTRY_SERVER_URL |
A Docker-beállításjegyzék-kiszolgáló URL-címe |
Docker beállításjegyzék-kiszolgáló | DOCKER_REGISTRY_SERVER_USERNAME |
A Docker-beállításjegyzék-kiszolgáló eléréséhez szükséges felhasználónév |
Docker-beállításjegyzék-kiszolgáló jelszava | DOCKER_REGISTRY_SERVER_PASSWORD |
A Docker-beállításjegyzék-kiszolgáló eléréséhez szükséges jelszó |
ARM-sablon
Az alábbi példa az ARM-sablonban használható Azure Arc-kompatibilis Logic Apps-erőforrásdefiníciót ismerteti. További információkért tekintse át a Microsoft.Web/sites sablonformátum (ARM-sablon) dokumentációját.
{
"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>"
}
}
}
Feljegyzés
Korábban a FUNCTIONS_WORKER_RUNTIME beállítás alapértelmezett értéke volt node
.
dotnet
Ez az alapértelmezett érték az összes új és meglévő üzembe helyezett Standard logikai alkalmazáshoz, még a más értékkel rendelkező alkalmazások esetében is. Ez a módosítás nem befolyásolhatja a munkafolyamat futásidejét, és mindennek ugyanúgy kell működnie, mint korábban. További információ: FUNCTIONS_WORKER_RUNTIME alkalmazásbeállítás.
App Service-csomag belefoglalása az üzembe helyezésbe
Akár standard, akár tárolóalapú üzembe helyezéssel rendelkezik, egy App Service-csomagot kell tartalmaznia az üzembe helyezéshez. Bár ez a terv kevésbé releváns egy Kubernetes-környezet esetében, a standard és a tárolótelepítésekhez továbbra is App Service-csomagra van szükség.
Bár más létrehozási lehetőségek általában az Azure-erőforrás kiépítését kezelik ehhez a csomaghoz, ha az üzemelő példányok "infrastruktúra mint kód" sablonokat használnak, explicit módon létre kell hoznia az Azure-erőforrást a csomaghoz. Az üzemeltetési terv erőforrása nem változik, csak az sku
információk.
Az Azure Resource Manager-sablonban (ARM-sablonban) adja meg a következő értékeket:
Elem | JSON-tulajdonság | Leírás |
---|---|---|
Hely | location |
Ügyeljen arra, hogy ugyanazt az erőforráshelyet (Azure-régiót) használja, mint az egyéni hely és a Kubernetes-környezet. A logikai alkalmazás, az egyéni hely és a Kubernetes-környezet erőforrás-helyeinek egyeznie kell. Megjegyzés: Ez az érték nem azonos az egyéni hely nevével . |
Erőforrás | kind |
Az üzembe helyezett App Service-csomag típusa, amelyet kubernetes,linux |
Kiterjesztett hely | extendedLocation |
Ehhez az objektumhoz a "name" Kubernetes-környezet egyéni helyének megadása szükséges, és a beállításnak meg kell "type" lennie"CustomLocation" . |
Üzemeltetési terv neve | name |
Az App Service-csomag neve |
Csomagszint | sku: tier |
Az App Service csomagszintje, amely K1 |
Terv neve | sku: name |
Az App Service-csomag neve, amely Kubernetes |
ARM-sablon
Az alábbi példa egy minta App Service-csomag erőforrásdefinícióját ismerteti, amelyet az alkalmazás üzembe helyezésével használhat. További információkért tekintse át a Microsoft.Web/serverfarms sablonformátum (ARM-sablon) dokumentációját.
{
"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')]"
}
}
}
Az alapértelmezett skálázási viselkedés módosítása
Az Azure Arc-kompatibilis Logic Apps automatikusan kezeli a logikai alkalmazások skálázását a háttértár-várólistán lévő feladatok száma alapján. Az alapértelmezett skálázási viselkedést azonban módosíthatja.
A logikai alkalmazásokban a munkafolyamat-definíció határozza meg a futtatandó műveletek sorrendjét. Amikor egy munkafolyamat-futtatás aktiválódik, az Azure Logic Apps-futtatókörnyezet létrehoz egy feladatot a munkafolyamat-definíció minden művelettípusához. A futtatókörnyezet ezután feladatütemezési modulba rendezi ezeket a feladatokat. Ez a szekventor a munkafolyamat-definíció feladatainak futtatását vezényli, de a mögöttes Azure Logic Apps-feladat vezénylési motorja futtatja az egyes feladatokat.
Állapotalapú munkafolyamatok esetén a feladat-vezénylési motor tárolósor-üzenetekkel ütemezi a feladatokat a feladatütemezőkben. A háttérben a feladat-kézbesítők (vagy a kézbesítő feldolgozó példányai) figyelik ezeket a feladatsorokat. A vezénylési motor a munkavégző példányok alapértelmezett minimális és maximális számát használja a feladatsorok figyeléséhez. Állapot nélküli munkafolyamatok esetén a vezénylési motor teljesen megőrzi a műveleti állapotokat a memóriában.
Az alapértelmezett skálázási viselkedés módosításához különböző minimális és maximális számú munkavégző példányt kell megadnia, amelyek figyelik a feladatsorokat.
A skálázás módosításának előfeltételei
Az Azure Arc-kompatibilis Kubernetes-fürtön a korábban létrehozott App Service-csomagbővítménynek a keda.enabled
tulajdonság beállításával true
kell rendelkeznie. További információkért tekintse át a legfelső szintű előfeltételeket.
Skálázási küszöbérték módosítása
Az Azure Arc-kompatibilis Logic Appsben a feladatsor hossza skálázási eseményt aktivál, és küszöbértéket állít be a logikai alkalmazás skálázásának gyakoriságához. Módosíthatja az üzenetsor hosszát, amelynek alapértelmezett értéke feladatokra 20
van beállítva. A ritkábban történő skálázáshoz növelje az üzenetsor hosszát. A gyakoribb skálázáshoz csökkentse az üzenetsor hosszát. Ehhez a folyamathoz próbaverzióra és hibára lehet szükség.
Az üzenetsor hosszának módosításához a logikai alkalmazásprojekt gyökérszintű host.json fájljában állítsa be a Runtime.ScaleMonitor.KEDA.TargetQueueLength
tulajdonságot, például:
"extensions": {
"workflow": {
"settings": {
"Runtime.ScaleMonitor.KEDA.TargetQueueLength": "10"
}
}
}
Átviteli sebesség maximális értékének módosítása
Egy meglévő logikaialkalmazás-erőforráson módosíthatja a feldolgozópéldányok maximális számát, amelynek alapértelmezett értéke 2
a következő. Ez az érték határozza meg, hogy hány feldolgozópéldány figyelheti a feladatsorokat.
A maximális érték módosításához használja az Azure CLI-t (csak logikai alkalmazás létrehozása) és az Azure Portalt.
Azure CLI
Új logikai alkalmazás létrehozásához futtassa a parancsot az logicapp create
a következő paraméterekkel:
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]
A példányok maximális számának konfigurálásához használja a következő paramétert --settings
:
az logicapp config appsettings set --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--settings "K8SE_APP_MAX_INSTANCE_COUNT=10"
Azure Portal
Az egybérlős logikai alkalmazás beállításaiban adja hozzá vagy szerkessze a beállítás értékét az K8SE_APP_MAX_INSTANCE_COUNT
alábbi lépések végrehajtásával:
Az Azure Portalon keresse meg és nyissa meg az egybérlős logikai alkalmazást.
A logikai alkalmazás menü Beállítások területén válassza a Konfiguráció lehetőséget.
A Konfiguráció panel Alkalmazásbeállítások területén adjon hozzá egy új alkalmazásbeállítást, vagy szerkessze a meglévő értéket, ha már hozzáadta.
Válassza az Új alkalmazásbeállítás lehetőséget, és adja hozzá a
K8SE_APP_MAX_INSTANCE_COUNT
kívánt maximális értéket.Szerkessze a beállítás meglévő értékét
K8SE_APP_MAX_INSTANCE_COUNT
.
Ha végzett, mentse a módosításokat.
Az átviteli sebesség minimális módosítása
Meglévő logikaialkalmazás-erőforráson módosíthatja a feldolgozópéldányok minimális számát, amelynek alapértelmezett értéke 1
a következő. Ez az érték határozza meg, hogy hány feldolgozópéldány figyelheti a feladatsorokat. A magas rendelkezésre állás vagy teljesítmény érdekében növelje ezt az értéket.
A minimum módosításához használja az Azure CLI-t vagy az Azure Portalt.
Azure CLI
Meglévő logikaialkalmazás-erőforrás esetén futtassa a parancsot az logicapp scale
a következő paraméterekkel:
az logicapp scale --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--instance-count 5
Új logikai alkalmazás létrehozásához futtassa a parancsot az logicapp create
a következő paraméterekkel:
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]
Azure Portal
Az egybérlős logikai alkalmazás beállításaiban módosítsa a horizontális felskálázás tulajdonságértékét az alábbi lépések végrehajtásával:
Az Azure Portalon keresse meg és nyissa meg az egybérlős logikai alkalmazást.
A logikai alkalmazás menü Beállítások területén válassza a Vertikális felskálázás lehetőséget.
A Felskálázás panelen húzza a minimális példányok csúszkát a kívánt értékre.
Ha végzett, mentse a módosításokat.
Problémák elhárítása
Az üzembe helyezett logikai alkalmazásokkal kapcsolatos további információkért próbálkozzon az alábbi lehetőségekkel:
Az alkalmazás beállításainak és konfigurációjának elérése
Az alkalmazásbeállítások eléréséhez futtassa a parancsot az logicapp config appsettings
a következő paraméterekkel:
az logicapp config appsettings list --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Alkalmazásbeállítás konfigurálásához futtassa a parancsot az logicapp config appsettings set
az alábbi paraméterekkel. Ügyeljen arra, hogy a paramétert --settings
a beállítás nevével és értékével használja.
az logicapp config appsettings set --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--settings "MySetting=1"
Alkalmazásbeállítás törléséhez futtassa a parancsot az logicapp config appsettings delete
az alábbi paraméterekkel. Ügyeljen arra, hogy a --setting-names
paramétert a törölni kívánt beállítás nevével használja.
az logicapp config appsettings delete --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
--setting-names MySetting
Logikai alkalmazás tulajdonságainak megtekintése
Az alkalmazás adatainak és tulajdonságainak megtekintéséhez futtassa a parancsot az logicapp show
a következő paraméterekkel:
az logicapp show --name MyLogicAppName
--resource-group MyResourceGroupName --subscription MySubscription
Munkafolyamat-tevékenység figyelése
Ha meg szeretné tekinteni egy munkafolyamat tevékenységeit a logikai alkalmazásban, kövesse az alábbi lépéseket:
Az Azure Portalon keresse meg és nyissa meg az üzembe helyezett logikai alkalmazást.
A logikai alkalmazás menüjében válassza a Munkafolyamatok lehetőséget, majd válassza ki a munkafolyamatot.
A munkafolyamat menüben válassza a Figyelés lehetőséget.
Naplók gyűjtése
Ha naplózott adatokat szeretne lekérni a logikai alkalmazásról, engedélyezze az Application Insightst a logikai alkalmazásban, ha még nincs engedélyezve.