Dela via


Konfigurera din egen infrastruktur för standardlogikappar med hjälp av hybriddistribution

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

Ibland måste du konfigurera och hantera din egen infrastruktur för att uppfylla specifika behov av regelefterlevnad, datasekretess eller nätverksbegränsningar. Azure Logic Apps erbjuder en hybriddistributionsmodell så att du kan distribuera och vara värd för Standard Logic App-arbetsflöden i lokala scenarier, privata moln eller offentliga molnscenarier. Den här modellen ger dig funktioner som värd för integreringslösningar i delvis anslutna miljöer när du behöver använda lokal bearbetning, datalagring och nätverksåtkomst. Med hybridalternativet har du friheten och flexibiliteten att välja den bästa miljön för dina arbetsflöden.

Så här fungerar hybriddistribution

Standardarbetsflöden för logikappar med hybriddistributionsalternativet drivs av en Azure Logic Apps-körning som finns i ett Azure Container Apps-tillägg. I arbetsflödet körs alla inbyggda, runtime-nativa operationer lokalt med körningen så att du får högre genomströmning för åtkomst till lokala datakällor. Om du behöver åtkomst till icke-lokala dataresurser, till exempel molnbaserade tjänster som Microsoft Office 365, Microsoft Teams, Salesforce, GitHub, LinkedIn eller ServiceNow, kan du välja åtgärder från över 1 400 anslutningsappar i Azure som ska ingå i dina arbetsflöden. Mer information finns i Hanterade (delade) kopplingar. Även om du måste ha internetanslutning för att hantera din logikapp i Azure Portal kan du med den här plattformens halvanslutna karaktär absorbera eventuella tillfälliga problem med Internetanslutningen.

Om du till exempel har ett lokalt scenario visar följande arkitekturöversikt var standardlogikappens arbetsflöden finns och körs i hybridmodellen. Den delvis anslutna miljön innehåller följande resurser för att vara värd för och arbeta med standardlogikappar som distribueras som Azure Container Apps-resurser:

  • Azure Arc-aktiverade AKS-kluster (Azure Kubernetes Service)
  • 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

Diagram med arkitekturöversikt för var standardlogikappar finns i en delvis ansluten miljö.

Som värd kan du också konfigurera och använda Azure Arc-aktiverade Kubernetes-kluster i Azure Local - eller Azure Arc-aktiverade Kubernetes-kluster på Windows Server.

Hybriddistributionsmodellen kombinerar lokala funktioner och molnfunktioner för att tillhandahålla flexibla integreringslösningar för olika behov. Din hybridlogikappresurs kan till exempel effektivt justera resurser baserat på ändrade arbetsbelastningar. Den här dynamiska skalningen hjälper dig att hantera beräkningskostnader genom att öka kapaciteten under hög efterfrågan och minska resurserna när användningen minskar.

Mer information finns i följande dokumentation:

Den här instruktionsguiden visar hur du konfigurerar nödvändiga lokala resurser i infrastrukturen så att du kan skapa, distribuera och vara värd för ett standardarbetsflöde för logikappar med hjälp av hybriddistributionsmodellen.

Begränsningar

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

Begränsning beskrivning
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.
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
Azure Arc-aktiverade Kubernetes-kluster som stöds – Azure Arc-aktiverade Kubernetes-kluster
– Azure Arc-aktiverade Kubernetes-kluster på Azure Local (tidigare Azure Stack HCI)
– Azure Arc-aktiverade Kubernetes-kluster på Windows Server
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. Mer information finns i Begränsningar för att skapa arbetsflöden för hybriddistribution.

Förutsättningar

Fakturering

Information om hur fakturering fungerar finns i Standard (hybriddistribution).

Skapa ett Kubernetes-kluster

Innan du kan distribuera standardlogikappen som lokal resurs till ett Azure Arc-aktiverat Kubernetes-kluster i en Azure Container Apps-ansluten miljö behöver du först ett Kubernetes-kluster. Du ansluter senare det här klustret till Azure Arc så att du har ett Azure Arc-aktiverat Kubernetes-kluster.

