Dela via


Skapa standardarbetsflöden för logikappar för hybriddistribution i din egen infrastruktur

Gäller för: Azure Logic Apps (Standard)

För scenarier där du behöver använda, styra och hantera din egen infrastruktur kan du skapa standardarbetsflöden för logikappar med hjälp av hybriddistributionsmodellen i Azure Logic Apps. Den här modellen innehåller funktioner för att skapa och hantera integreringslösningar för delvis anslutna miljöer som kräver lokal bearbetning, lagring och nätverksåtkomst. Din infrastruktur kan omfatta lokala system, privata moln och offentliga moln. Med hybridmodellen drivs ditt standardlogikapparbetsflöde av Azure Logic Apps-körningen, som finns lokalt som en del av ett Azure Container Apps-tillägg.

En arkitekturöversikt som visar var Standard logic app-arbetsflöden finns och körs i en delvis ansluten miljö finns i Konfigurera infrastrukturkrav för hybriddistribution för standardlogikappar.

Den här instruktionsguiden visar hur du skapar och distribuerar ett standardlogikapparbetsflöde med hjälp av hybriddistributionsmodellen när du har konfigurerat nödvändiga lokala resurser för att vara värd för din app.

Begränsningar

I följande avsnitt beskrivs begränsningarna för hybriddistributionsalternativet:

Begränsning beskrivning
Azure-regioner som stöds Hybriddistribution är för närvarande tillgänglig och stöds endast i följande Azure-regioner:

- USA, centrala
- Asien, östra
- USA, östra
- USA, norra centrala
-Sydostasien
- Centrala Sverige
- Storbritannien, södra
- Europa, västra
- Västra USA
Dataloggning med en frånkopplad drift I delvis anslutet läge kan Azure Logic Apps-körningen vara frånkopplad upp till 24 timmar och fortfarande behålla dataloggar. Loggningsdata efter den här varaktigheten kan dock försvinna.
Funktioner som inte stöds men är tillgängliga i enkelhyresgästanpassade Azure Logic Apps (Standard) och relaterade Azure-tjänster Distributionsplatser

– Processspårning i Azure Business

– Resurshälsa under Support + felsökning i Azure-portalen

– Hanterad identitetsautentisering för anslutningsåtgärder. Azure Arc-aktiverade Kubernetes-kluster stöder för närvarande inte hanterad identitetsautentisering för hanterade API-anslutningar. I stället måste du skapa en egen appregistrering med hjälp av Microsoft Entra-ID. Mer information finns i de här stegen senare i den här guiden.
Funktionsbaserade utlösare Vissa funktionsbaserade utlösare, till exempel Azure Blob, Cosmos DB och Event Hubs, kräver en anslutning till azure-lagringskontot som är associerat med standardlogikappen. Om du använder funktionsbaserade utlösare i standardlogikappens miljövariabler i Azure-portalen eller i logikappprojektets local.settings.json-fil i Visual Studio Code lägger du till appinställningen med namnet AzureWebJobsStorage och anger anslutningssträngen för lagringskontot:

"Values": {
"name": "AzureWebJobsStorage",
"value": "{storage-account-connection-string}"
}

Förutsättningar

  • Ett Azure-konto och prenumeration. Om du inte har någon prenumeration kan du registrera ett kostnadsfritt Azure-konto.

  • Följande lokala resurser, som alla måste finnas i samma nätverk för den nödvändiga anslutningen:

    • Ett Azure Kubernetes Service-kluster som är anslutet till Azure Arc
    • En SQL-databas för att lokalt lagra arbetsflödeskörningshistorik, indata och utdata för bearbetning
    • En SMB-filresurs (Server Message Block) för lokal lagring av artefakter som används av dina arbetsflöden

    För att uppfylla dessa krav konfigurerar du dessa lokala resurser för att stödja hybriddistribution för standardlogikappar.

  • För att fungera i Visual Studio Code behöver du Tillägget Azure Logic Apps (Standard) för Visual Studio Code med de relaterade förutsättningarna.

    Dricks

    Om du har en ny Visual Studio Code-installation kontrollerar du att du kan köra ett grundläggande Standard-arbetsflöde lokalt innan du försöker distribuera till din egen infrastruktur. Den här testkörningen hjälper till att isolera eventuella fel som kan finnas i ditt Standard-arbetsflödesprojekt.

