Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
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:
- Vad är Azure Kubernetes Service?
- Grundläggande begrepp för Azure Kubernetes Service (AKS)
- Anpassade platser för Azure Arc-aktiverade Kubernetes-kluster
- Vad är Azure Container Apps?
- Azure Container Apps i Azure Arc
- Dynamisk skalningsmodell och arkitektur för Kubernetes-baserad Event-Driven Autoscaling (KEDA)
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
Ett Azure-konto och prenumeration. Om du inte har någon prenumeration kan du registrera ett kostnadsfritt Azure-konto.
Grundläggande förståelse för grundläggande AKS-begrepp
Tekniska krav för Azure Container Apps på Azure Arc-aktiverade Kubernetes, inklusive åtkomst till ett offentligt eller privat containerregister, till exempel Azure Container Registry.
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:
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.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 1Parameter Obligatoriskt Värde beskrivning max countNej < 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 countNej < 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.
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 --yesMer information finns i följande resurser:
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 --waitMer information finns i följande resurser:
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 -yMer information finns i följande resurser:
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 nsSom 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:
Installera Kubernetes-pakethanteraren med namnet Helm:
choco install kubernetes-helmMer information finns i följande resurser:
Installera SMB-drivrutinen med följande Helm-kommandon:
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.0Mer information finns i följande resurser:
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 csidriverMer information finns i kubectl get.
Ansluta ditt Kubernetes-kluster till Azure Arc
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.Skapa Azure-resursgruppen för ditt Azure Arc-aktiverade kluster och resurser:
az group create \ --name $GROUP_NAME \ --location $LOCATIONMer information finns i följande resurser:
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.Anslut ditt tidigare skapade Kubernetes-kluster till Azure Arc:
az connectedk8s connect \ --resource-group $GROUP_NAME \ --name $CONNECTED_CLUSTER_NAMEMer information finns i följande resurser:
Verifiera anslutningen mellan Azure Arc och ditt Kubernetes-kluster:
az connectedk8s show \ --resource-group $GROUP_NAME \ --name $CONNECTED_CLUSTER_NAMEOm 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.
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.Skapa Log Analytics-arbetsytan:
az monitor log-analytics workspace create \ --resource-group $GROUP_NAME \ --workspace-name $WORKSPACE_NAMEMer information finns i följande resurser:
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.
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. 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:
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:
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
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:
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 $LOCATIONKommentar
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:
Kontrollera att den anpassade platsen har skapats:
az customlocation show \ --resource-group $GROUP_NAME \ --name $CUSTOM_LOCATION_NAMEOm utdata visar att egenskapsvärdet provisioningState inte är inställt på Lyckades kör du kommandot igen efter en minut.
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:
- CoreDNS för Kubernetes
- Anpassa CoreDNS för Azure Kubernetes Service
- ConfigMaps i Kubernetes
- Namnområden – grundläggande begrepp för Azure Kubernetes Service
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 AksAzureLocalKonfigurera 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.
Konfigurera någon av följande SQL Server-utgåvor:
- SQL Server lokalt
- Azure SQL Database
- Hanterad Azure SQL-instans
- SQL Server aktiverat av Azure Arc
Mer information finns i Ställ in SQL-databaslagring för arbetsflöden i standard-Logic Apps.
Bekräfta att SQL-databasen finns i samma nätverk som ditt Arc-aktiverat Kubernetes-kluster och SMB-fildelning.
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.
I Windows går du till mappen som du vill dela, öppnar snabbmenyn och väljer Egenskaper.
På fliken Delning väljer du Dela.
I rutan som öppnas väljer du en person som du vill ha åtkomst till filresursen.
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.
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.
Skapa ett Azure Storage-konto i Azure Portal.
På menyn lagringskonto går du till Datalagring och väljer Filresurser.
På sidan Filresurser väljer du + Filresurs och anger nödvändig information för SMB-filresursen.
När distributionen är klar väljer du Gå till resurs.
På filresursmenyn väljer du Översikt, om den inte är markerad.
I verktygsfältet Översikt väljer du Anslut. I fönstret Anslut väljer du Visa skript.
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
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:
I ditt Arc-aktiverade Kubernetes-kluster skapar du en test podd som kör en valfri Linux-avbildning, till exempel BusyBox eller Ubuntu.
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:
I din testpodd med samma Linux-avbildning skapar du en mapp med sökvägen som heter mnt/smb.
Gå till rot- eller hemkatalogen som innehåller mappen mnt .
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