Kubernetes-klustret kräver inkommande och utgående anslutning med SQL-databasen som du senare skapar som lagringsprovider och med Server Message Block-filresursen som du senare skapar som filresurs för lagring av artefakter. Dessa resurser måste finnas i samma nätverk.

Kommentar

Du kan också skapa ett Kubernetes-kluster i Azure Local - eller Kubernetes-kluster på Windows Server och tillämpa stegen i den här guiden för att ansluta klustret till Azure Arc och konfigurera din anslutna miljö. Mer information om Azure Local och AKS på Windows Server finns i följande resurser:

  1. Ange följande miljövariabler för kubernetes-klustret som du vill skapa:

    SUBSCRIPTION="<Azure-subscription-ID>"
    AKS_CLUSTER_GROUP_NAME="<aks-cluster-resource-group-name>"
    AKS_NAME="<aks-cluster-name>"
    LOCATION="eastus"
    
    Parameter Obligatoriskt Värde beskrivning
    ABONNEMANG Ja < Azure-subscription-ID> ID:t för din Azure-prenumeration
    AKS_CLUSTER_GROUP_NAME Ja < aks-cluster-resource-group-name> Namnet på den Azure-resursgrupp som ska användas med ditt Kubernetes-kluster. 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 används Hybrid-RG.
    AKS_NAME Ja < aks-cluster-name> Namnet på ditt Kubernetes-kluster.
    PLATS Ja < Azure-region> En Azure-region som stöder Azure Container Apps på Azure Arc-aktiverade Kubernetes.

    I det här exemplet används eastus.
  2. Kör följande kommandon antingen med hjälp av Bash-miljön i Azure Cloud Shell eller lokalt med Azure CLI installerat på datorn:

    Kommentar

    Se till att ändra nodvärdena max-count och min-count baserat på dina belastningskrav.

    az login
    az account set --subscription $SUBSCRIPTION
    az provider register --namespace Microsoft.KubernetesConfiguration --wait
    az provider register --namespace Microsoft.Kubernetes --wait
    az extension add --name k8s-extension --upgrade --yes
    az group create \
       --name $AKS_CLUSTER_GROUP_NAME \
       --location $LOCATION
    az aks create \
       --resource-group $AKS_CLUSTER_GROUP_NAME \
       --name $AKS_NAME \
       --enable-aad \
       --generate-ssh-keys \
       --enable-cluster-autoscaler \
       --max-count 6 \
       --min-count 1
    
    Parameter Obligatoriskt Värde beskrivning
    max count Nej < max-nodes-value> Det maximala antalet noder som ska användas för autoskalning när du inkluderar alternativet enable-cluster-autoscaler . Det här värdet varierar från 1 till 1 000.
    min count Nej < min-nodes-value> Det minsta antalet noder som ska användas för autoskalning när du inkluderar alternativet enable-cluster-autoscaler . Det här värdet varierar från 1 till 1 000.

    Mer information finns i följande resurser:

Ansluta Kubernetes-kluster till Azure Arc

Om du vill skapa ditt Azure Arc-aktiverade Kubernetes-kluster ansluter du ditt Kubernetes-kluster till Azure Arc.

Kommentar

Du hittar stegen i det här avsnittet och framåt för att skapa din anslutna miljö i ett skript med namnet EnvironmentSetup.ps1, som du hittar på GitHub-lagringsplatsen med namnet Azure/logicapps. Du kan ändra och använda det här skriptet för att uppfylla dina krav och scenarier.