Skapa standardlogikappen

Skapa standardlogikappen för hybriddistribution genom att följa dessa steg:

  1. I sökrutan Azure Portal anger du logikappar och väljer Logikappar.

  2. På sidan Logikappar väljer du Lägg till.

  3. På sidan Skapa logikapp går du till Standard och väljer Hybrid.

  4. På sidan Skapa logikapp (hybrid) anger du följande information:

    Fastighet Obligatoriskt Värde beskrivning
    Abonnemang Ja < Namn-på-Azure-prenumeration> Ditt Azure-prenumerationsnamn.

    I det här exemplet används Betala per användning.
    Resursgrupp Ja < Namn-på-Azure-resursgrupp> Den Azure-resursgrupp där du skapar din hybridapp och relaterade resurser. Det här namnet måste vara unikt mellan regioner och får endast innehålla bokstäver, siffror, bindestreck (-), understreck (_), parenteser (()) och punkter (.).

    I det här exemplet skapas en resursgrupp med namnet Hybrid-RG.
    Namn på logikapp Ja < logik-app-namn> Logikappens namn, som måste vara unikt mellan regioner och endast kan innehålla gemener, siffror eller bindestreck (-).

    I det här exemplet används my-logic-app-hybrid.
    Region Ja < Azure-region> En Azure-region som stöds för Azure Container Apps på Azure Arc-aktiverade AKS.

    I det här exemplet används USA, östra.
    Miljö med ansluten containerapp Ja < connected-environment-name> Det Arc-aktiverade Kubernetes-klustret som du skapade som distributionsmiljö för logikappen. Mer information finns i Självstudie: Aktivera Azure Container Apps på Azure Arc-aktiverade Kubernetes.
    Konfigurera lagringsinställningar Ja Aktiverad eller inaktiverad Fortsätter till fliken Lagringsidan Skapa logikapp (hybrid ).

    I följande exempel visas sidan för att skapa logikappen i Azure Portal med exempelvärden:

    Skärmbild som visar sidan Azure Portal och skapande av logikapp.

  5. På sidan Lagring anger du följande information om lagringsprovidern och SMB-filresursen som du tidigare har konfigurerat:

    Fastighet Obligatoriskt Värde beskrivning
    SQL anslutningssträng Ja < sql-server-connection-string> SQL Server-anslutningssträng som du sparade tidigare. Mer information finns i Skapa SQL Server-lagringsprovider.
    Värdnamn Ja < file-share-host-name> Värdnamnet för SMB-filresursen.
    Sökväg till filresurs Ja < fildelningsväg> Sökvägen till filresursen för SMB-filresursen.
    Användarnamn Ja < fil-delnings-användarnamn> Användarnamnet för SMB-filresursen.
    Lösenord Ja < file-share-password> Lösenordet för SMB-filresursen.
  6. När du är klar väljer du Granska + skapa. Bekräfta den angivna informationen och välj Skapa.

  7. När Azure har slutfört distributionen väljer du Gå till resurs.

    Azure-portalen öppnar din logikappresurs, till exempel:

    Skärmbild som visar Azure Portal med standardlogikappen för hybriddistribution som skapats som en containerapp.

  8. På resursmenyn för logikappen går du till Arbetsflöden och väljer Arbetsflöden.

  9. På sidan Arbetsflöden väljer du Lägg till för att lägga till ett tomt tillståndskänsligt eller tillståndslöst arbetsflöde.

  10. När designern har öppnats skapar du arbetsflödet genom att lägga till en utlösare och åtgärder.

    Mer information finns i Skapa ett arbetsflöde med en utlösare och åtgärder.

Versionshantering för hybriddistributioner

En standardlogikapp med hybridvärdalternativet skapar automatiskt en ny revision, vilket är ett versionsbegrepp från Azure Container Apps, när du sparar ändringar i ett underordnat arbetsflöde. Den här revisionen kan ta lite tid att aktivera, vilket innebär att när du har sparat ändringarna kanske du vill vänta en stund innan du testar arbetsflödet.

