Delen via


Standaardwerkstromen voor logische apps maken voor hybride implementatie op uw eigen infrastructuur (preview)

Van toepassing op: Azure Logic Apps (Standard)

Notitie

Deze mogelijkheid is in preview, brengt kosten in rekening voor gebruik en is onderhevig aan de aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews.

Voor scenario's waarin u uw eigen infrastructuur moet gebruiken, beheren en beheren, kunt u standaardwerkstromen voor logische apps maken met behulp van het hybride implementatiemodel in Azure Logic Apps. Dit model biedt mogelijkheden voor het bouwen en hosten van integratieoplossingen voor gedeeltelijk verbonden omgevingen waarvoor lokale verwerking, opslag en netwerktoegang is vereist. Uw infrastructuur kan on-premises systemen, privéclouds en openbare clouds bevatten. Met het hybride model wordt uw standaardwerkstroom voor logische apps mogelijk gemaakt door de Azure Logic Apps-runtime, die on-premises wordt gehost als onderdeel van een Azure Container Apps-extensie.

Zie Infrastructuurvereisten instellen voor hybride implementatie voor standaard logische apps voor logische apps voor een architectuuroverzicht waarin wordt weergegeven waar werkstromen van standaard logische apps worden gehost en uitgevoerd in een gedeeltelijk verbonden omgeving.

Deze handleiding laat zien hoe u een standaardwerkstroom voor logische apps maakt en implementeert met behulp van het hybride implementatiemodel nadat u de benodigde on-premises resources voor het hosten van uw app hebt ingesteld.

Beperkingen

  • Hybride implementatie voor standaard logische apps is beschikbaar en wordt alleen ondersteund in dezelfde regio's als Azure Container Apps in AKS met Azure Arc.

  • De volgende mogelijkheden zijn momenteel niet beschikbaar in deze preview-versie:

    • Verificatie van beheerde identiteit
    • SAP-toegang via de ingebouwde SAP-connector
    • Aangepaste C#-code met .NET Framework en de ingebouwde actie Lokale functie aanroepen in deze logische app
    • XSLT 1.0 voor aangepaste code

    Kubernetes-clusters met Azure Arc bieden momenteel geen ondersteuning voor verificatie van beheerde identiteiten voor beheerde API-verbindingen. In plaats daarvan moet u uw eigen app-registratie maken met behulp van Microsoft Entra ID. Volg deze stappen verderop in deze handleiding voor meer informatie.

  • Sommige op functies gebaseerde triggers, zoals Azure Blob, Cosmos DB en Event Hubs, vereisen een verbinding met het Azure-opslagaccount dat is gekoppeld aan uw standaard logische app. Als u op functies gebaseerde triggers gebruikt, voegt u in de omgevingsvariabelen van uw Standard-logische app in Azure Portal of in het local.settings.json-bestand van uw logische app-project in Visual Studio Code de volgende app-instelling toe en geeft u uw opslagaccount op verbindingsreeks:

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

Vereisten

  • Een Azure-account en -abonnement. Als u nog geen abonnement hebt, meld u dan aan voor een gratis Azure-account.

  • De volgende on-premises resources, die allemaal in hetzelfde netwerk aanwezig moeten zijn voor de vereiste connectiviteit:

    • Een Azure Kubernetes Service-cluster dat is verbonden met Azure Arc
    • Een SQL-database om de uitvoeringsgeschiedenis, invoer en uitvoer van de werkstroom lokaal op te slaan voor verwerking
    • Een SMB-bestandsshare (Server Message Block) voor het lokaal opslaan van artefacten die worden gebruikt door uw werkstromen

    Als u aan deze vereisten wilt voldoen, stelt u deze on-premises resources in ter ondersteuning van hybride implementatie voor standaard logische apps.

  • Als u in Visual Studio Code wilt werken, hebt u de Azure Logic Apps-extensie (Standard) voor Visual Studio Code nodig met de bijbehorende vereisten.

    Tip

    Als u een nieuwe Installatie van Visual Studio Code hebt, controleert u of u lokaal een standaardwerkstroom van Standard kunt uitvoeren voordat u implementeert in uw eigen infrastructuur. Deze testuitvoering helpt bij het isoleren van eventuele fouten in uw Standaardwerkstroomproject.

