Delen via


Uw eigen infrastructuur instellen voor standaardlogica-apps met behulp van hybride implementatie (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.

Soms moet u uw eigen infrastructuur instellen en beheren om te voldoen aan specifieke vereisten voor naleving van regelgeving, gegevensprivacy of netwerkbeperkingen. Azure Logic Apps biedt een hybride implementatiemodel , zodat u standaardwerkstromen voor logische apps kunt implementeren en hosten in on-premises, privécloud- of openbare cloudscenario's. Dit model biedt u de mogelijkheden voor het hosten van integratieoplossingen in gedeeltelijk verbonden omgevingen wanneer u lokale verwerking, gegevensopslag en netwerktoegang moet gebruiken. Met de hybride optie hebt u de vrijheid en flexibiliteit om de beste omgeving voor uw werkstromen te kiezen.

Hoe hybride implementatie werkt

Standaardwerkstromen voor logische apps met de optie hybride implementatie worden mogelijk gemaakt door een Azure Logic Apps-runtime die wordt gehost in een Azure Container Apps-extensie. In uw werkstroom worden ingebouwde bewerkingen lokaal uitgevoerd met de runtime, zodat u een hogere doorvoer krijgt voor toegang tot lokale gegevensbronnen. Als u toegang nodig hebt tot niet-lokale gegevensresources, bijvoorbeeld cloudservices zoals Microsoft Office 365, Microsoft Teams, Salesforce, GitHub, LinkedIn of ServiceNow, kunt u bewerkingen kiezen uit meer dan 1000 connectors die worden gehost in Azure om deze op te nemen in uw werkstromen. Zie Beheerde (gedeelde) connectors voor meer informatie. Hoewel u een internetverbinding nodig hebt om uw logische app te beheren in Azure Portal, kunt u met de semi-verbonden aard van dit platform tijdelijke problemen met de internetverbinding oplossen.

Als u bijvoorbeeld een on-premises scenario hebt, ziet u in het volgende architectuuroverzicht waar werkstromen van de logische standaard-app worden gehost en uitgevoerd in het hybride model. De gedeeltelijk verbonden omgeving bevat de volgende resources voor het hosten en werken met uw Standaard logische apps, die als Azure Container Apps-resources worden geïmplementeerd:

  • AKS-clusters (Azure Kubernetes Service) 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

Diagram met architectuuroverzicht voor waar standaard logische apps worden gehost in een gedeeltelijk verbonden omgeving.

Voor hosting kunt u ook Kubernetes-clusters met Azure Arc instellen en gebruiken op Azure Stack-hypergeconvergeerde infrastructuur (HCI) of Kubernetes-clusters met Azure Arc op Windows Server.

Voor meer informatie raadpleegt u de volgende documentatie:

Deze handleiding laat zien hoe u de benodigde on-premises resources in uw infrastructuur instelt, zodat u een standaardwerkstroom voor logische apps kunt maken, implementeren en hosten met behulp van het hybride implementatiemodel.

Werking van facturering

Met de hybride optie bent u verantwoordelijk voor de volgende items:

  • Uw Kubernetes-infrastructuur met Azure Arc
  • Uw SQL Server-licentie
  • Een factureringskosten van $ 0,18 USD per vCPU/uur ter ondersteuning van standard-workloads voor logische apps

In dit factureringsmodel betaalt u alleen voor wat u nodig hebt en schaalt u resources voor dynamische workloads zonder dat u hoeft te kopen voor piekgebruik. Voor werkstromen die gebruikmaken van door Azure gehoste connectorbewerkingen, zoals Microsoft Teams of Microsoft Office 365, zijn bestaande standard-prijzen (één tenant) van toepassing op deze bewerkingen.

Beperkingen

  • Hybride implementatie is momenteel beschikbaar en wordt alleen ondersteund voor de volgende Kubernetes-clusters met Azure Arc:

    • Kubernetes-clusters met Azure Arc
    • Kubernetes-clusters met Azure Arc in Azure Stack HCI
    • Kubernetes-clusters met Azure Arc op Windows Server

Vereisten

Een Kubernetes-cluster maken

Voordat u uw standaard logische app als on-premises resource kunt implementeren in een Kubernetes-cluster met Azure Arc in een met Azure Container Apps verbonden omgeving, hebt u eerst een Kubernetes-cluster nodig. U verbindt dit cluster later met Azure Arc, zodat u een Kubernetes-cluster met Azure Arc hebt.

Uw Kubernetes-cluster vereist binnenkomende en uitgaande connectiviteit met de SQL-database die u later maakt als opslagprovider en met de Server Message Block-bestandsshare die u later maakt voor artefactenopslag. Deze resources moeten zich in hetzelfde netwerk bevinden.

  1. Stel de volgende omgevingsvariabelen in voor het Kubernetes-cluster dat u wilt maken:

    SUBSCRIPTION="<Azure-subscription-ID>"
    AKS_CLUSTER_GROUP_NAME="<aks-cluster-resource-group-name>"
    AKS_NAME="<aks-cluster-name>"
    LOCATION="eastus"
    
    Parameter Vereist Weergegeven als Beschrijving
    ABONNEMENT Ja <Azure-subscription-ID> De id voor uw Azure-abonnement
    AKS_CLUSTER_GROUP_NAME Ja <aks-cluster-resource-group-name> De naam voor de Azure-resourcegroep die moet worden gebruikt met uw Kubernetes-cluster. Deze naam moet uniek zijn in verschillende regio's en mag alleen letters, cijfers, afbreekstreepjes (-_), onderstrepingstekens (_), haakjes (()) en punten (.) bevatten.

    In dit voorbeeld wordt Hybrid-RG gebruikt.
    AKS_NAME Ja <aks-cluster-name> De naam voor uw Kubernetes-cluster.
    PLAATS Ja <Azure-regio> Een Azure-regio die Ondersteuning biedt voor Azure-container-apps in Kubernetes met Azure Arc.

    In dit voorbeeld wordt eastus gebruikt.
  2. Voer de volgende opdrachten uit met behulp van de Bash-omgeving in Azure Cloud Shell of lokaal met behulp van Azure CLI die op uw computer is geïnstalleerd:

    Notitie

    Zorg ervoor dat u de waarden van het knooppunt max-count en min-count wijzigt op basis van uw belastingsvereisten.

    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 Vereist Weergegeven als Beschrijving
    max count Nee <max-nodes-value> Het maximum aantal knooppunten dat moet worden gebruikt voor de automatische schaalaanpassing wanneer u de enable-cluster-autoscaler optie opneemt. Deze waarde varieert van 1 tot 1000.
    min count Nee <min-knooppunten-waarde> Het minimale aantal knooppunten dat moet worden gebruikt voor de automatische schaalaanpassing wanneer u de enable-cluster-autoscaler optie opneemt. Deze waarde varieert van 1 tot 1000.

    Voor meer informatie raadpleegt u de volgende bronnen:

Kubernetes-cluster verbinden met Azure Arc

Als u uw Kubernetes-cluster met Azure Arc wilt maken, verbindt u uw Kubernetes-cluster met Azure Arc.

Notitie

U vindt de stappen in deze sectie en verder met het maken van uw verbonden omgeving in een script met de naam EnvironmentSetup.ps1, dat u kunt vinden in de GitHub-opslagplaats met de naam Azure/logicapps. U kunt dit script wijzigen en gebruiken om te voldoen aan uw vereisten en scenario's.

Het script is niet ondertekend, dus voordat u het script uitvoert, voert u de volgende Azure PowerShell-opdracht uit als beheerder om het uitvoeringsbeleid in te stellen:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Zie Set-ExecutionPolicy voor meer informatie.

  1. Installeer de volgende Azure CLI-extensies:

    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 
    

    Voor meer informatie raadpleegt u de volgende bronnen:

  2. Registreer de volgende vereiste naamruimten:

    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
    

    Voor meer informatie raadpleegt u de volgende bronnen:

  3. Installeer de Kubernetes-opdrachtregelinterface (CLI) met de naam 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
    

    Voor meer informatie raadpleegt u de volgende bronnen:

  4. Installeer De Kubernetes-pakketbeheerder met de naam Helm:

    choco install kubernetes-helm
    

    Voor meer informatie raadpleegt u de volgende bronnen:

  5. Installeer het SMB-stuurprogramma met behulp van de volgende Helm-opdrachten:

    1. Voeg de opgegeven grafiekopslagplaats toe, haal de meest recente informatie voor beschikbare grafieken op en installeer het opgegeven grafiekarchief.

      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 
      

      Voor meer informatie raadpleegt u de volgende bronnen:

    2. Controleer of het SMB-stuurprogramma is geïnstalleerd door de volgende kubectl-opdracht uit te voeren, waarin smb.csi.k8s.io moet worden vermeld:

      kubectl get csidriver
      

      Zie kubectl get voor meer informatie.

Uw Kubernetes-cluster verbinden met Azure Arc

  1. Test de verbinding met uw cluster door het kubeconfig-bestand op te halen:

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

    Standaard wordt het kubeconfig-bestand opgeslagen in het pad ~ /.kube/config. Deze opdracht is van toepassing op ons Kubernetes-voorbeeldcluster en verschilt voor andere soorten Kubernetes-clusters.

    Voor meer informatie raadpleegt u de volgende bronnen:

  2. Stel op basis van uw Kubernetes-clusterimplementatie de volgende omgevingsvariabele in om een naam op te geven voor de Azure-resourcegroep die uw Cluster en resources met Azure Arc bevat:

    GROUP_NAME="<Azure-Arc-cluster-resource-group-name>"
    
    Parameter Vereist Weergegeven als Beschrijving
    GROUP_NAME Ja <Azure-Arc-cluster-resource-group-name> De naam voor de Azure-resourcegroep die moet worden gebruikt met uw azure Arc-cluster en andere resources, zoals uw Azure Container Apps-extensie, aangepaste locatie en verbonden Azure Container Apps-omgeving. Deze naam moet uniek zijn in verschillende regio's en mag alleen letters, cijfers, afbreekstreepjes (-_), onderstrepingstekens (_), haakjes (()) en punten (.) bevatten.

    In dit voorbeeld wordt Hybrid-Arc-RG gebruikt.
  3. Maak de Azure-resourcegroep voor uw Azure Arc-cluster en -resources:

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

    Voor meer informatie raadpleegt u de volgende bronnen:

  4. Stel de volgende omgevingsvariabele in om een naam op te geven voor uw Kubernetes-cluster met Azure Arc:

    CONNECTED_CLUSTER_NAME="$GROUP_NAME-cluster"
    
    Parameter Vereist Weergegeven als Beschrijving
    CONNECTED_CLUSTER_NAME Ja <Azure-Arc-cluster-resource-group-name-cluster> De naam die moet worden gebruikt voor uw Azure Arc-cluster. Deze naam moet uniek zijn in verschillende regio's en mag alleen letters, cijfers, afbreekstreepjes (-_), onderstrepingstekens (_), haakjes (()) en punten (.) bevatten.

    In dit voorbeeld wordt gebruikgemaakt van Hybrid-Arc-RG-cluster.
  5. Verbind uw eerder gemaakte Kubernetes-cluster met Azure Arc:

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

    Voor meer informatie raadpleegt u de volgende bronnen:

  6. Valideer de verbinding tussen Azure Arc en uw Kubernetes-cluster:

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

    Als in de uitvoer wordt aangegeven dat de eigenschapswaarde provisioningState niet is ingesteld op Geslaagd, voert u de opdracht na één minuut opnieuw uit.

    Voor meer informatie raadpleegt u de volgende bronnen:

Een Azure Log Analytics-werkruimte maken

U kunt een optionele, maar aanbevolen Azure Log Analytics-werkruimte maken, die toegang biedt tot logboeken voor apps die worden uitgevoerd in uw Kubernetes-cluster met Azure Arc.

  1. Stel de volgende omgevingsvariabele in om een naam op te geven voor uw Log Analytics-werkruimte:

    WORKSPACE_NAME="$GROUP_NAME-workspace"
    
    Parameter Vereist Weergegeven als Beschrijving
    WORKSPACE_NAME Ja <Azure-Arc-cluster-resource-group-name-workspace> De naam die moet worden gebruikt voor uw Log Analytics-werkruimte. Deze naam moet uniek zijn binnen uw resourcegroep.

    In dit voorbeeld wordt Hybrid-Arc-RG-workspace gebruikt.
  2. Maak de Log Analytics-werkruimte:

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

    Voor meer informatie raadpleegt u de volgende bronnen:

  3. Haal de base64-gecodeerde id en gedeelde sleutel voor uw Log Analytics-werkruimte op. U hebt deze waarden nodig voor een latere stap.

    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 Vereist Weergegeven als Beschrijving
    LOG_ANALYTICS_WORKSPACE_ID Ja De id voor uw Log Analytics-werkruimte.
    LOG_ANALYTICS_WORKSPACE_ID_ENC Ja De base64-gecodeerde id voor uw Log Analytics-werkruimte.
    LOG_ANALYTICS_KEY Ja De gedeelde sleutel voor uw Log Analytics-werkruimte.
    LOG_ANALYTICS_ENC Ja De met Base64 gecodeerde gedeelde sleutel voor uw Log Analytics-werkruimte.

    Voor meer informatie raadpleegt u de volgende bronnen:

De Azure Container Apps-extensie maken en installeren

Maak en installeer nu de Azure Container Apps-extensie met uw Kubernetes-cluster met Azure Arc als een on-premises resource.

Belangrijk

Als u wilt implementeren in AKS in Azure Stack HCI, moet u voordat u de Azure Container Apps-extensie maakt en installeert, ervoor zorgen dat u HAProxy of een aangepaste load balancer instelt.

  1. Stel de volgende omgevingsvariabelen in op de volgende waarden:

    EXTENSION_NAME="logicapps-aca-extension"
    NAMESPACE="logicapps-aca-ns"
    CONNECTED_ENVIRONMENT_NAME="<connected-environment-name>"
    
    Parameter Vereist Weergegeven als Beschrijving
    EXTENSION_NAME Ja logicapps-aca-extension De naam voor de Azure Container Apps-extensie.
    NAMESPACE Ja logicapps-aca-ns De clusternaamruimte waarin u resources wilt inrichten.
    CONNECTED_ENVIRONMENT_NAME Ja <naam verbonden omgeving> Een unieke naam die moet worden gebruikt voor de met Azure Container Apps verbonden omgeving. Deze naam wordt onderdeel van de domeinnaam voor de standaard logische app die u maakt, implementeert en host in de met Azure Container Apps verbonden omgeving.
  2. Maak en installeer de extensie waarvoor Log Analytics is ingeschakeld voor uw Kubernetes-cluster met Azure Arc. U kunt Log Analytics later niet meer toevoegen aan de extensie.

    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 Vereist Beschrijving
    Microsoft.CustomLocation.ServiceAccount Ja Het serviceaccount dat is gemaakt voor de aangepaste locatie.

    Aanbeveling: Stel de waarde in op de standaardwaarde.
    appsNamespace Ja De naamruimte die moet worden gebruikt voor het maken van app-definities en revisies. Deze waarde moet overeenkomen met de releasenaamruimte voor de Azure Container Apps-extensie.
    clusterName Ja De naam voor de Kubernetes-omgeving van de Azure Container Apps-extensie die moet worden gemaakt voor de extensie.
    keda.enabled Ja Schakel Kubernetes Gebeurtenisgestuurde Automatische schaalaanpassing (KEDA) in. Deze waarde is vereist en moet worden ingesteld op waar.
    keda.logicAppsScaler.enabled Ja Schakel de Azure Logic Apps-schaalfunctie in KEDA in. Deze waarde is vereist en moet worden ingesteld op waar.
    keda.logicAppsScaler.replicaCount Ja Het eerste aantal logische app-scalers dat moet worden gestart. De standaardwaarde is ingesteld op 1. Met deze waarde wordt omhoog geschaald of omlaag geschaald naar 0, als er geen logische apps in de omgeving bestaan.
    containerAppController.api.functionsServerEnabled Ja Schakel de service in die verantwoordelijk is voor het converteren van werkstroomtriggers voor logische apps naar op KEDA geschaalde objecten. Deze waarde is vereist en moet worden ingesteld op waar.
    envoy.externalServiceAzureILB Ja Bepaalt of de envoy fungeert als een interne load balancer of een openbare load balancer.

    - waar: De envoy fungeert als een interne load balancer. De Azure Logic Apps-runtime is alleen toegankelijk binnen een particulier netwerk.

    - false: De envoy fungeert als een openbare load balancer. De Azure Logic Apps-runtime is toegankelijk via het openbare netwerk.
    functionsProxyApiConfig.enabled Ja Schakel de proxyservice in die API-toegang tot de Azure Logic Apps-runtime mogelijk maakt vanuit Azure Portal. Deze waarde is vereist en moet worden ingesteld op waar.
    envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group Ja, maar alleen wanneer het onderliggende cluster Azure Kubernetes Service is. De naam voor de resourcegroep waarin het Kubernetes-cluster bestaat.
    logProcessor.appLogs.destination Nee Het doel dat moet worden gebruikt voor toepassingslogboeken. De waarde is log-analytics of geen, waardoor logboekregistratie wordt uitgeschakeld.
    logProcessor.appLogs.logAnalyticsConfig.customerId Ja, maar alleen wanneer logProcessor.appLogs.destination is ingesteld op log-analytics. De base64-gecodeerde id voor uw Log Analytics-werkruimte. Zorg ervoor dat u deze parameter configureert als een beveiligde instelling.
    logProcessor.appLogs.logAnalyticsConfig.sharedKey Ja, maar alleen wanneer logProcessor.appLogs.destination is ingesteld op log-analytics. De met Base64 gecodeerde gedeelde sleutel voor uw Log Analytics-werkruimte. Zorg ervoor dat u deze parameter configureert als een beveiligde instelling.

    Voor meer informatie raadpleegt u de volgende bronnen:

  3. Sla de id-waarde voor de Azure Container Apps-extensie op voor later gebruik:

    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 Vereist Weergegeven als Beschrijving
    EXTENSION_ID Ja <extensie-id> De id voor de Azure Container Apps-extensie.

    Voor meer informatie raadpleegt u de volgende bronnen:

  4. Wacht totdat u doorgaat totdat de extensie volledig is geïnstalleerd. Voer de volgende opdracht uit om de terminalsessie te laten wachten totdat de installatie is voltooid:

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

    Voor meer informatie raadpleegt u de volgende bronnen:

Uw aangepaste locatie maken

  1. Stel de volgende omgevingsvariabelen in op de opgegeven waarden:

    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 Vereist Weergegeven als Beschrijving
    CUSTOM_LOCATION_NAME Ja mijn-aangepaste locatie De naam die moet worden gebruikt voor uw aangepaste locatie.
    CONNECTED_CLUSTER_ID Ja <Azure-Arc-cluster-ID> De id voor het Kubernetes-cluster met Azure Arc.

    Voor meer informatie raadpleegt u de volgende bronnen:

  2. Maak de aangepaste locatie:

    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
    

    Notitie

    Als u problemen ondervindt met het maken van een aangepaste locatie in uw cluster, moet u mogelijk de functie aangepaste locatie inschakelen op uw cluster. Deze stap is vereist als u bent aangemeld bij Azure CLI met behulp van een service-principal of als u zich hebt aangemeld als Microsoft Entra-gebruiker met beperkte machtigingen voor de clusterresource.

    Voor meer informatie raadpleegt u de volgende bronnen:

  3. Controleer of de aangepaste locatie is gemaakt:

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

    Als in de uitvoer wordt aangegeven dat de eigenschapswaarde provisioningState niet is ingesteld op Geslaagd, voert u de opdracht na één minuut opnieuw uit.

  4. Sla de aangepaste locatie-id op voor gebruik in een latere stap:

    CUSTOM_LOCATION_ID=$(az customlocation show \
       --resource-group $GROUP_NAME \
       --name $CUSTOM_LOCATION_NAME \
       --query id \
       --output tsv)
    
    Parameter Vereist Weergegeven als Beschrijving
    CUSTOM_LOCATION_ID Ja <my-custom-location-ID> De id voor uw aangepaste locatie.

    Voor meer informatie raadpleegt u de volgende bronnen:

De met Azure Container Apps verbonden omgeving maken

Maak nu uw met Azure Container Apps verbonden omgeving voor uw standaard logische app die u kunt gebruiken.

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

Voor meer informatie raadpleegt u de volgende bronnen:

SQL Server-opslagprovider maken

Standaardwerkstromen voor logische apps in het hybride implementatiemodel maken gebruik van een SQL-database als opslagprovider voor de gegevens die worden gebruikt door werkstromen en de Azure Logic Apps-runtime, bijvoorbeeld de uitvoeringsgeschiedenis van de werkstroom, invoer, uitvoer enzovoort.

Uw SQL-database vereist binnenkomende en uitgaande connectiviteit met uw Kubernetes-cluster, zodat deze resources in hetzelfde netwerk moeten bestaan.

  1. Stel een van de volgende SQL Server-edities in:

    Zie Sql Database Storage instellen voor werkstromen voor logische standaard-apps voor meer informatie.

  2. Controleer of uw SQL-database zich in hetzelfde netwerk bevindt als uw Kubernetes-cluster met Arc en SMB-bestandsshare.

  3. Zoek en sla de verbindingsreeks op voor de SQL-database die u hebt gemaakt.

SMB-bestandsshare instellen voor artefactopslag

Als u artefacten zoals kaarten, schema's en assembly's wilt opslaan voor uw logische app-resource (container-app), moet u een bestandsshare hebben die gebruikmaakt van het SMB-protocol (Server Message Block).

  • U hebt beheerderstoegang nodig om uw SMB-bestandsshare in te stellen.

  • Uw SMB-bestandsshare moet bestaan in hetzelfde netwerk als uw Kubernetes-cluster en SQL-database.

  • Uw SMB-bestandsshare vereist binnenkomende en uitgaande connectiviteit met uw Kubernetes-cluster. Als u beperkingen voor virtuele Azure-netwerken hebt ingeschakeld, moet u ervoor zorgen dat uw bestandsshare bestaat in hetzelfde virtuele netwerk als uw Kubernetes-cluster of in een virtueel peernetwerk.

  • Gebruik niet hetzelfde exacte bestandssharepad voor meerdere logische apps.

  • U kunt afzonderlijke SMB-bestandsshares gebruiken voor elke logische app of u kunt verschillende mappen in dezelfde SMB-bestandsshare gebruiken zolang deze mappen niet zijn genest. Als u bijvoorbeeld geen logische app hebt, gebruikt u het hoofdpad en gebruikt u vervolgens een andere logische app een submap.

  • Als u uw logische app wilt implementeren met Visual Studio Code, moet u ervoor zorgen dat de lokale computer met Visual Studio Code toegang heeft tot de bestandsshare.

Uw SMB-bestandsshare instellen in Windows

Zorg ervoor dat uw SMB-bestandsshare bestaat in hetzelfde virtuele netwerk als het cluster waar u de bestandsshare koppelt.

  1. Ga in Windows naar de map die u wilt delen, open het snelmenu en selecteer Eigenschappen.

  2. Selecteer Delen op het tabblad Delen.

  3. Selecteer in het vak dat wordt geopend een persoon die u toegang wilt geven tot de bestandsshare.

  4. Selecteer Delen en kopieer de koppeling voor het netwerkpad.

    Als uw lokale computer niet is verbonden met een domein, vervangt u de computernaam in het netwerkpad door het IP-adres.

  5. Sla het IP-adres op dat u later wilt gebruiken als hostnaam.

Azure Files instellen als uw SMB-bestandsshare

Voor testdoeleinden kunt u Azure Files ook gebruiken als een SMB-bestandsshare. Zorg ervoor dat uw SMB-bestandsshare bestaat in hetzelfde virtuele netwerk als het cluster waar u de bestandsshare koppelt.

  1. Maak in Azure Portal een Azure-opslagaccount.

  2. Selecteer bestandsshares in het menu van het opslagaccount onder Gegevensopslag.

  3. Selecteer + Bestandsshare in de paginawerkbalk bestandsshare en geef de vereiste informatie op voor uw SMB-bestandsshare.

  4. Nadat de implementatie is voltooid, selecteert u Ga naar de resource.

  5. Selecteer Overzicht in het menu bestandsshare, indien niet geselecteerd.

  6. Selecteer Verbinding maken op de werkbalk Overzichtspagina. Selecteer In het deelvenster Verbinding maken het script weergeven.

  7. Kopieer de volgende waarden en sla ze ergens veilig op voor later gebruik:

    • De hostnaam van de bestandsshare, bijvoorbeeld mystorage.file.core.windows.net
    • Bestandssharepad
    • Gebruikersnaam zonder localhost\
    • Wachtwoord
  8. Selecteer + Map toevoegen op de werkbalk Overzichtspagina en geef een naam op die u voor de map wilt gebruiken. Sla deze naam op om later te gebruiken.

U hebt deze opgeslagen waarden nodig om uw SMB-bestandssharegegevens op te geven wanneer u uw logische app-resource implementeert.

Zie Een SMB Azure-bestandsshare maken voor meer informatie.

Verbinding met SMB-bestandsshare bevestigen

Als u de verbinding tussen uw Kubernetes-cluster met Arc en uw SMB-bestandsshare wilt testen en wilt controleren of uw bestandsshare juist is ingesteld, voert u de volgende stappen uit:

  • Als uw SMB-bestandsshare zich niet in hetzelfde cluster bevindt, controleert u of de pingbewerking werkt vanuit uw Kubernetes-cluster met Arc naar de virtuele machine met uw SMB-bestandsshare. Voer de volgende stappen uit om te controleren of de pingbewerking werkt:

    1. Maak in uw Kubernetes-cluster met Arc een testpod waarop een Linux-installatiekopie wordt uitgevoerd, zoals BusyBox of Ubuntu.

    2. Ga naar de container in uw pod en installeer het iputils-ping-pakket door de volgende Linux-opdrachten uit te voeren:

      apt-get update
      apt-get install iputils-ping
      
  • Voer de volgende stappen uit om te controleren of uw SMB-bestandsshare juist is ingesteld:

    1. Maak in uw testpod met dezelfde Linux-installatiekopieën een map met het pad met de naam mnt/smb.

    2. Ga naar de hoofdmap of de basismap die de map mnt bevat.

    3. Voer de volgende opdracht uit:

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

  • Als u wilt controleren of artefacten correct worden geüpload, maakt u verbinding met het SMB-bestandssharepad en controleert u of artefactbestanden aanwezig zijn in de juiste map die u tijdens de implementatie opgeeft.

Volgende stappen

Standaardwerkstromen voor logische apps maken voor hybride implementatie in uw eigen infrastructuur