Skriptet är osignerat, så innan du kör skriptet kör du följande Azure PowerShell-kommando som administratör för att ange körningsprincipen:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Mer information finns i Set-ExecutionPolicy.

  1. Installera följande Azure CLI-tillägg:

    az extension add --name connectedk8s --upgrade --yes 
    az extension add --name k8s-extension --upgrade --yes 
    az extension add --name customlocation --upgrade --yes 
    az extension add --name containerapp --upgrade --yes 
    

    Mer information finns i följande resurser:

  2. Registrera följande obligatoriska namnområden:

    az provider register --namespace Microsoft.ExtendedLocation --wait
    az provider register --namespace Microsoft.Kubernetes --wait
    az provider register --namespace Microsoft.KubernetesConfiguration --wait
    az provider register --namespace Microsoft.App --wait
    az provider register --namespace Microsoft.OperationalInsights --wait
    

    Mer information finns i följande resurser:

  3. Installera Kubernetes kommandoradsgränssnitt (CLI) med namnet kubectl:

    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
    
    choco install kubernetes-cli -y
    

    Mer information finns i följande resurser:

  4. Testa anslutningen till klustret genom att hämta kubeconfig-filen:

    az aks get-credentials \
       --resource-group $AKS_CLUSTER_GROUP_NAME \
       --name $AKS_NAME \
       --admin
    kubectl get ns 
    

    Som standard sparas kubeconfig-filen i sökvägen~ /.kube/config. Det här kommandot gäller för vårt kubernetes-exempelkluster och skiljer sig åt för andra typer av Kubernetes-kluster.

    Mer information finns i följande resurser:

  5. Installera Kubernetes-pakethanteraren med namnet Helm:

    choco install kubernetes-helm
    

    Mer information finns i följande resurser:

  6. Installera SMB-drivrutinen med följande Helm-kommandon:

    1. Lägg till den angivna diagramlagringsplatsen, hämta den senaste informationen för tillgängliga diagram och installera det angivna diagramarkivet.

      helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts 
      helm repo update
      helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.15.0 
      

      Mer information finns i följande resurser:

    2. Bekräfta att SMB-drivrutinen är installerad genom att köra följande kubectl-kommando , som bör visa en lista över smb.csi.k8s.io:

      kubectl get csidriver
      

      Mer information finns i kubectl get.

Ansluta ditt Kubernetes-kluster till Azure Arc

  1. Baserat på kubernetes-klusterdistributionen anger du följande miljövariabel för att ange ett namn som ska användas för azure-resursgruppen som innehåller ditt Azure Arc-aktiverade kluster och resurser:

    GROUP_NAME="<Azure-Arc-cluster-resource-group-name>"
    
    Parameter Obligatoriskt Värde beskrivning
    GROUP_NAME Ja < Azure-Arc-cluster-resource-group-name> Namnet på den Azure-resursgrupp som ska användas med ditt Azure Arc-aktiverade kluster och andra resurser, till exempel azure container apps-tillägget, den anpassade platsen och den anslutna Azure Container Apps-miljön. 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 används Hybrid-Arc-RG.
  2. Skapa Azure-resursgruppen för ditt Azure Arc-aktiverade kluster och resurser:

    az group create \
       --name $GROUP_NAME \
       --location $LOCATION
    

    Mer information finns i följande resurser:

  3. Ange följande miljövariabel för att ange ett namn för ditt Azure Arc-aktiverade Kubernetes-kluster:

    CONNECTED_CLUSTER_NAME="$GROUP_NAME-cluster"
    
    Parameter Obligatoriskt Värde beskrivning
    ANSLUTET_KLUSTER_NAMN Ja < Azure-Arc-cluster-resource-group-name>-cluster Namnet som ska användas för ditt Azure Arc-aktiverade kluster. 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 används Hybrid-Arc-RG-cluster.
  4. Anslut ditt tidigare skapade Kubernetes-kluster till Azure Arc:

    az connectedk8s connect \
       --resource-group $GROUP_NAME \
       --name $CONNECTED_CLUSTER_NAME
    

    Mer information finns i följande resurser:

  5. Verifiera anslutningen mellan Azure Arc och ditt Kubernetes-kluster:

    az connectedk8s show \
       --resource-group $GROUP_NAME \
       --name $CONNECTED_CLUSTER_NAME
    

    Om utdata visar att egenskapsvärdet provisioningState inte är inställt på Lyckades kör du kommandot igen efter en minut.

    Mer information finns i följande resurser:

Skapa en Azure Log Analytics-arbetsyta