Uw logische standaard-app maken

Nadat u aan de vereisten voldoet, maakt u uw standaard logische app voor hybride implementatie door de volgende stappen uit te voeren:

  1. Voer logische apps in het zoekvak van Azure Portal in en selecteer Logische apps.

  2. Selecteer Toevoegen op de paginawerkbalk van Logische apps.

  3. Selecteer Hybride op de pagina Logische app maken onder Standard.

  4. Geef op de pagina Logische app maken (hybride) de volgende informatie op :

    Eigenschappen Vereist Weergegeven als Beschrijving
    Abonnement Ja <Azure-abonnementnaam> Uw Azure-abonnementnaam.

    In dit voorbeeld wordt gebruikgemaakt van Betalen per gebruik.
    Resourcegroep Ja <Naam-Azure-resourcegroep> De Azure-resourcegroep waarin u uw hybride app en gerelateerde resources maakt. Deze naam moet uniek zijn in verschillende regio's en mag alleen letters, cijfers, afbreekstreepjes (-_), onderstrepingstekens (_), haakjes (()) en punten (.) bevatten.

    In dit voorbeeld wordt een resourcegroep gemaakt met de naam Hybrid-RG.
    Naam van logische app Ja <naam-van-logische-app> De naam van uw logische app, die uniek moet zijn in verschillende regio's en mag alleen kleine letters, cijfers of afbreekstreepjes (-) bevatten.

    In dit voorbeeld wordt my-logic-app-hybrid gebruikt.
    Regio Ja <Azure-regio> Een Azure-regio die wordt ondersteund voor Azure-container-apps in AKS met Azure Arc.

    In dit voorbeeld wordt VS - oost gebruikt.
    Verbonden container-app-omgeving Ja <naam verbonden omgeving> Het Kubernetes-cluster met Arc dat u hebt gemaakt als de implementatieomgeving voor uw logische app. Zie Zelfstudie: Azure Container Apps inschakelen in Kubernetes met Azure Arc voor meer informatie.
    Opslaginstellingen configureren Ja Ingeschakeld of uitgeschakeld Gaat door naar het tabblad Opslag op de pagina Logische app maken (hybride).

    In het volgende voorbeeld ziet u de pagina voor het maken van logische apps in Azure Portal met voorbeeldwaarden:

    Schermopname van de pagina azure Portal en het maken van logische apps.

  5. Geef op de pagina Opslag de volgende informatie op over de opslagprovider en de SMB-bestandsshare die u eerder hebt ingesteld:

    Eigenschappen Vereist Weergegeven als Beschrijving
    SQL-verbindingsreeks Ja <sql-server-connection-string> De SQL Server-verbindingsreeks die u eerder hebt opgeslagen. Zie Sql Server-opslagprovider maken voor meer informatie.
    Hostnaam Ja <file-share-host-name> De hostnaam voor uw SMB-bestandsshare.
    Bestandssharepad Ja <bestandsshare-pad> Het bestandssharepad voor uw SMB-bestandsshare.
    Gebruikersnaam Ja <file-share-user-name> De gebruikersnaam voor uw SMB-bestandsshare.
    Wachtwoord Ja <file-share-password> Het wachtwoord voor uw SMB-bestandsshare.
  6. Wanneer u klaar bent, selecteert u Beoordelen en maken. Bevestig de opgegeven informatie en selecteer Maken.

  7. Nadat De implementatie van Azure is voltooid, selecteert u Ga naar de resource.

    Schermopname van Azure Portal met de standaard logische app voor hybride implementatie die is gemaakt als een container-app.

    Notitie

    Er zijn verschillende bekende problemen in de portal rond Standaard logische apps die gebruikmaken van de hybride hostingoptie. Deze logische apps worden weergegeven met het container-app-label , wat verschilt van de standaard logische apps die gebruikmaken van de hostingoptie Workflow Service Plan of App Service Environment V3. Zie Bekende problemen en probleemoplossing - Azure Portal voor meer informatie.

  8. Selecteer in Azure Portal in het resourcemenu onder Werkstromen de optie Werkstromen.

  9. Selecteer Toevoegen op de pagina Werkstromen om een lege stateful of stateless werkstroom toe te voegen.

  10. Nadat de ontwerpfunctie is geopend, bouwt u uw werkstroom door een trigger en acties toe te voegen.

    Zie Een werkstroom bouwen met een trigger en acties voor meer informatie.

    Notitie

    Met een standaard logische app met de optie hybride hosting wordt automatisch een nieuwe revisie gemaakt. Dit is een versiebeheerconcept van Azure Container Apps wanneer u wijzigingen in een onderliggende werkstroom opslaat. Deze revisie kan enige tijd in beslag nemen om te activeren, wat betekent dat u na het opslaan van wijzigingen enkele ogenblikken wilt wachten voordat u de werkstroom test.

    Als uw wijzigingen nog steeds niet in de werkstroom worden weergegeven, kunt u controleren of de revisie bestaat:

    1. Selecteer revisies en replica's in het resourcemenu onder Revisies.

    2. Controleer op de pagina Revisies en replica's op het tabblad Actieve revisies of er een nieuwe revisie wordt weergegeven in de lijst.

    Voor meer informatie raadpleegt u de volgende bronnen:

CPU- en geheugentoewijzing wijzigen in Azure Portal

Voer de volgende stappen uit om de CPU- en geheugeninstellingen voor uw resource voor de logische standaard-app te bewerken:

  1. Open uw resource voor de logische standaard-app in Azure Portal.

  2. Selecteer Containers in het resourcemenu onder Instellingen.

  3. Selecteer Bewerken en implementeren op de pagina Containers op de pagina Containers. Hiermee opent u het deelvenster Een container bewerken.

  4. Wijzig op het tabblad Eigenschappen , onder Toewijzing van containerresources, de volgende waarden om aan uw scenario te voldoen:

    Eigenschappen Weergegeven als Beschrijving
    CPU-kernen - Standaard: 1
    - Minimum: 0,25
    - Maximum: 2
    Bepaalt de CPU-kernen die moeten worden toegewezen aan uw containerinstantie. U kunt deze waarde verhogen met 0,25 kernen tot de maximumwaarde. Het totale aantal voor alle containerinstanties voor deze logische app is beperkt tot 2 kernen.
    Geheugen - Standaardwaarde: 2
    - Minimum: 0,1
    - Maximum: 4
    Bepaalt de geheugencapaciteit in gibibytes (Gi) die moet worden toegewezen aan uw containerinstantie. U kunt deze waarde met 0,1 Gi verhogen tot de maximumwaarde. De totale capaciteit voor alle containerinstanties voor deze logische app is beperkt tot 4 Gi.
  5. Selecteer Opslaan wanneer u klaar bent.

Schalen van replica's wijzigen in Azure Portal

U kunt de automatische schaalaanpassing beheren voor het bereik van replica's die worden geïmplementeerd als reactie op een trigger-gebeurtenis. Een replica is een nieuw exemplaar van een resourcerevisie of versie van een logische app. Als u de minimum- en maximumwaarden voor dit bereik wilt wijzigen, kunt u de schaalregels wijzigen om de gebeurtenistypen te bepalen die schalen activeren. Zie Schaalregels instellen in Azure Container Apps voor meer informatie.

  1. Open uw resource voor de logische standaard-app in Azure Portal.

  2. Selecteer Schalen in het resourcemenu onder Instellingen.

  3. Wijzig op de pagina Schaal onder Regelinstelling Schalen de volgende waarden om aan uw scenario te voldoen:

    Eigenschappen Weergegeven als Beschrijving
    Minimale replica's - Standaard: 1
    - Minimum: 0
    - Maximum: 1000
    Bepaalt het minimum aantal replica's dat op een bepaald moment is toegestaan voor de revisie. Deze waarde overschrijft schaalregels en moet kleiner zijn dan het maximum aantal replica's.
    Maximum aantal replica's - Standaard: 30
    - Minimum: 0
    - Maximum: 1000
    Bepaalt het maximum aantal replica's dat op een bepaald moment is toegestaan voor de revisie. Met deze waarde worden schaalregels overschreven.
  4. Selecteer Opslaan wanneer u klaar bent.

