Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: Azure Logic Apps (Standard)
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, runtimeeigen bewerkingen lokaal uitgevoerd met de runtime, zodat u 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 1.400+ 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:
- Azure Arc-ingeschakelde Azure Kubernetes Service (AKS)-clusters
- 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
Voor hosting kunt u ook Kubernetes-clusters met Azure Arc instellen en gebruiken op Azure Local- of Azure Arc-clusters met Kubernetes op Windows Server.
Het hybride implementatiemodel combineert on-premises en cloudmogelijkheden om flexibele integratieoplossingen te bieden voor verschillende behoeften. Uw resource voor hybride logische apps kan bijvoorbeeld efficiënt resources aanpassen op basis van wijzigende werklasten. Met deze dynamische schaalaanpassing kunt u de rekenkosten beheren door de capaciteit te verhogen tijdens piekvraag en resources te verminderen wanneer het gebruik afneemt.
Voor meer informatie raadpleegt u de volgende documentatie:
- Wat is Azure Kubernetes Service?
- Kernconcepten voor Azure Kubernetes Service (AKS)
- Aangepaste locaties voor Kubernetes-clusters met Azure Arc
- Wat is Azure Container Apps?
- Azure Container Apps in Azure Arc
- Dynamisch schaalmodel en -architectuur voor op Kubernetes gebaseerde Event-Driven Automatisch schalen (KEDA)
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.
Beperkingen
In de volgende sectie worden de beperkingen voor de hybride implementatieoptie beschreven:
| Beperking | Beschrijving |
|---|---|
| Logboekregistratie van gegevens met een niet-verbonden runtime | In de gedeeltelijk verbonden modus kan de Azure Logic Apps-runtime maximaal 24 uur de verbinding verbreken en nog steeds gegevenslogboeken bewaren. Alle logboekgegevens na deze duur kunnen echter verloren gaan. |
| Ondersteunde Azure-regio's | Hybride implementatie is momenteel beschikbaar en wordt alleen ondersteund in de volgende Azure-regio's: - VS - centraal -Oost-Azië - VS - oost - VS - noord-centraal -Zuidoost-Azië - Zweden - centraal - VK - zuid - West-Europa - VS - west |
| Ondersteunde Kubernetes-clusters met Azure Arc | - Met Azure Arc ingeschakelde Kubernetes-clusters - Kubernetes-clusters met Azure Arc in Azure Local (voorheen Azure Stack HCI) - Kubernetes-clusters met Azure Arc-ondersteuning op Windows Server |
| Niet-ondersteunde mogelijkheden die beschikbaar zijn in Azure Logic Apps met één tenant (Standard) en gerelateerde Azure-services | - Implementatiesites - Tracering van bedrijfsprocessen in Azure - Resourcestatus onder Ondersteuning en probleemoplossing in Azure Portal - Verificatie van beheerde identiteit voor connectorbewerkingen. Zie Beperkingen voor het maken van hybride implementatiewerkstromen voor meer informatie. |
Vereisten
Een Azure-account en -abonnement. Als u nog geen abonnement hebt, meld u dan aan voor een gratis Azure-account.
Basiskennis over basisconcepten van AKS
Technische vereisten voor Azure Container Apps in Kubernetes met Azure Arc, inclusief toegang tot een openbaar of privécontainerregister, zoals Azure Container Registry.
Facturatie
Zie Standard (hybride implementatie) voor informatie over de werking van facturering.
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.
Notitie
U kunt ook een Kubernetes-cluster maken in azure Lokaal of Kubernetes-cluster op Windows Server en de stappen in deze handleiding toepassen om uw cluster te verbinden met Azure Arc en uw verbonden omgeving in te stellen. Zie de volgende bronnen voor meer informatie over Azure Local en AKS op Windows Server:
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"Kenmerk Vereist Waarde 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.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 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 1Kenmerk Vereist Waarde Beschrijving max countNee < max-nodes-value> Het maximum aantal knooppunten dat moet worden gebruikt voor de automatische schaalaanpassing wanneer u de enable-cluster-autoscaleroptie opneemt. Deze waarde varieert van 1 tot 1000.min countNee < min-knooppunten-waarde> Het minimale aantal knooppunten dat moet worden gebruikt voor de automatische schaalaanpassing wanneer u de enable-cluster-autoscaleroptie 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.
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 --yesVoor meer informatie raadpleegt u de volgende bronnen:
Registreer de volgende vereiste naamruimten:
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 --waitVoor meer informatie raadpleegt u de volgende bronnen:
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 -yVoor meer informatie raadpleegt u de volgende bronnen:
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 nsStandaard 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:
Installeer De Kubernetes-pakketbeheerder met de naam Helm:
choco install kubernetes-helmVoor meer informatie raadpleegt u de volgende bronnen:
Installeer het SMB-stuurprogramma met behulp van de volgende Helm-opdrachten:
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.0Voor meer informatie raadpleegt u de volgende bronnen:
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 csidriverZie kubectl get voor meer informatie.
Uw Kubernetes-cluster verbinden met Azure Arc
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>"Kenmerk Vereist Waarde 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.Maak de Azure-resourcegroep voor uw Azure Arc-cluster en -resources:
az group create \ --name $GROUP_NAME \ --location $LOCATIONVoor meer informatie raadpleegt u de volgende bronnen:
Stel de volgende omgevingsvariabele in om een naam op te geven voor uw Kubernetes-cluster met Azure Arc:
CONNECTED_CLUSTER_NAME="$GROUP_NAME-cluster"Kenmerk Vereist Waarde Beschrijving VERBONDEN_CLUSTER_NAAM 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.Verbind uw eerder gemaakte Kubernetes-cluster met Azure Arc:
az connectedk8s connect \ --resource-group $GROUP_NAME \ --name $CONNECTED_CLUSTER_NAMEVoor meer informatie raadpleegt u de volgende bronnen:
Valideer de verbinding tussen Azure Arc en uw Kubernetes-cluster:
az connectedk8s show \ --resource-group $GROUP_NAME \ --name $CONNECTED_CLUSTER_NAMEAls 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.
Stel de volgende omgevingsvariabele in om een naam op te geven voor uw Log Analytics-werkruimte:
WORKSPACE_NAME="$GROUP_NAME-workspace"Kenmerk Vereist Waarde Beschrijving WORKSPACE_NAME Ja < Azure-Arc-cluster-resource-group-name>-Werkruimte 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.Maak de Log Analytics-werkruimte:
az monitor log-analytics workspace create \ --resource-group $GROUP_NAME \ --workspace-name $WORKSPACE_NAMEVoor meer informatie raadpleegt u de volgende bronnen:
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))Kenmerk Vereist Waarde 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 op Azure Local, moet u voordat u de Azure Container Apps-extensie maakt en installeert, ervoor zorgen dat u HAProxy of een aangepaste load balancer instelt.
Stel de volgende omgevingsvariabelen in op de volgende waarden:
EXTENSION_NAME="logicapps-aca-extension" NAMESPACE="logicapps-aca-ns" CONNECTED_ENVIRONMENT_NAME="<connected-environment-name>"Kenmerk Vereist Waarde 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. VERBONDEN_OMGEVING_NAAM Ja < verbonden-omgeving-naam> 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. 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}"Kenmerk 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 initiële 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.functionsServerIngeschakeld 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 publieke load balancer.
- true: 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 publieke 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 De bestemming die moet worden gebruikt voor toepassingslogboeken. De waarde is log-analytics of geen, waarmee 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:
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)Kenmerk Vereist Waarde Beschrijving EXTENSION_ID Ja < extensie-id> De ID voor de Azure Container Apps extensie. Voor meer informatie raadpleegt u de volgende bronnen:
Wacht voordat u doorgaat tot 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
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)Kenmerk Vereist Waarde 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 met Azure Arc uitgeruste Kubernetes-cluster. Voor meer informatie raadpleegt u de volgende bronnen:
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 $LOCATIONNotitie
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:
Controleer of de aangepaste locatie is gemaakt:
az customlocation show \ --resource-group $GROUP_NAME \ --name $CUSTOM_LOCATION_NAMEAls in de uitvoer wordt aangegeven dat de eigenschapswaarde provisioningState niet is ingesteld op Geslaagd, voert u de opdracht na één minuut opnieuw uit.
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)Kenmerk Vereist Waarde 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 Azure Container Apps-gekoppelde omgeving voor uw standaardlogische app aan.
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:
CoreDNS bijwerken voor een Kubernetes-cluster in Azure Local
Als uw Azure Kubernetes-cluster wordt gehost in Azure Local, moet u de CoreDNS-configuratie voor uw cluster handmatig bijwerken. Met deze stap voegt u een nieuwe configuratietoewijzing toe aan uw Azure Kubernetes-naamruimte. Ter vergelijking: Azure Logic Apps voltooit deze stap automatisch wanneer uw Kubernetes-cluster wordt gehost in Azure. Voor een cluster dat elders wordt gehost, moet u deze stap echter handmatig voltooien.
Voor meer informatie raadpleegt u de volgende documentatie:
- CoreDNS voor Kubernetes
- CoreDNS aanpassen voor Azure Kubernetes Service
- ConfigMaps in Kubernetes
- Naamruimten- kernconcepten voor Azure Kubernetes Service
Als u de CoreDNS-configuratie wilt bijwerken, voert u de volgende Azure CLI-opdracht uit met behulp van de opties voor uw scenario:
az containerapp arc setup-core-dns
| Parameterwaarden | Vereist | Beschrijving |
|---|---|---|
--distro |
Ja | De ondersteunde distributie die moet worden gebruikt voor het bijwerken van de CoreDNS-configuratie. Toegestane waarden: AksAzureLocal |
--kube-config |
Nee | Het pad naar het (kubeconfig-bestand) dat de configuratieparameters bevat voor toegang tot Kubernetes-clusters. |
--kube-context |
Nee | De kubeconfig-context van de on-premises host voor uw cluster. In Kubernetes definieert een context hoe u communiceert met een Kubernetes-cluster. |
skip-ssl-verification |
Nee | Sla SSL-verificatie over voor elke clusterverbinding. |
--yes -y |
Nee | Vraag niet om bevestiging. |
Zie az containerapp arc setup-core-dns voor meer informatie, zoals globale parameters.
Voorbeelden
CoreDNS-configuratie instellen voor Azure Local:
az containerapp arc setup-core-dns --distro AksAzureLocalCoreDNS-configuratie instellen voor Azure Local met behulp van een Kubernetes-configuratiebestand en de Kubernetes-context:
az containerapp arc setup-core-dns --distro AksAzureLocal --kube-config <kubeconfig-file-path> --kube-context <kubeconfig-context-name>
SQL Server-opslagprovider maken
Standaardwerkstromen voor logische apps in het hybride implementatiemodel gebruiken 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.
Stel een van de volgende SQL Server-edities in:
- SQL Server lokaal
- Azure SQL-database
- Azure SQL Managed Instance
- SQL Server ingeschakeld door Azure Arc
Zie Sql Database Storage instellen voor werkstromen voor logische standaard-apps voor meer informatie.
Controleer of uw SQL-database zich in hetzelfde netwerk bevindt als uw Kubernetes-cluster met Arc en SMB-bestandsshare.
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. Gebruik bijvoorbeeld niet een logische app die het hoofdpad gebruikt en vervolgens een andere logische app een submap laat gebruiken.
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.
Stel uw SMB-bestandsshare op Windows in
Zorg ervoor dat uw SMB-bestandsshare zich in hetzelfde virtuele netwerk bevindt als het cluster waarop u de bestandsshare koppelt.
Ga in Windows naar de map die u wilt delen, open het snelmenu en selecteer Eigenschappen.
Selecteer Delen op het tabblad Delen.
Selecteer in het vak dat wordt geopend een persoon die u toegang wilt geven tot de bestandsshare.
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.
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 zich in hetzelfde virtuele netwerk bevindt als het cluster waarop u de bestandsshare koppelt.
Maak in Azure Portal een Azure-opslagaccount.
Selecteer bestandsshares in het menu van het opslagaccount onder Gegevensopslag.
Selecteer + Bestandsshare in de paginawerkbalk bestandsshare en geef de vereiste informatie op voor uw SMB-bestandsshare.
Nadat de implementatie is voltooid, selecteert u Ga naar de resource.
Selecteer Overzicht in het menu bestandsshare, indien niet geselecteerd.
Selecteer Verbinding maken op de werkbalk Overzichtspagina. In het deelvenster Verbinding maken selecteer Script weergeven.
Kopieer de volgende waarden en sla ze ergens veilig op voor later gebruik:
- De hostnaam van de bestandsshare, bijvoorbeeld mystorage.file.core.windows.net
- Netwerkpad voor bestanden
- Gebruikersnaam zonder
localhost\ - Wachtwoord
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:
Maak een test pod in uw Arc-ingeschakelde Kubernetes-cluster die een Linux-image uitvoert, zoals BusyBox of Ubuntu.
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:
Maak in uw testpod met dezelfde Linux-image een map met het pad genaamd mnt/smb.
Ga naar de hoofd- of basismap die de map mnt bevat.
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.
Prestaties optimaliseren voor hybride implementaties
Als u de efficiëntie en prestaties voor een standaard logische app in een hybride implementatie wilt maximaliseren, moet u weten hoe u belangrijke aspecten, zoals CPU, geheugentoewijzing en schaalmechanismen, analyseert en evalueert, zodat u waardevolle inzichten krijgt over optimalisatie. Andere belangrijke elementen zijn de onderliggende Kubernetes-infrastructuur, SQL-configuratie en schaalinstallatie, die de efficiëntie en algehele prestaties van de werkstroom aanzienlijk kunnen beïnvloeden. Zie prestatieanalyses en optimalisatieaanvelingen voor hybride implementaties voor meer informatie.
Volgende stappen
Standaardwerkstromen voor logische apps maken voor hybride implementatie in uw eigen infrastructuur