Om ändringarna fortfarande inte har dykt upp i arbetsflödet kan du kontrollera om revisionen finns:

  1. Öppna resursen i Azure Portal. På resursmenyn går du till Revisioner och väljer Revisioner och repliker.

  2. På sidan Revisioner och repliker går du till fliken Aktiva revisioner och kontrollerar om en ny revision visas i listan.

Mer information finns i följande resurser:

Konfigurera förbättrad telemetri eller OpenTelemetry för prestandaövervakning

Du kan konfigurera förbättrad insamling av telemetri i Application Insights för din standard logikapp och därefter visa den insamlade datan när arbetsflödet har slutfört en körning. Den här funktionen ger dig en enklare upplevelse för att få insikter om dina arbetsflöden och mer kontroll över filtreringshändelser i datakällan, vilket hjälper dig att minska lagringskostnaderna. Dessa förbättringar fokuserar på prestandamått i realtid som ger insikter om systemets hälsa och beteende.

För delvis anslutna och lokala scenarier kan du konfigurera standardlogikappen så att den genererar telemetri baserat på de Inställningar för OpenTelemetry-appar som stöds som du definierar för den specifika miljön. Som standard skickas dessa telemetridata till Application Insights. Mer information finns i Aktivera förbättrad telemetri i Application Insights för Standard-arbetsflöden i Azure Logic Apps.

Ändra vCPU och minnesallokering i Azure-portalen

Du kan redigera vCPU- och minnesinställningarna för standardlogikappresursen. Dessa ändringar påverkar faktureringsavgiften för dina standardlogikappsarbetsbelastningar.

  1. Öppna din standardlogikappresurs i Azure Portal.

  2. På resursmenyn går du till Inställningar och väljer Containrar.

  3. På sidan Containrar väljer du Redigera och distribuera, vilket öppnar fönstret Redigera en container .

  4. På fliken Egenskaper under Resursallokering av container ändrar du följande värden så att de passar ditt scenario:

    Fastighet Värde beskrivning
    CPU-kärnor – Standard: 1
    - Minimum: 0,25
    - Max: 2
    Avgör vilka vCPU-kärnor som ska tilldelas till containerinstansen. Du kan öka det här värdet med 0,25 kärnor upp till det maximala värdet. Det totala antalet för alla containerinstanser för den här logikappen är begränsat till 2 kärnor.
    Minne – Standard: 2
    - Minimum: 0.1
    - Max: 4
    Avgör minneskapaciteten i gibibyte (GiB) som ska tilldelas till containerinstansen. Du kan öka det här värdet med 0,1 GiB upp till det maximala värdet. Den totala kapaciteten för alla containerinstanser för den här logikappen är begränsad till 4 GiB.
  5. När du är klar väljer du Spara.

Ändra replikskalning i Azure Portal

Du kan styra den automatiska skalningen för det intervall repliker som distribueras som svar på en utlösarhändelse. En replik är en ny instans av en logikappresursrevision eller -version. Om du vill ändra minimi- och maxvärdena för det här intervallet kan du ändra skalningsreglerna för att fastställa de händelsetyper som utlöser skalning. Mer information finns i Ange skalningsregler i Azure Container Apps.

  1. Öppna din standardlogikappresurs i Azure Portal.

  2. På resursmenyn går du till Inställningar och väljer Skala.

  3. På sidan Skala under Inställningen Skalningsregel ändrar du följande värden så att de passar ditt scenario:

    Fastighet Värde beskrivning
    Minsta repliker – Standard: 1
    - Minimum: 0
    - Max: 1000
    Avgör det minsta antalet repliker som tillåts för revisionen vid en viss tidpunkt. Det här värdet åsidosätter skalningsregler och måste vara mindre än det maximala antalet repliker.
    Maximalt antal repliker – Standard: 30
    - Minimum: 0
    - Max: 1000
    Avgör det maximala antalet repliker som tillåts för revisionen vid en viss tidpunkt. Det här värdet åsidosätter skalningsregler.
  4. När du är klar väljer du Spara.

Kontrollera inkommande trafik till logikappen i Azure Portal