Du kan skapa en valfri, men rekommenderad, Azure Log Analytics-arbetsyta, som ger åtkomst till loggar för appar som körs i ditt Azure Arc-aktiverade Kubernetes-kluster.

  1. Ange följande miljövariabel för att ange ett namn på Log Analytics-arbetsytan:

    WORKSPACE_NAME="$GROUP_NAME-workspace"
    
    Parameter Obligatoriskt Värde beskrivning
    WORKSPACE_NAME Ja < Azure-Arc-cluster-resource-group-name>-workspace Namnet som ska användas för din Log Analytics-arbetsyta. Det här namnet måste vara unikt i resursgruppen.

    I det här exemplet används Hybrid-Arc-RG-workspace.
  2. Skapa Log Analytics-arbetsytan:

    az monitor log-analytics workspace create \
       --resource-group $GROUP_NAME \
       --workspace-name $WORKSPACE_NAME
    

    Mer information finns i följande resurser:

  3. Hämta det base64-kodade ID:t och den delade nyckeln för din Log Analytics-arbetsyta. Du behöver dessa värden för ett senare steg.

    LOG_ANALYTICS_WORKSPACE_ID=$(az monitor log-analytics workspace show \
       --resource-group $GROUP_NAME \
       --workspace-name $WORKSPACE_NAME \
       --query customerId \
       --output tsv)
    
    LOG_ANALYTICS_WORKSPACE_ID_ENC=[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($LOG_ANALYTICS_WORKSPACE_ID))
    
    LOG_ANALYTICS_KEY=$(az monitor log-analytics workspace get-shared-keys \
       --resource-group $GROUP_NAME \
       --workspace-name $WORKSPACE_NAME \
       --query primarySharedKey \
       --output tsv)
    
    LOG_ANALYTICS_KEY_ENC=[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($LOG_ANALYTICS_KEY))
    
    Parameter Obligatoriskt Värde beskrivning
    LOG_ANALYTICS_WORKSPACE_ID Ja ID:t för din Log Analytics-arbetsyta.
    LOG_ANALYTICS_WORKSPACE_ID_ENC Ja Det base64-kodade ID:t för din Log Analytics-arbetsyta.
    LOG_ANALYTICS_KEY Ja Den delade nyckeln för din Log Analytics-arbetsyta.
    LOG_ANALYTICS_ENC Ja Den base64-kodade delade nyckeln för din Log Analytics-arbetsyta.

    Mer information finns i följande resurser:

Skapa och installera Azure Container Apps-tillägget

Skapa och installera nu Azure Container Apps-tillägget med ditt Azure Arc-aktiverade Kubernetes-kluster som en lokal resurs.

Viktigt!