Inkomend verkeer naar uw logische app beheren in Azure Portal

U kunt uw logische app beschikbaar maken voor het openbare web, uw virtuele netwerk en andere logische apps in uw omgeving door inkomend verkeer in te schakelen. Azure dwingt toegangsbeheerobjectinstellingen af via een set regels waarmee de routering van extern en intern verkeer naar uw logische app wordt beheerd. Wanneer u inkomend verkeer inschakelt, hoeft u geen Azure Load Balancer, openbaar IP-adres of andere Azure-resources te maken om binnenkomende HTTP-aanvragen of TCP-verkeer in te schakelen. Zie Inkomend verkeer in Container Apps voor meer informatie.

Notitie

Wanneer u inkomend verkeer inschakelt, wordt al het verkeer standaard omgeleid naar de meest recente revisie. Ga naar de pagina Revisiebeheer om de verkeersinstellingen te wijzigen.

  1. Selecteer inkomend verkeer in het resourcemenu onder Instellingen.

  2. Schakel op de pagina Inkomend verkeer , naast Inkomend verkeer, het selectievakje Ingeschakeld in .

  3. Configureer de resterende opties op basis van uw scenario.

    Voor meer informatie raadpleegt u de volgende documentatie:

Verificatie instellen voor beheerde API-verbindingen

Als u beheerde API-verbindingen wilt verifiëren in standaardwerkstromen voor logische apps die worden gehost op Kubernetes-clusters met Azure Arc, moet u uw eigen app-registratie maken met behulp van Microsoft Entra ID. Vervolgens kunt u de waarden van deze app-registratie toevoegen als omgevingsvariabelen in de resource van uw standaard logische app om uw API-verbindingen te verifiëren.

Een app-registratie maken met Microsoft Entra-id

Azure Portal

  1. Volg de quickstart in Azure Portal: Een toepassing registreren bij het Microsoft Identity Platform om een app-registratie te maken.

  2. Nadat het maken is voltooid, zoekt u uw nieuwe app-registratie in de portal.

  3. Selecteer Overzicht in het resourcemenu en sla de volgende waarden op, die u later nodig hebt voor verbindingsverificatie:

    • Client ID
    • Tenant-id
    • Clientgeheim
  4. Voer de volgende stappen uit voor de object-id:

    1. Selecteer op de pagina Overzicht beheerde toepassing in de lokale mapkoppeling voor uw app-registratie, zoals wordt weergegeven:

      Schermopname van app-registratie met geselecteerde koppeling voor beheerde toepassing in de lokale map.

    2. Kopieer en sla de waarde van de object-id op de pagina die wordt geopend:

      Schermopname van app-registratie met geselecteerde object-id.

  5. Voeg nu de opgeslagen waarden toe als omgevingsvariabelen aan de resource van uw standaard logische app.

Azure-CLI

  1. Gebruik de opdracht az ad sp create om de app-registratie te maken.

  2. Als u alle eigenschappen wilt bekijken, gebruikt u de opdracht az ad sp show.

  3. Zoek en sla in de uitvoer van beide opdrachten de volgende waarden op, die u later nodig hebt voor verbindingsverificatie:

    • Client ID
    • Object-id
    • Tenant-id
    • Clientgeheim
  4. Voeg nu de opgeslagen waarden toe als omgevingsvariabelen aan de resource van uw standaard logische app.

App-registratiewaarden toevoegen aan uw standaard logische app

  1. Ga in Azure Portal naar de resource van uw standaard logische app.

  2. Selecteer Containers in het resourcemenu onder Instellingen en selecteer vervolgens het tabblad Omgevingsvariabelen.

    Zie App-instellingen en hostinstellingen bewerken voor meer informatie over app-instellingen en hostinstellingen.

  3. Selecteer Bewerken en implementeren op de werkbalk.

  4. Selecteer omgevingsvariabelen in het deelvenster Een container bewerken en selecteer vervolgens Toevoegen.

  5. Voeg vanuit de volgende tabel elke omgevingsvariabele toe met de opgegeven waarde:

    Omgevingsvariabele Weergegeven als
    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. Selecteer Opslaan wanneer u klaar bent.

Client-id en clientgeheim opslaan en ernaar verwijzen