Du kan exponera logikappen för den offentliga webben, ditt virtuella nätverk och andra logikappar i din miljö genom att aktivera ingress. Azure tillämpar ingressinställningar via en uppsättning regler som styr routningen av extern och intern trafik till logikappen. När du aktiverar ingress behöver du inte skapa en Azure Load Balancer, offentlig IP-adress eller andra Azure-resurser för att aktivera inkommande HTTP-begäranden eller TCP-trafik. Mer information finns i Ingress i Container Apps.

Kommentar

När du aktiverar ingress dirigeras all trafik till din senaste revision som standard. Gå till sidan Revisionshantering för att ändra trafikinställningarna.

  1. På resursmenyn går du till Inställningar och väljer Ingress.

  2. På ingresssidanbredvid Ingress väljer du rutan Aktiverad.

  3. Baserat på ditt scenario konfigurerar du de återstående alternativen.

    Mer information finns i följande dokumentation:

Konfigurera autentisering för hanterade API-anslutningar

Om du vill autentisera hanterade API-anslutningar i Standard logic app-arbetsflöden som finns i Azure Arc-aktiverade Kubernetes-kluster måste du skapa en egen appregistrering med hjälp av Microsoft Entra-ID. Du kan sedan lägga till appregistreringens värden som miljövariabler i standardlogikappresursen för att autentisera dina API-anslutningar i stället.

Skapa en appregistrering med Microsoft Entra-ID

Azure Portal

  1. I Azure Portal följer du Snabbstart: Registrera ett program med Microsofts identitetsplattform för att skapa en appregistrering.

  2. När du har skapat den hittar du din nya appregistrering i portalen.

  3. På resursmenyn väljer du Översikt och sparar följande värden, som du behöver senare för anslutningsautentisering:

    • Klient-ID
    • Klientorganisations-ID
    • Klienthemlighet
  4. Följ dessa steg för objekt-ID:t:

    1. På sidan Översikt väljer du Länk till Hanterat program i lokal katalog för din appregistrering enligt följande:

      Skärmbild som visar appregistrering med vald länk för hanterat program i den lokala katalogen.

    2. På sidan som öppnas kopierar du och sparar objekt-ID-värdet:

      Skärmbild som visar appregistrering med markerat objekt-ID.

  5. Lägg nu till de sparade värdena som miljövariabler i standardlogikappresursen.

Azure CLI (kommandoradsgränssnittet för Azure)

  1. Om du vill skapa appregistreringen använder du kommandot az ad sp create.

  2. Om du vill granska alla egenskaper använder du kommandot az ad sp show.

  3. I utdata från båda kommandona letar du upp och sparar följande värden, som du behöver senare för anslutningsautentisering:

    • Klient-ID
    • Objekt-ID
    • Klientorganisations-ID
    • Klienthemlighet
  4. Lägg nu till de sparade värdena som miljövariabler i standardlogikappresursen.

Lägga till appregistreringsvärden i standardlogikappen

  1. I Azure Portal går du till din standardlogikappresurs.

  2. På resursmenyn går du till Inställningar, väljer Containrar och sedan fliken Miljövariabler .

    Mer information om appinställningar och värdinställningar finns i Redigera appinställningar och värdinställningar.

  3. I verktygsfältet väljer du Redigera och distribuera.

  4. I fönstret Redigera en container väljer du Miljövariabler och sedan Lägg till.

  5. I följande tabell lägger du till varje miljövariabel med det angivna värdet:

    Miljövariabel Värde
    WORKFLOWAPP_AAD_CLIENTID < my-client-ID>
    WORKFLOWAPP_AAD_OBJECTID < my-object-ID>
    WORKFLOWAPP_AAD_TENANTID < my-tenant-ID>
    WORKFLOWAPP_AAD_CLIENTSECRET < my-client-secret>
  6. När du är klar väljer du Spara.

Lagra och referera till klient-ID och klienthemlighet

