Konfigurera din egen infrastruktur för standardlogikappar med hybriddistribution (förhandsversion)
Gäller för: Azure Logic Apps (Standard)
Kommentar
Den här funktionen är i förhandsversion, medför avgifter för användning och omfattas av de kompletterande användningsvillkoren för Förhandsversioner av Microsoft Azure.
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 åtgärder lokalt med körningen så att du får högre dataflöde 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 000 anslutningsappar i Azure som ska ingå i dina arbetsflöden. Mer information finns i Hanterade (delade) anslutningsappar. Ä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 Stack hyperkonvergerad infrastruktur (HCI) eller Azure Arc-aktiverade Kubernetes-kluster på Windows Server.
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
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.
Så fungerar debiteringen
Med hybridalternativet ansvarar du för följande objekt:
- Din Azure Arc-aktiverade Kubernetes-infrastruktur
- Din SQL Server-licens
- En faktureringsavgift på 0,18 USD per vCPU/timme för att stödja arbetsbelastningar för standardlogikappar
I den här faktureringsmodellen betalar du bara för det du behöver och skalar resurser för dynamiska arbetsbelastningar utan att behöva köpa för högsta användning. För arbetsflöden som använder Azure-värdbaserade anslutningsåtgärder, till exempel Microsoft Teams eller Microsoft Office 365, gäller befintliga standardpriser (enskild klientorganisation) för dessa åtgärdskörningar.
Begränsningar
Hybriddistribution är för närvarande tillgänglig och stöds endast för följande Azure Arc-aktiverade Kubernetes-kluster:
- Azure Arc-aktiverade Kubernetes-kluster
- Azure Arc-aktiverade Kubernetes-kluster på Azure Stack HCI
- Azure Arc-aktiverade Kubernetes-kluster på Windows Server
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.
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 DEN SQL-databas som du senare skapar som lagringsprovider och med filresursen Server Message Block som du senare skapar för lagring av artefakter. Dessa resurser måste finnas i samma nätverk.
Kommentar
Du kan också skapa ett Kubernetes-kluster i Azure Stack HCI-infrastrukturen eller Kubernetes-klustret 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 Stack HCI 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å kubernetes-klustret. PLATS Ja <Azure-region> En Azure-region som stöder Azure-containerappar 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 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.
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:
Registrera följande obligatoriska namnområden:
az provider register --namespace Microsoft.ExtendedLocation --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:
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:
Installera Kubernetes-pakethanteraren med namnet Helm:
choco install kubernetes-helm
Mer 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.0
Mer 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 csidriver
Mer information finns i kubectl get.
Ansluta ditt Kubernetes-kluster till Azure Arc
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:
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 $LOCATION
Mer 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 CONNECTED_CLUSTER_NAME 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_NAME
Mer 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_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.
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_NAME
Mer 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 Stack HCI, 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 för Azure Container Apps-tillägget som ska skapas för 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 första antalet skalningsappar 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-körningen ä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 Målet 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 $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:
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.
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:
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 Konfigurera SQL Database Storage för standardarbetsflöden för logikappar.
Bekräfta att SQL-databasen finns i samma nätverk som ditt Arc-aktiverade Kubernetes-kluster och SMB-filresurs.
Leta upp och spara anslutningssträng för den SQL-databas som du skapade.
Konfigurera SMB-filresurs för lagring av artefakter
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örsåtkomst för att konfigurera SMB-filresursen.
SMB-filresursen måste finnas i samma nätverk som kubernetes-klustret och SQL-databasen.
SMB-filresursen kräver inkommande och utgående anslutning med ditt Kubernetes-kluster. Om du har aktiverat begränsningar för virtuella Azure-nätverk kontrollerar du att filresursen finns i samma virtuella nätverk som kubernetes-klustret eller i ett peer-kopplat virtuellt nä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 logikappen med Visual Studio Code kontrollerar du att den lokala datorn med Visual Studio Code kan komma åt filresursen.
Konfigurera SMB-filresursen i 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-filresurs
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 till filresurs
- 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-filresurs.
Bekräfta SMB-filresursanslutning
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:
Följ dessa steg för att bekräfta att SMB-filresursen är korrekt konfigurerad:
I testpodden med samma Linux-avbildning skapar du en mapp med sökvägen 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 ansluter du till SMB-filresurssökvägen och kontrollerar om artefaktfiler finns i rätt mapp som du anger under distributionen.
Nästa steg
Skapa standardarbetsflöden för logikappar för hybriddistribution i din egen infrastruktur