Om du vill distribuera till AKS på Azure Local, innan du skapar och installerar Azure Container Apps-tillägget, kontrollerar du att du har konfigurerat HAProxy eller en anpassad lastbalanserare.

  1. Ange följande miljövariabler till följande värden:

    EXTENSION_NAME="logicapps-aca-extension"
    NAMESPACE="logicapps-aca-ns"
    CONNECTED_ENVIRONMENT_NAME="<connected-environment-name>"
    
    Parameter Obligatoriskt Värde beskrivning
    EXTENSION_NAME Ja logicapps-aca-extension Namnet på Azure Container Apps-tillägget.
    NAMESPACE Ja logicapps-aca-ns Det klusternamnområde där du vill etablera resurser.
    CONNECTED_ENVIRONMENT_NAME Ja < connected-environment-name> Ett unikt namn att använda för den anslutna Azure Container Apps-miljön. Det här namnet blir en del av domännamnet för den standardlogikapp som du skapar, distribuerar och är värd för i den anslutna Azure Container Apps-miljön.
  2. Skapa och installera tillägget med Log Analytics aktiverat för ditt Azure Arc-aktiverade Kubernetes-kluster. Du kan inte lägga till Log Analytics i tillägget senare.

    az k8s-extension create \
       --resource-group $GROUP_NAME \
       --name $EXTENSION_NAME \
       --cluster-type connectedClusters \
       --cluster-name $CONNECTED_CLUSTER_NAME \
       --extension-type 'Microsoft.App.Environment' \
       --release-train stable \
       --auto-upgrade-minor-version true \
       --scope cluster \
       --release-namespace $NAMESPACE \
       --configuration-settings "Microsoft.CustomLocation.ServiceAccount=default" \
       --configuration-settings "appsNamespace=${NAMESPACE}" \
       --configuration-settings "keda.enabled=true" \
       --configuration-settings "keda.logicAppsScaler.enabled=true" \
       --configuration-settings "keda.logicAppsScaler.replicaCount=1" \
       --configuration-settings "containerAppController.api.functionsServerEnabled=true" \
       --configuration-settings "envoy.externalServiceAzureILB=false" \
       --configuration-settings "functionsProxyApiConfig.enabled=true" \
       --configuration-settings "clusterName=${CONNECTED_ENVIRONMENT_NAME}" \
       --configuration-settings "envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group=${GROUP_NAME}" \
       --configuration-settings "logProcessor.appLogs.destination=log-analytics" \
       --configuration-protected-settings "logProcessor.appLogs.logAnalyticsConfig.customerId=${LOG_ANALYTICS_WORKSPACE_ID_ENC}" \
       --configuration-protected-settings "logProcessor.appLogs.logAnalyticsConfig.sharedKey=${LOG_ANALYTICS_KEY_ENC}"
    
    Parameter Obligatoriskt beskrivning
    Microsoft.CustomLocation.ServiceAccount Ja Tjänstkontot som skapats för den anpassade platsen.

    Rekommendation: Ange värdet som standard.
    appsNamespace Ja Namnområdet som ska användas för att skapa appdefinitioner och revisioner. Det här värdet måste matcha versionsnamnområdet för Azure Container Apps-tillägget.
    clusterName Ja Namnet på Kubernetes-miljön som ska skapas för Azure Container Apps-tillägget.
    keda.enabled Ja Aktivera Kubernetes händelsedriven Autoskalning (KEDA). Det här värdet krävs och måste anges till true.
    keda.logicAppsScaler.enabled Ja Aktivera Azure Logic Apps-skalningsappen i KEDA. Det här värdet krävs och måste anges till true.
    keda.logicAppsScaler.replicaCount Ja Det ursprungliga antalet skalare för logikappar som ska startas. Standardvärdet är inställt på 1. Det här värdet skalas upp eller skalas ned till 0, om det inte finns några logikappar i miljön.
    containerAppController.api.functionsServerEnabled Ja Aktivera den tjänst som ansvarar för att konvertera logikappens arbetsflödesutlösare till KEDA-skalbara objekt. Det här värdet krävs och måste anges till true.
    envoy.externalServiceAzureILB Ja Avgör om sändebudet fungerar som en intern lastbalanserare eller en offentlig lastbalanserare.

    - sant: Sändebudet fungerar som en intern lastbalanserare. Azure Logic Apps-körningen är endast tillgänglig i det privata nätverket.

    - false: Sändebudet fungerar som en offentlig lastbalanserare. Azure Logic Apps-driftsmiljön är tillgänglig via det offentliga nätverket.
    functionsProxyApiConfig.enabled Ja Aktivera proxytjänsten som underlättar API-åtkomst till Azure Logic Apps-körningen från Azure Portal. Det här värdet krävs och måste anges till true.
    envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group Ja, men bara när det underliggande klustret är Azure Kubernetes Service. Namnet på resursgruppen där Kubernetes-klustret finns.
    logProcessor.appLogs.destination Nej Destinationen som ska användas för programloggar. Värdet är antingen log-analytics eller ingen, vilket inaktiverar loggning.
    logProcessor.appLogs.logAnalyticsConfig.customerId Ja, men bara när logProcessor.appLogs.destination är inställt på log-analytics. Det base64-kodade ID:t för din Log Analytics-arbetsyta. Se till att konfigurera den här parametern som en skyddad inställning.
    logProcessor.appLogs.logAnalyticsConfig.sharedKey Ja, men bara när logProcessor.appLogs.destination är inställt på log-analytics. Den base64-kodade delade nyckeln för din Log Analytics-arbetsyta. Se till att konfigurera den här parametern som en skyddad inställning.

    Mer information finns i följande resurser:

  3. Spara ID-värdet för Azure Container Apps-tillägget som ska användas senare:

    EXTENSION_ID=$(az k8s-extension show \
       --cluster-type connectedClusters \
       --cluster-name $CONNECTED_CLUSTER_NAME \
       --resource-group $GROUP_NAME \
       --name $EXTENSION_NAME \
       --query id \
       --output tsv)
    
    Parameter Obligatoriskt Värde beskrivning
    EXTENSION_ID Ja < extension-ID> ID:t för Azure Container Apps-tillägget.

    Mer information finns i följande resurser:

  4. Vänta tills tillägget har installerats helt innan du fortsätter. Kör följande kommando för att få terminalsessionen att vänta tills installationen är klar:

    az resource wait \
       --ids $EXTENSION_ID \
       --custom "properties.provisioningState!='Pending'" \
       --api-version "2020-07-01-preview" 
    

    Mer information finns i följande resurser:

Skapa din anpassade plats

  1. Ange följande miljövariabler till de angivna värdena:

    CUSTOM_LOCATION_NAME="my-custom-location"
    
    CONNECTED_CLUSTER_ID=$(az connectedk8s show \
       --resource-group $GROUP_NAME \
       --name $CONNECTED_CLUSTER_NAME \
       --query id \
       --output tsv)
    
    Parameter Obligatoriskt Värde beskrivning
    CUSTOM_LOCATION_NAME Ja my-custom-location Namnet som ska användas för din anpassade plats.
    CONNECTED_CLUSTER_ID Ja < Azure-Arc-cluster-ID> ID:t för Det Azure Arc-aktiverade Kubernetes-klustret.

    Mer information finns i följande resurser:

  2. Skapa den anpassade platsen:

    az customlocation create \
       --resource-group $GROUP_NAME \
       --name $CUSTOM_LOCATION_NAME \
       --host-resource-id $CONNECTED_CLUSTER_ID \
       --namespace $NAMESPACE \
       --cluster-extension-ids $EXTENSION_ID \
       --location $LOCATION
    

    Kommentar

    Om du har problem med att skapa en anpassad plats i klustret kan du behöva aktivera funktionen för anpassad plats i klustret. Det här steget krävs om du har loggat in på Azure CLI med ett huvudnamn för tjänsten eller om du har loggat in som Microsoft Entra-användare med begränsad behörighet för klusterresursen.

    Mer information finns i följande resurser:

  3. Kontrollera att den anpassade platsen har skapats:

    az customlocation show \
       --resource-group $GROUP_NAME \
       --name $CUSTOM_LOCATION_NAME
    

    Om utdata visar att egenskapsvärdet provisioningState inte är inställt på Lyckades kör du kommandot igen efter en minut.

  4. Spara det anpassade plats-ID:t för användning i ett senare steg:

    CUSTOM_LOCATION_ID=$(az customlocation show \
       --resource-group $GROUP_NAME \
       --name $CUSTOM_LOCATION_NAME \
       --query id \
       --output tsv)
    
    Parameter Obligatoriskt Värde beskrivning
    CUSTOM_LOCATION_ID Ja < my-custom-location-ID> ID:t för din anpassade plats.

    Mer information finns i följande resurser:

Skapa den anslutna Azure Container Apps-miljön

Nu ska du skapa en ansluten Azure Container Apps-miljö som standardlogikappen ska använda.

az containerapp connected-env create \
   --resource-group $GROUP_NAME \
   --name $CONNECTED_ENVIRONMENT_NAME \
   --custom-location $CUSTOM_LOCATION_ID \
   --location $LOCATION

Mer information finns i följande resurser:

Uppdatera CoreDNS för ett Kubernetes-kluster i Azure Local