Du kan lagra klient-ID:t och klienthemlighetsvärdena i logikappresursen som hemligheter och sedan referera till dessa värden på fliken Miljövariabler i stället.

  1. Gå till logikappresursen i Azure Portal.

  2. På resursmenyn går du till Inställningar och väljer Hemligheter.

  3. I verktygsfältet väljer du Lägg till.

  4. I fönstret Lägg till hemlighet anger du följande information för varje hemlighet och väljer sedan Lägg till:

    Tangent Värde
    WORKFLOWAPP_AAD_CLIENTID < my-client-ID>
    WORKFLOWAPP_AAD_CLIENTSECRET < my-client-secret>

Kända problem och felsökning

I följande avsnitt beskrivs kända problem och vägledning för felsökning av vanliga problem.

Allmänna problem med miljökonfiguration eller portaldistribution

För att hjälpa dig att diagnostisera och felsöka problem med din miljökonfiguration eller fel vid portaldistribution kan du prova att köra dettroubleshoot.ps1 PowerShell-skript som tillhandahålls för hybriddistributionsalternativet.

  1. Gå till GitHub-lagringsplatsen för Azure Logic Apps: skript/hybridmapp.

  2. Kopiera filentroubleshoot.ps1 till en mapp på samma lokala plats som distributionen av logikappen.

  3. Kör skriptet med Hjälp av PowerShell.

Arc-aktiverade Kubernetes-kluster

I sällsynta fall kan du märka ett högt minnesavtryck i klustret. Du kan förhindra det här problemet genom att antingen skala ut eller lägga till autoskalning för nodpooler.

Funktionsvärden körs inte

När du har distribuerat standardlogikappen kontrollerar du att appen körs korrekt.

  1. Öppna logikappresursen i Azure-portalen.

  2. På resursmenyn väljer du Översikt.

  3. På sidan Översikt , bredvid fältet Program-URL , väljer du resurs-URL:en.

    Om appen körs korrekt öppnas ett webbläsarfönster och följande meddelande visas:

    Skärmbild som visar webbläsare och logikappar som körs som en webbplats.

    Om din app annars har fel kontrollerar du att dina AKS-poddar körs korrekt. Kör följande kommandon från Windows PowerShell:

    az aks get-credentials {resource-group-name} --name {aks-cluster-name} --admin
    kubectl get ns
    kubectl get pods -n logicapps-aca-ns
    kubectl describe pod {logic-app-pod-name} -n logicapps-aca-ns 
    

    Mer information finns i följande dokumentation:

Klustret har inte tillräckligt med noder

Om du körde föregående kommando och får en varning som liknar följande exempel har klustret inte tillräckligt med noder för bearbetning:

Warning: FailedScheduling  4m52s (x29 over 46m)  default-scheduler  0/2 nodes are available: 2 Too many pods. preemption: 0/2 nodes are available: 2 No preemption victims found for incoming pod.

Följ dessa steg för att öka antalet noder och konfigurera autoskalning:

  1. I Azure Portal går du till kubernetes-tjänstinstansen.

  2. På instansmenyn går du till Inställningar och väljer Nodpooler.

  3. På sidan Nodverktyg väljer du + Lägg till nodpool.

Mer information finns i följande dokumentation:

Drivrutinen för SMB Container Storage Interface (CSI) är inte installerad

När du har kört det tidigare kubectl describe pod kommandot kontrollerar du om CSI-drivrutinen för SMB-filresursen är korrekt installerad om följande varning visas:

Warning FailedScheduling 5m16s (x2 over 5m27s)  default-scheduler 0/14 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/14 nodes are available: 14 Preemption is not helpful for scheduling.

Normal NotTriggerScaleUp 9m49s (x31 over 14m) cluster-autoscaler pod didn't trigger scale-up: 3 pod has unbound immediate PersistentVolumeClaims

För att bekräfta, från Windows PowerShell, kör du följande kommandon:

kubectl get csidrivers

Om resultatlistan som visas inte innehåller smb.csi.k8s.io, från en Windows-kommandotolk, och kör följande kommando:

helm repo add csi-driver-smb
helm repo update helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.15.0

Om du vill kontrollera statusen för CSI SMB-drivrutinspoddar kör du följande kommando från Kommandotolken i Windows:

kubectl --namespace=kube-system get pods --selector="app.kubernetes.io/name=csi-driver-smb" --watch

Mer information finns i CSI-drivrutiner (Container Storage Interface) på Azure Kubernetes Service (AKS).