Megosztás a következőn keresztül:


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:

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 createmindenké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:

  • 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:

    1. Alkalmazásregisztráció létrehozása a az ad sp create parancs használatával.

    2. Az összes részlet áttekintéséhez futtassa a az ad sp show parancsot.

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

    1. Hozzon létre egy új Microsoft Entra-alkalmazásregisztrációt az Azure Portal használatával.

    2. A létrehozás befejezése után keresse meg az új alkalmazásregisztrációt a portálon.

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

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

  • 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

  1. Jelentkezzen be az Azure Portalra. Az alábbi parancs futtatásával ellenőrizze, hogy az előfizetés aktív-e:

    az login
    
  2. 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.

  3. 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 eastuselnevezett 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 Succeededjelenik 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 createkö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 createfuttassa 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 showa 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-zipa 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 starta 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 stopa 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 restarta 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 deletea 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

  1. 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')"
    } 
    
  2. 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.

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

  2. Az API-kapcsolatok területen válasszon ki egy kapcsolatot, amely ebben a példában szerepeloffice365.

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

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

  5. Amikor végzett, válassza a Hozzáadás lehetőséget.

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

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:

"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}"

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:

"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}"

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 truekell 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 2a 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 createa 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:

  1. Az Azure Portalon keresse meg és nyissa meg az egybérlős logikai alkalmazást.

  2. A logikai alkalmazás menü Beállítások területén válassza a Konfiguráció lehetőséget.

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

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

    2. Szerkessze a beállítás meglévő értékét K8SE_APP_MAX_INSTANCE_COUNT .

  4. 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 1a 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 scalea 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 createa 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:

  1. Az Azure Portalon keresse meg és nyissa meg az egybérlős logikai alkalmazást.

  2. A logikai alkalmazás menü Beállítások területén válassza a Vertikális felskálázás lehetőséget.

  3. A Felskálázás panelen húzza a minimális példányok csúszkát a kívánt értékre.

  4. 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 appsettingsa 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 setaz 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 deleteaz 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 showa 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:

  1. Az Azure Portalon keresse meg és nyissa meg az üzembe helyezett logikai alkalmazást.

  2. A logikai alkalmazás menüjében válassza a Munkafolyamatok lehetőséget, majd válassza ki a munkafolyamatot.

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

Következő lépések