U kunt de waarden voor client-id's en clientgeheimen opslaan in de resource van uw logische app als geheimen en vervolgens verwijzen naar deze waarden op het tabblad Omgevingsvariabelen .

  1. Ga in Azure Portal naar de resource van uw logische app.

  2. Selecteer Geheimen in het resourcemenu onder Instellingen.

  3. Selecteer Toevoegen op de werkbalk.

  4. Geef in het deelvenster Geheim toevoegen de volgende informatie op voor elk geheim en selecteer vervolgens Toevoegen:

    Sleutel Weergegeven als
    WORKFLOWAPP_AAD_CLIENTID <my-client-ID>
    WORKFLOWAPP_AAD_CLIENTSECRET <my-client-secret>

Bekende problemen en probleemoplossing

Azure Portal

  • Uw standaard logische app wordt geïmplementeerd en wordt weergegeven als een Azure Container Apps-resource, maar het type wordt weergegeven als logische app (hybride).

  • Azure bevat uw standaard logische app in de lijst met Container Apps-resources , niet in de resourcelijst van Logic Apps .

  • Uw met Azure Container Apps verbonden omgeving vermeldt uw standaard logische app als een app-type met de naam Hybride logische app.

  • Als u wijzigingen in de ontwerpfunctie wilt weergeven nadat u uw werkstroom hebt opgeslagen, moet u de ontwerpfunctie mogelijk af en toe vernieuwen.

Kubernetes-clusters met Arc

In zeldzame scenario's ziet u mogelijk een hoge geheugenvoetafdruk in uw cluster. U kunt dit probleem voorkomen door uit te schalen of automatisch schalen toe te voegen voor knooppuntgroepen.

Functiehost wordt niet uitgevoerd

Nadat u de logische standaard-app hebt geïmplementeerd, controleert u of uw app correct wordt uitgevoerd.

  1. Ga in Azure Portal naar de container-app-resource voor uw logische app.

  2. Selecteer Overzicht in het resourcemenu.

  3. Selecteer op de pagina Overzicht naast het veld Toepassings-URL de resource-URL.

    Als uw app correct wordt uitgevoerd, wordt er een browservenster geopend en wordt het volgende bericht weergegeven:

    Schermopname van de browser en logische app die als een website wordt uitgevoerd.

    Als uw app anders fouten heeft, controleert u of uw AKS-pods correct worden uitgevoerd. Voer vanuit Windows PowerShell de volgende opdrachten uit:

    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 
    

    Voor meer informatie raadpleegt u de volgende documentatie:

Cluster heeft onvoldoende knooppunten

Als u de vorige opdracht hebt uitgevoerd en een waarschuwing krijgt die lijkt op het volgende voorbeeld, beschikt uw cluster niet over voldoende knooppunten voor verwerking:

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.

Voer de volgende stappen uit om het aantal knooppunten te verhogen en automatische schaalaanpassing in te stellen:

  1. Ga in Azure Portal naar uw Kubernetes-service-exemplaar.

  2. Selecteer Knooppuntgroepen in het exemplaarmenu onder Instellingen.

  3. Selecteer + Knooppuntgroep toevoegen op de pagina werkbalk Hulpprogramma's voor knooppunten.

Voor meer informatie raadpleegt u de volgende documentatie:

Het stuurprogramma SMB Container Storage Interface (CSI) is niet geïnstalleerd

Nadat u de vorige kubectl describe pod opdracht hebt uitgevoerd, controleert u of het CSI-stuurprogramma voor uw SMB-bestandsshare correct is geïnstalleerd als de volgende waarschuwing wordt weergegeven:

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

Voer de volgende opdrachten uit vanuit Windows PowerShell om te bevestigen:

kubectl get csidrivers

Als de lijst met resultaten die wordt weergegeven geen smb.csi.k8s.io bevat, voert u vanaf een Windows-opdrachtprompt de volgende opdracht uit:

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

Als u de status van de CSI SMB-stuurprogrammapods wilt controleren, voert u vanaf de Windows-opdrachtprompt de volgende opdracht uit:

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

Zie CSI-stuurprogramma's (Container Storage Interface) in Azure Kubernetes Service (AKS) voor meer informatie.