Om ditt Azure Kubernetes-kluster finns i Azure Local måste du manuellt uppdatera CoreDNS-konfigurationen för klustret. Det här steget lägger till en ny konfigurationskarta i ditt Azure Kubernetes-namnområde. Som jämförelse slutför Azure Logic Apps automatiskt det här steget när ditt Kubernetes-kluster finns i Azure. För ett kluster som finns någon annanstans måste du dock slutföra det här steget manuellt.

Mer information finns i följande dokumentation:

Om du vill uppdatera CoreDNS-konfigurationen kör du följande Azure CLI-kommando med hjälp av alternativen för ditt scenario:

az containerapp arc setup-core-dns
Parameterar Obligatoriskt beskrivning
--distro Ja Den distribution som stöds för uppdatering av CoreDNS-konfigurationen. Tillåtna värden: AksAzureLocal
--kube-config Nej Sökvägen till (kubeconfig-filen), som innehåller konfigurationsparametrarna för åtkomst till Kubernetes-kluster.
--kube-context Nej Kubeconfig-kontexten från den lokala värd för klustret. I Kubernetes definierar en kontext hur du kommunicerar med ett Kubernetes-kluster.
skip-ssl-verification Nej Hoppa över SSL-verifiering för alla klusteranslutningar.
--yes -y Nej Fråga inte efter bekräftelse.

Mer information, till exempel globala parametrar, finns i az containerapp arc setup-core-dns.

Exempel

  • Konfigurera CoreDNS-konfiguration för Azure Local:

    az containerapp arc setup-core-dns --distro AksAzureLocal
    
  • Konfigurera CoreDNS-konfiguration för Azure Local med hjälp av en Kubernetes-konfigurationsfil och Kubernetes-kontexten:

    az containerapp arc setup-core-dns --distro AksAzureLocal --kube-config <kubeconfig-file-path> --kube-context <kubeconfig-context-name>
    

Skapa SQL Server-lagringsprovider

Standardarbetsflöden för logikappar i hybriddistributionsmodellen använder en SQL-databas som lagringsprovider för de data som används av arbetsflöden och Azure Logic Apps-körningen, till exempel arbetsflödeskörningshistorik, indata, utdata och så vidare.

Sql-databasen kräver inkommande och utgående anslutning med ditt Kubernetes-kluster, så dessa resurser måste finnas i samma nätverk.

  1. Konfigurera någon av följande SQL Server-utgåvor:

    Mer information finns i Ställ in SQL-databaslagring för arbetsflöden i standard-Logic Apps.

  2. Bekräfta att SQL-databasen finns i samma nätverk som ditt Arc-aktiverat Kubernetes-kluster och SMB-fildelning.

  3. Leta upp och spara anslutningssträng för den SQL-databas som du skapade.

Konfigurera SMB-fildelning för lagring av produkter

Om du vill lagra artefakter som kartor, scheman och sammansättningar för din logikappsresurs (containerapp) måste du ha en filresurs som använder SMB-protokollet (Server Message Block).

  • Du behöver administratörsbehörighet för att ställa in din SMB-fildelning.

  • SMB-filresursen måste finnas i samma nätverk som kubernetes-klustret och SQL-databasen.

  • SMB-filresursen kräver inkommande och utgående anslutningar till och från ditt Kubernetes-kluster. Om du har aktiverat begränsningar för virtuella Azure-nätverk, kontrollera att fildelningen finns i samma virtuella nätverk som Kubernetes-klustret eller i ett peernätverk.

  • Använd inte samma exakta filresurssökväg för flera logikappar.

  • Du kan använda separata SMB-filresurser för varje logikapp, eller så kan du använda olika mappar i samma SMB-filresurs så länge dessa mappar inte är kapslade. Du kan till exempel inte ha en logikapp som använder rotsökvägen och sedan låta en annan logikapp använda en undermapp.

  • Om du vill distribuera din logikapp med Visual Studio Code, kontrollera att den lokala datorn med Visual Studio Code kan komma åt fildelningen.

Ställ in din SMB-fildelning på Windows

