Nastavení vlastní infrastruktury pro aplikace logiky Standard pomocí hybridního nasazení (Preview)
Platí pro: Azure Logic Apps (Standard)
Poznámka:
Tato funkce je ve verzi Preview, za využití se účtují poplatky a podléhá dodatečným podmínkám použití pro verze Preview Microsoft Azure.
Někdy musíte nastavit a spravovat vlastní infrastrukturu tak, aby splňovala konkrétní požadavky na dodržování právních předpisů, ochranu osobních údajů v datech nebo omezení sítě. Azure Logic Apps nabízí model hybridního nasazení, abyste mohli nasadit a hostovat pracovní postupy standardních aplikací logiky v místních scénářích, privátním cloudu nebo veřejném cloudu. Tento model poskytuje možnosti hostování řešení integrace v částečně propojených prostředích, když potřebujete použít místní zpracování, úložiště dat a síťový přístup. Díky hybridní možnosti máte volnost a flexibilitu při výběru nejvhodnějšího prostředí pro pracovní postupy.
Jak funguje hybridní nasazení
Pracovní postupy standardní aplikace logiky s možností hybridního nasazení využívají modul runtime Azure Logic Apps hostovaný v rozšíření Azure Container Apps. V pracovním postupu se všechny integrované operace spouštějí místně s modulem runtime, abyste získali vyšší propustnost pro přístup k místním zdrojům dat. Pokud potřebujete přístup k jiným než místním datovým prostředkům, například ke cloudovým službám, jako jsou systém Microsoft Office 365, Microsoft Teams, Salesforce, GitHub, LinkedIn nebo ServiceNow, můžete zvolit operace z 1 000 a více konektorů hostovaných v Azure, které chcete zahrnout do vašich pracovních postupů. Další informace najdete v tématu Spravované (sdílené) konektory. I když potřebujete mít připojení k internetu ke správě aplikace logiky na webu Azure Portal, částečně propojená povaha této platformy vám umožní absorbovat všechny dočasné problémy s připojením k internetu.
Pokud máte například místní scénář, následující přehled architektury ukazuje, kde jsou pracovní postupy standardní aplikace logiky hostované a spuštěné v hybridním modelu. Částečně propojené prostředí zahrnuje následující prostředky pro hostování a práci s vašimi standardními aplikacemi logiky, které se nasazují jako prostředky Azure Container Apps:
- Clustery Azure Kubernetes Service (AKS) s podporou Služby Azure Arc
- Databáze SQL pro místní ukládání historie spuštění pracovního postupu, vstupů a výstupů pro zpracování
- Sdílená složka SMB (Server Message Block) pro místní ukládání artefaktů používaných vašimi pracovními postupy
Pro hostování můžete také nastavit a používat clustery Kubernetes s podporou Služby Azure Arc v hyperkonvergované infrastruktuře služby Azure Stack nebo clusterech Kubernetes s podporou Služby Azure Arc na Windows Serveru.
Další informace najdete v následující dokumentaci:
- Co je Azure Kubernetes Service?
- Základní koncepty služby Azure Kubernetes Service (AKS)
- Vlastní umístění pro clustery Kubernetes s podporou Azure Arc
- Co je Azure Container Apps?
- Azure Container Apps ve službě Azure Arc
Tento průvodce postupy ukazuje, jak nastavit nezbytné místní prostředky ve vaší infrastruktuře, abyste mohli vytvářet, nasazovat a hostovat pracovní postup aplikace logiky standardu pomocí modelu hybridního nasazení.
Jak funguje fakturace
S hybridní možností zodpovídáte za následující položky:
- Vaše infrastruktura Kubernetes s podporou Služby Azure Arc
- Vaše licence SQL Serveru
- Poplatek za fakturaci 0,18 USD za vCPU za hodinu za podporu úloh aplikací logiky Standard
V tomto fakturačním modelu platíte jenom za to, co potřebujete, a škálovat prostředky pro dynamické úlohy, aniž byste museli kupovat využití ve špičce. Pro pracovní postupy, které používají operace konektorů hostované v Azure, jako je Microsoft Teams nebo systém Microsoft Office 365, se na provádění těchto operací vztahují stávající ceny standardu (jednoho tenanta).
Omezení
Hybridní nasazení je aktuálně dostupné a podporuje se pouze pro následující clustery Kubernetes s podporou Azure Arc:
- Clustery Kubernetes s podporou Azure Arc
- Clustery Kubernetes s podporou Azure Arc ve službě Azure Stack HCI
- Clustery Kubernetes s podporou Služby Azure Arc na Windows Serveru
Požadavky
Účet a předplatné Azure. Pokud předplatné nemáte, zaregistrujte si bezplatný účet Azure.
Základní znalosti základních konceptů AKS
Technické požadavky pro Azure Container Apps v Kubernetes s podporou Azure Arc, včetně přístupu k veřejnému nebo privátnímu registru kontejnerů, jako je Azure Container Registry.
Vytvoření clusteru Kubernetes
Před nasazením aplikace logiky Standard jako místního prostředku do clusteru Kubernetes s podporou Azure Arc v připojeném prostředí Azure Container Apps potřebujete nejprve cluster Kubernetes. Později tento cluster připojíte ke službě Azure Arc, abyste měli cluster Kubernetes s podporou Azure Arc.
Cluster Kubernetes vyžaduje příchozí a odchozí připojení k databázi SQL, kterou později vytvoříte jako poskytovatele úložiště a sdílenou složku Server Message Block, kterou později vytvoříte pro úložiště artefaktů. Tyto prostředky musí existovat ve stejné síti.
Poznámka:
Můžete také vytvořit cluster Kubernetes v infrastruktuře Azure Stack HCI nebo clusteru Kubernetes na Windows Serveru a použít kroky v této příručce pro připojení clusteru ke službě Azure Arc a nastavení připojeného prostředí. Další informace o Azure Stack HCI a AKS na Windows Serveru najdete v následujících zdrojích informací:
Nastavte následující proměnné prostředí pro cluster Kubernetes, který chcete vytvořit:
SUBSCRIPTION="<Azure-subscription-ID>" AKS_CLUSTER_GROUP_NAME="<aks-cluster-resource-group-name>" AKS_NAME="<aks-cluster-name>" LOCATION="eastus"
Parametr Požaduje se Hodnota Popis PŘEDPLATNÉ Ano <Azure-subscription-ID> ID předplatného Azure AKS_CLUSTER_GROUP_NAME Ano <aks-cluster-resource-group-name> Název skupiny prostředků Azure, která se má použít s clusterem Kubernetes. Tento název musí být jedinečný napříč oblastmi a může obsahovat pouze písmena, číslice, pomlčky (-), podtržítka (_), závorky (()) a tečky (.).
V tomto příkladu se používá hybrid-RG.AKS_NAME Ano <aks-cluster-name> Název clusteru Kubernetes. UMÍSTĚNÍ Ano <Oblast Azure> Oblast Azure, která podporuje aplikace kontejnerů Azure v Kubernetes s podporou Azure Arc.
Tento příklad používá eastus.Spusťte následující příkazy buď pomocí prostředí Bash v Azure Cloud Shellu , nebo místně pomocí Azure CLI nainstalovaného na vašem počítači:
Poznámka:
Nezapomeňte změnit hodnoty uzlu maximálního počtu a minimálního počtu na základě vašich požadavků na zatížení.
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
Parametr Požaduje se Hodnota Popis max count
No <max-nodes-value> Maximální počet uzlů, které se mají použít pro automatické škálování při zahrnutí enable-cluster-autoscaler
možnosti. Tato hodnota se pohybuje od 1 do 1 000.min count
No <min-nodes-value> Minimální počet uzlů, které se mají použít pro automatické škálování, když tuto možnost zahrnete enable-cluster-autoscaler
. Tato hodnota se pohybuje od 1 do 1 000.Další informace naleznete v následujících zdrojích:
Připojení clusteru Kubernetes ke službě Azure Arc
Pokud chcete vytvořit cluster Kubernetes s podporou Azure Arc, připojte cluster Kubernetes ke službě Azure Arc.
Poznámka:
Postup najdete v této části a dále až po vytvoření připojeného prostředí ve skriptu s názvem EnvironmentSetup.ps1, který najdete v úložišti GitHub s názvem Azure/logicapps. Tento skript můžete upravit a použít tak, aby splňoval vaše požadavky a scénáře.
Skript není podepsaný, takže před spuštěním skriptu spusťte následující příkaz Azure PowerShellu jako správce a nastavte zásady spouštění:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Další informace naleznete v tématu Set-ExecutionPolicy.
Nainstalujte následující rozšíření Azure CLI:
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
Další informace naleznete v následujících zdrojích:
Zaregistrujte následující požadované obory názvů:
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
Další informace naleznete v následujících zdrojích:
Nainstalujte rozhraní příkazového řádku Kubernetes s názvem 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
Další informace naleznete v následujících zdrojích:
Nainstalujte správce balíčků Kubernetes s názvem Helm:
choco install kubernetes-helm
Další informace naleznete v následujících zdrojích:
Nainstalujte ovladač SMB pomocí následujících příkazů Helm:
Přidejte zadané úložiště grafů, získejte nejnovější informace o dostupných grafech a nainstalujte zadaný archiv grafu.
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
Další informace naleznete v následujících zdrojích:
Spuštěním následujícího příkazu kubectl , který by měl zobrazit seznam smb.csi.k8s.io, ověřte, že je ovladač SMB nainstalovaný:
kubectl get csidriver
Další informace najdete v tématu kubectl get.
Připojení clusteru Kubernetes ke službě Azure Arc
Otestujte připojení ke clusteru získáním souboru kubeconfig:
az aks get-credentials \ --resource-group $AKS_CLUSTER_GROUP_NAME \ --name $AKS_NAME \ --admin kubectl get ns
Ve výchozím nastavení se soubor kubeconfig uloží do cesty ~/.kube/config. Tento příkaz se vztahuje na náš příklad clusteru Kubernetes a liší se pro jiné druhy clusterů Kubernetes.
Další informace naleznete v následujících zdrojích:
Na základě nasazení clusteru Kubernetes nastavte následující proměnnou prostředí tak, aby poskytovala název pro skupinu prostředků Azure, která obsahuje cluster a prostředky s podporou Azure Arc:
GROUP_NAME="<Azure-Arc-cluster-resource-group-name>"
Parametr Požaduje se Hodnota Popis GROUP_NAME Ano <Azure-Arc-cluster-resource-group-name> Název skupiny prostředků Azure, která se má použít s clusterem s podporou Azure Arc a dalšími prostředky, jako jsou vaše rozšíření Azure Container Apps, vlastní umístění a připojené prostředí Azure Container Apps. Tento název musí být jedinečný napříč oblastmi a může obsahovat pouze písmena, číslice, pomlčky (-), podtržítka (_), závorky (()) a tečky (.).
V tomto příkladu se používá hybrid-Arc-RG.Vytvořte skupinu prostředků Azure pro cluster a prostředky s podporou Služby Azure Arc:
az group create \ --name $GROUP_NAME \ --location $LOCATION
Další informace naleznete v následujících zdrojích:
Nastavte následující proměnnou prostředí a zadejte název clusteru Kubernetes s podporou Azure Arc:
CONNECTED_CLUSTER_NAME="$GROUP_NAME-cluster"
Parametr Požaduje se Hodnota Popis CONNECTED_CLUSTER_NAME Ano <Azure-Arc-cluster-resource-group-name-cluster> Název, který se má použít pro cluster s podporou Azure Arc. Tento název musí být jedinečný napříč oblastmi a může obsahovat pouze písmena, číslice, pomlčky (-), podtržítka (_), závorky (()) a tečky (.).
V tomto příkladu se používá cluster Hybrid-Arc-RG-cluster.Připojení dříve vytvořeného clusteru Kubernetes ke službě Azure Arc:
az connectedk8s connect \ --resource-group $GROUP_NAME \ --name $CONNECTED_CLUSTER_NAME
Další informace naleznete v následujících zdrojích:
Ověřte připojení mezi Azure Arc a clusterem Kubernetes:
az connectedk8s show \ --resource-group $GROUP_NAME \ --name $CONNECTED_CLUSTER_NAME
Pokud výstup ukazuje, že hodnota vlastnosti provisioningState není nastavena na Úspěch, spusťte příkaz znovu po jedné minutě.
Další informace naleznete v následujících zdrojích:
Vytvoření pracovního prostoru Služby Azure Log Analytics
Můžete vytvořit volitelný, ale doporučený pracovní prostor Azure Log Analytics, který poskytuje přístup k protokolům pro aplikace, které běží v clusteru Kubernetes s podporou Azure Arc.
Nastavte následující proměnnou prostředí a zadejte název pracovního prostoru služby Log Analytics:
WORKSPACE_NAME="$GROUP_NAME-workspace"
Parametr Požaduje se Hodnota Popis WORKSPACE_NAME Ano <Azure-Arc-cluster-resource-group-name-workspace> Název, který se má použít pro váš pracovní prostor služby Log Analytics. Tento název musí být v rámci vaší skupiny prostředků jedinečný.
V tomto příkladu se používá pracovní prostor Hybrid-Arc-RG-workspace.Vytvořte pracovní prostor služby Log Analytics:
az monitor log-analytics workspace create \ --resource-group $GROUP_NAME \ --workspace-name $WORKSPACE_NAME
Další informace naleznete v následujících zdrojích:
Získejte ID kódování Base64 a sdílený klíč pro váš pracovní prostor služby Log Analytics. Tyto hodnoty budete potřebovat pro pozdější krok.
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))
Parametr Požaduje se Hodnota Popis LOG_ANALYTICS_WORKSPACE_ID Ano ID pracovního prostoru služby Log Analytics. LOG_ANALYTICS_WORKSPACE_ID_ENC Ano ID zakódované v base64 pro váš pracovní prostor služby Log Analytics. LOG_ANALYTICS_KEY Ano Sdílený klíč pro váš pracovní prostor služby Log Analytics. LOG_ANALYTICS_ENC Ano Sdílený klíč kódovaný v base64 pro váš pracovní prostor služby Log Analytics. Další informace naleznete v následujících zdrojích:
Vytvoření a instalace rozšíření Azure Container Apps
Teď vytvořte a nainstalujte rozšíření Azure Container Apps s clusterem Kubernetes s podporou Azure Arc jako místním prostředkem.
Důležité
Pokud chcete nasadit do AKS ve službě Azure Stack HCI, před vytvořením a instalací rozšíření Azure Container Apps se ujistěte, že jste nastavili HAProxy nebo vlastní nástroj pro vyrovnávání zatížení.
Nastavte následující proměnné prostředí na následující hodnoty:
EXTENSION_NAME="logicapps-aca-extension" NAMESPACE="logicapps-aca-ns" CONNECTED_ENVIRONMENT_NAME="<connected-environment-name>"
Parametr Požaduje se Hodnota Popis EXTENSION_NAME Ano logicapps-aca-extension Název rozšíření Azure Container Apps. NAMESPACE Ano logicapps-aca-ns Obor názvů clusteru, ve kterém chcete zřídit prostředky. CONNECTED_ENVIRONMENT_NAME Ano <connected-environment-name> Jedinečný název, který se má použít pro připojené prostředí Azure Container Apps. Tento název se stane součástí názvu domény pro aplikaci logiky Standard, kterou vytvoříte, nasadíte a hostujete v připojeném prostředí Azure Container Apps. Vytvořte a nainstalujte rozšíření s povolenou službou Log Analytics pro cluster Kubernetes s podporou Služby Azure Arc. Později do rozšíření nemůžete přidat Log Analytics.
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}"
Parametr Požadováno Popis Microsoft.CustomLocation.ServiceAccount Ano Účet služby vytvořený pro vlastní umístění.
Doporučení: Nastavte hodnotu na výchozí.appsNamespace Ano Obor názvů, který se má použít k vytváření definic a revizí aplikací. Tato hodnota se musí shodovat s oborem názvů vydané verze pro rozšíření Azure Container Apps. clusterName Ano Název prostředí Kubernetes rozšíření Azure Container Apps, který se má pro rozšíření vytvořit. keda.enabled Ano Povolte automatické škálování řízené událostmi Kubernetes (KEDA). Tato hodnota je povinná a musí být nastavená na hodnotu true. keda.logicAppsScaler.enabled Ano Povolte škálování Azure Logic Apps v KEDA. Tato hodnota je povinná a musí být nastavená na hodnotu true. keda.logicAppsScaler.replicaCount Ano Počáteční počet škálovačů aplikací logiky, které se mají spustit. Výchozí hodnota nastavená na hodnotu 1. Pokud v prostředí neexistují žádné aplikace logiky, tato hodnota se vertikálně navyšuje nebo vertikálně navyšuje na 0. containerAppController.api.functionsServerEnabled Ano Povolte službu zodpovědnou za převod triggerů pracovního postupu aplikace logiky na objekty škálované na KEDA. Tato hodnota je povinná a musí být nastavená na hodnotu true. envoy.externalServiceAzureILB Ano Určuje, jestli se tento správce chová jako interní nástroj pro vyrovnávání zatížení nebo veřejný nástroj pro vyrovnávání zatížení.
- true: Envoy funguje jako interní nástroj pro vyrovnávání zatížení. Modul runtime Azure Logic Apps je přístupný jenom v rámci privátní sítě.
- false: Envoy funguje jako veřejný nástroj pro vyrovnávání zatížení. Modul runtime Azure Logic Apps je přístupný přes veřejnou síť.functionsProxyApiConfig.enabled Ano Povolte proxy službu, která usnadňuje přístup rozhraní API k modulu runtime Azure Logic Apps z webu Azure Portal. Tato hodnota je povinná a musí být nastavená na hodnotu true. envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group Ano, ale jenom v případě, že základní cluster je Azure Kubernetes Service. Název skupiny prostředků, ve které cluster Kubernetes existuje. logProcessor.appLogs.destination No Cíl, který se má použít pro protokoly aplikací. Hodnota je buď log-analytics , nebo žádná, což zakáže protokolování. logProcessor.appLogs.logAnalyticsConfig.customerId Ano, ale pouze pokud je logProcessor.appLogs.destination nastavená na log-analytics. ID zakódované v base64 pro váš pracovní prostor služby Log Analytics. Nezapomeňte tento parametr nakonfigurovat jako chráněné nastavení. logProcessor.appLogs.logAnalyticsConfig.sharedKey Ano, ale pouze pokud je logProcessor.appLogs.destination nastavená na log-analytics. Sdílený klíč kódovaný v base64 pro váš pracovní prostor služby Log Analytics. Nezapomeňte tento parametr nakonfigurovat jako chráněné nastavení. Další informace naleznete v následujících zdrojích:
Uložte hodnotu ID rozšíření Azure Container Apps, abyste ji mohli použít později:
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)
Parametr Požaduje se Hodnota Popis EXTENSION_ID Ano <EXTENSION-ID> ID rozšíření Azure Container Apps. Další informace naleznete v následujících zdrojích:
Než budete pokračovat, počkejte na úplnou instalaci rozšíření. Pokud chcete, aby relace terminálu čekala na dokončení instalace, spusťte následující příkaz:
az resource wait \ --ids $EXTENSION_ID \ --custom "properties.provisioningState!='Pending'" \ --api-version "2020-07-01-preview"
Další informace naleznete v následujících zdrojích:
Vytvoření vlastního umístění
Nastavte následující proměnné prostředí na zadané hodnoty:
CUSTOM_LOCATION_NAME="my-custom-location" CONNECTED_CLUSTER_ID=$(az connectedk8s show \ --resource-group $GROUP_NAME \ --name $CONNECTED_CLUSTER_NAME \ --query id \ --output tsv)
Parametr Požaduje se Hodnota Popis CUSTOM_LOCATION_NAME Ano moje vlastní umístění Název, který se má použít pro vaše vlastní umístění. CONNECTED_CLUSTER_ID Ano <ID clusteru Azure-Arc> ID clusteru Kubernetes s podporou Azure Arc. Další informace naleznete v následujících zdrojích:
Vytvořte vlastní umístění:
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
Poznámka:
Pokud máte problémy s vytvořením vlastního umístění v clusteru, možná budete muset ve svém clusteru povolit funkci vlastního umístění. Tento krok se vyžaduje, pokud jste se přihlásili k Azure CLI pomocí instančního objektu nebo pokud jste se přihlásili jako uživatel Microsoft Entra s omezenými oprávněními k prostředku clusteru.
Další informace naleznete v následujících zdrojích:
Ověřte, že se vlastní umístění úspěšně vytvořilo:
az customlocation show \ --resource-group $GROUP_NAME \ --name $CUSTOM_LOCATION_NAME
Pokud výstup ukazuje, že hodnota vlastnosti provisioningState není nastavena na Úspěch, spusťte příkaz znovu po jedné minutě.
Uložte SI ID vlastního umístění pro použití v pozdějším kroku:
CUSTOM_LOCATION_ID=$(az customlocation show \ --resource-group $GROUP_NAME \ --name $CUSTOM_LOCATION_NAME \ --query id \ --output tsv)
Parametr Požaduje se Hodnota Popis CUSTOM_LOCATION_ID Ano <my-custom-location-ID> ID vlastního umístění. Další informace naleznete v následujících zdrojích:
Vytvoření připojeného prostředí Azure Container Apps
Teď vytvořte propojené prostředí Azure Container Apps, které bude vaše aplikace logiky Standard používat.
az containerapp connected-env create \
--resource-group $GROUP_NAME \
--name $CONNECTED_ENVIRONMENT_NAME \
--custom-location $CUSTOM_LOCATION_ID \
--location $LOCATION
Další informace naleznete v následujících zdrojích:
Vytvoření poskytovatele úložiště SQL Serveru
Pracovní postupy standardní aplikace logiky v modelu hybridního nasazení používají databázi SQL jako poskytovatele úložiště pro data používaná pracovními postupy a modulem runtime Azure Logic Apps, například historii spuštění pracovního postupu, vstupy, výstupy atd.
Vaše databáze SQL vyžaduje příchozí a odchozí připojení ke clusteru Kubernetes, takže tyto prostředky musí existovat ve stejné síti.
Nastavte některou z následujících edicí SQL Serveru:
- Místní SQL Server
- Azure SQL Database
- Spravovaná instance Azure SQL
- SQL Server povolený službou Azure Arc
Další informace najdete v tématu Nastavení úložiště databáze SQL pro pracovní postupy aplikace logiky Standard.
Ověřte, že je vaše databáze SQL ve stejné síti jako cluster Kubernetes s podporou Arc a sdílená složka SMB.
Vyhledejte a uložte připojovací řetězec pro databázi SQL, kterou jste vytvořili.
Nastavení sdílené složky SMB pro úložiště artefaktů
Pokud chcete ukládat artefakty, jako jsou mapy, schémata a sestavení pro prostředek aplikace logiky (aplikace kontejneru), musíte mít sdílenou složku, která používá protokol SMB (Server Message Block).
K nastavení sdílené složky SMB potřebujete přístup správce.
Sdílená složka SMB musí existovat ve stejné síti jako cluster Kubernetes a databáze SQL.
Sdílená složka SMB vyžaduje příchozí a odchozí připojení ke clusteru Kubernetes. Pokud jste povolili omezení virtuální sítě Azure, ujistěte se, že sdílená složka existuje ve stejné virtuální síti jako cluster Kubernetes nebo v partnerské virtuální síti.
Nepoužívejte stejnou přesnou cestu ke sdílené složce pro více aplikací logiky.
Pro každou aplikaci logiky můžete použít samostatné sdílené složky SMB nebo můžete použít různé složky ve stejné sdílené složce SMB, pokud tyto složky nejsou vnořené. Například nemáte aplikaci logiky, která používá kořenovou cestu, a pak použijte podsložku jinou aplikaci logiky.
Pokud chcete nasadit aplikaci logiky pomocí editoru Visual Studio Code, ujistěte se, že místní počítač se sadou Visual Studio Code má přístup ke sdílené složce.
Nastavení sdílené složky SMB ve Windows
Ujistěte se, že sdílená složka SMB existuje ve stejné virtuální síti jako cluster, ve kterém sdílenou složku připojíte.
Ve Windows přejděte do složky, kterou chcete sdílet, otevřete místní nabídku a vyberte Vlastnosti.
Na kartě Sdílení vyberte Sdílet.
V okně, které se otevře, vyberte osobu, ke které chcete mít přístup ke sdílené složce.
Vyberte Sdílet a zkopírujte odkaz pro síťovou cestu.
Pokud váš místní počítač není připojený k doméně, nahraďte název počítače v síťové cestě IP adresou.
Uložte IP adresu, aby se později používala jako název hostitele.
Nastavení služby Azure Files jako sdílené složky SMB
Alternativně můžete pro účely testování použít službu Azure Files jako sdílenou složku SMB. Ujistěte se, že sdílená složka SMB existuje ve stejné virtuální síti jako cluster, ve kterém sdílenou složku připojíte.
Na webu Azure Portal vytvořte účet úložiště Azure.
V nabídce účtu úložiště v části Úložiště dat vyberte Sdílené složky.
Na panelu nástrojů na stránce Sdílené složky vyberte + Sdílená složka a zadejte požadované informace pro sdílenou složku SMB.
Po dokončení nasazení vyberte Přejít k prostředku.
V nabídce sdílené složky vyberte Přehled, pokud není vybraná.
Na panelu nástrojů stránky Přehled vyberte Připojit. V podokně Připojit vyberte Zobrazit skript.
Zkopírujte následující hodnoty a uložte je někam bezpečně pro pozdější použití:
- Název hostitele sdílené složky, například mystorage.file.core.windows.net
- Cesta ke sdílené složce
- Uživatelské jméno bez
localhost\
- Heslo
Na panelu nástrojů stránky Přehled vyberte + Přidat adresář a zadejte název, který se má použít pro tento adresář. Uložte tento název, abyste ho mohli použít později.
Tyto uložené hodnoty potřebujete k poskytnutí informací o sdílené složce SMB při nasazování prostředku aplikace logiky.
Další informace najdete v tématu Vytvoření sdílené složky Azure SMB.
Potvrzení připojení sdílené složky SMB
Pokud chcete otestovat připojení mezi clusterem Kubernetes s podporou Arc a sdílenou složkou SMB a zkontrolovat, jestli je sdílená složka správně nastavená, postupujte takto:
Pokud vaše sdílená složka SMB není ve stejném clusteru, ověřte, že operace ping funguje z clusteru Kubernetes s podporou Arc na virtuální počítač, který má sdílenou složku SMB. Pokud chcete zkontrolovat, že operace ping funguje, postupujte takto:
V clusteru Kubernetes s podporou Arc vytvořte testovací pod , na kterém běží libovolná image Linuxu, jako je BusyBox nebo Ubuntu.
Přejděte do kontejneru v podu a nainstalujte balíček iputils-ping spuštěním následujících linuxových příkazů:
apt-get update apt-get install iputils-ping
Pokud chcete ověřit, že je sdílená složka SMB správně nastavená, postupujte takto:
V testovacím podu se stejnou imagí Linuxu vytvořte složku s cestou s názvem mnt/smb.
Přejděte do kořenového nebo domovského adresáře, který obsahuje složku mnt .
Spusťte následující příkaz:
- mount -t cifs //{ip-address-smb-computer}/{file-share-name}/mnt/smb -o username={user-name}, password={password}
Pokud chcete ověřit správné nahrávání artefaktů, připojte se k cestě ke sdílené složce SMB a zkontrolujte, jestli soubory artefaktů existují ve správné složce, kterou zadáte během nasazování.