Kontrollera att SMB-filresursen finns i samma virtuella nätverk som klustret där du monterar filresursen.

  1. I Windows går du till mappen som du vill dela, öppnar snabbmenyn och väljer Egenskaper.

  2. På fliken Delning väljer du Dela.

  3. I rutan som öppnas väljer du en person som du vill ha åtkomst till filresursen.

  4. Välj Dela och kopiera länken för nätverkssökvägen.

    Om den lokala datorn inte är ansluten till en domän ersätter du datornamnet i nätverkssökvägen med IP-adressen.

  5. Spara IP-adressen som ska användas senare som värdnamn.

Konfigurera Azure Files som din SMB-fildelning

I testsyfte kan du också använda Azure Files som en SMB-filresurs. Kontrollera att SMB-filresursen finns i samma virtuella nätverk som klustret där du monterar filresursen.

  1. Skapa ett Azure Storage-konto i Azure Portal.

  2. På menyn lagringskonto går du till Datalagring och väljer Filresurser.

  3. På sidan Filresurser väljer du + Filresurs och anger nödvändig information för SMB-filresursen.

  4. När distributionen är klar väljer du Gå till resurs.

  5. På filresursmenyn väljer du Översikt, om den inte är markerad.

  6. I verktygsfältet Översikt väljer du Anslut. I fönstret Anslut väljer du Visa skript.

  7. Kopiera följande värden och spara dem någonstans säkert för senare användning:

    • Filresursens värdnamn, till exempel mystorage.file.core.windows.net
    • Sökväg för fildelning
    • Användarnamn utan localhost\
    • Lösenord
  8. I verktygsfältet Översikt väljer du + Lägg till katalog och anger ett namn som ska användas för katalogen. Spara det här namnet om du vill använda det senare.

Du behöver dessa sparade värden för att ange SMB-filresursinformationen när du distribuerar logikappresursen.

Mer information finns i Skapa en SMB Azure-fildelning.

Bekräfta SMB-fildelningsanslutning

Följ dessa steg för att testa anslutningen mellan det Arc-aktiverade Kubernetes-klustret och SMB-filresursen och kontrollera att filresursen är korrekt konfigurerad:

  • Om SMB-filresursen inte finns i samma kluster kontrollerar du att pingåtgärden fungerar från ditt Arc-aktiverade Kubernetes-kluster till den virtuella dator som har SMB-filresursen. Följ dessa steg för att kontrollera att ping-åtgärden fungerar:

    1. I ditt Arc-aktiverade Kubernetes-kluster skapar du en test podd som kör en valfri Linux-avbildning, till exempel BusyBox eller Ubuntu.

    2. Gå till containern i podden och installera iputils-ping-paketet genom att köra följande Linux-kommandon:

      apt-get update
      apt-get install iputils-ping
      
  • Följ dessa steg för att bekräfta att SMB-filresursen är korrekt konfigurerad:

    1. I din testpodd med samma Linux-avbildning skapar du en mapp med sökvägen som heter mnt/smb.

    2. Gå till rot- eller hemkatalogen som innehåller mappen mnt .

    3. Kör följande kommando:

      - mount -t cifs //{ip-address-smb-computer}/{file-share-name}/mnt/smb -o username={user-name}, password={password}

  • För att bekräfta att artefakterna laddas upp korrekt, anslut till SMB-filresurssökvägen och kontrollera om artefaktfilerna finns i den rätta mappen som du anger under distributionen.

Optimera prestanda för hybriddistributioner

För att maximera effektiviteten och prestandan för en standardlogikapp i en hybriddistribution måste du förstå hur du analyserar och utvärderar viktiga aspekter som CPU, minnesallokering och skalningsmekanismer så att du kan få värdefulla insikter om optimering. Andra viktiga element är den underliggande Kubernetes-infrastrukturen, SQL-konfigurationen och skalningskonfigurationen, vilket avsevärt kan påverka arbetsflödets effektivitet och övergripande prestanda. Mer information finns i Prestandaanalys och optimeringsrekommendationer för hybriddistributioner.

Nästa steg

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