Partager via


Configurer votre propre infrastructure pour les applications logiques Standard avec le déploiement hybride (préversion)

S’applique à : Azure Logic Apps (Standard)

Remarque

Cette fonctionnalité est en préversion et est soumise aux conditions d’utilisation supplémentaires des préversions de Microsoft Azure.

Parfois, vous devez configurer et gérer votre propre infrastructure pour répondre à des besoins spécifiques en termes de conformité réglementaire, de confidentialité des données ou de restrictions réseau. Azure Logic Apps offre un modèle de déploiement hybride pour déployer et héberger des flux de travail d’application logique Standard dans des scénarios locaux, de cloud privé ou de cloud public. Ce modèle offre les fonctionnalités permettant d’héberger des solutions d’intégration dans des environnements partiellement connectés, lorsque vous devez utiliser le traitement local, le stockage de données et l’accès réseau. Avec l’option hybride, vous avez la liberté et la flexibilité de choisir le meilleur environnement pour vos flux de travail.

Fonctionnement du déploiement hybride

Les flux de travail d’application logique Standard avec option de déploiement hybride sont alimentés par un runtime Azure Logic Apps hébergé dans une extension Azure Container Apps. Dans votre flux de travail, toutes les opérations intégrées s’exécutent en local avec le runtime, afin d’obtenir un débit plus élevé pour l’accès aux sources de données locales. Pour accéder à des ressources de données non locales (par exemple, des services cloud tels que Microsoft Office 365, Microsoft Teams, Salesforce, GitHub, LinkedIn ou ServiceNow), vous pouvez choisir des opérations à partir de 1 000 connecteurs hébergés dans Azure pour les inclure dans vos flux de travail. Pour plus d’informations, consultez Connecteurs gérés (partagés). Même si vous devez disposer d’une connectivité Internet pour gérer votre application logique dans le portail Azure, la nature semi-connectée de cette plateforme vous permet de traiter tous les problèmes de connectivité Internet temporaires.

Par exemple, avec un scénario local, la vue d’ensemble architecturale suivante indique où les flux de travail d’application logique Standard sont hébergés et exécutés dans le modèle hybride. L’environnement partiellement connecté inclut les ressources suivantes pour l’hébergement et l’utilisation de vos applications logiques Standard, qui sont déployées en tant que ressources Azure Container Apps :

  • Clusters Azure Kubernetes Service (AKS) avec Azure Arc
  • Une base de données SQL pour stocker en local l’historique des exécutions de flux de travail, les entrées et les sorties pour le traitement
  • Un partage de fichiers SMB (Server Message Block) pour stocker en local les artefacts utilisés par vos flux de travail

Diagramme avec vue d’ensemble architecturale lorsque les applications logiques Standard sont hébergées dans un environnement partiellement connecté.

Pour l’hébergement, vous pouvez également configurer et utiliser des clusters Kubernetes avec Azure Arc sur l’infrastructure hyperconvergée Azure Stack (HCI) ou des clusters Kubernetes avec Azure Arc sur Windows Server.

Pour plus d’informations, consultez la documentation suivante :

Ce guide pratique montre comment configurer les ressources locales nécessaires dans votre infrastructure, afin de créer, déployer et héberger un flux de travail d’application logique Standard avec le modèle de déploiement hybride.

Comment la facturation fonctionne

Avec l’option hybride, vous êtes responsable des éléments suivants :

  • Votre infrastructure Kubernetes avec Azure Arc
  • Votre licence SQL Server
  • Frais de facturation de 0,18 USD par processeur virtuel/heure pour traiter les charges de travail d’application logique Standard

Dans ce modèle de facturation, vous payez uniquement pour ce dont vous avez besoin et mettez à l’échelle les ressources associées aux charges de travail dynamiques sans devoir payer une utilisation maximale. Pour les flux de travail qui utilisent des opérations de connecteur hébergées par Azure (telles que Microsoft Teams ou Microsoft Office 365), l’actuelle tarification Standard (monolocataire) s’applique à ces exécutions d’opérations.

Limites

  • Pour le moment, le déploiement hybride est uniquement disponible et assuré pour les clusters Kubernetes avec Azure Arc suivants :

    • Clusters Kubernetes avec Azure Arc
    • Clusters Kubernetes avec Azure Arc sur Azure Stack HCI
    • Clusters Kubernetes avec Azure Arc sur Windows Server

Prérequis

Créer un cluster Kubernetes

Pour déployer votre application logique Standard comme ressource locale sur un cluster Kubernetes avec Azure Arc dans un environnement connecté Azure Container Apps, vous avez besoin d’un cluster Kubernetes. Par la suite, vous connecterez ce cluster à Azure Arc pour disposer d’un cluster Kubernetes avec Azure Arc.

Votre cluster Kubernetes nécessite une connectivité entrante et sortante avec la base de données SQL que vous allez créer en tant que fournisseur de stockage et avec le partage de fichiers Server Message Block que vous allez créer pour le stockage d’artefacts. Ces ressources doivent se trouver dans le même réseau.

Remarque

Vous pouvez également créer un cluster Kubernetes sur une infrastructure Azure Stack HCI ou un cluster Kubernetes sur Windows Server, puis appliquer les étapes décrites dans ce guide pour connecter votre cluster à Azure Arc et configurer votre environnement connecté. Pour plus d’informations sur Azure Stack HCI et AKS sur Windows Server, consultez les ressources suivantes :

  1. Définissez les variables d’environnement suivantes pour le cluster Kubernetes à créer :

    SUBSCRIPTION="<Azure-subscription-ID>"
    AKS_CLUSTER_GROUP_NAME="<aks-cluster-resource-group-name>"
    AKS_NAME="<aks-cluster-name>"
    LOCATION="eastus"
    
    Paramètre Obligatoire Value Description
    SUBSCRIPTION Oui <Azure-subscription-ID> ID de votre abonnement Azure
    AKS_CLUSTER_GROUP_NAME Oui <aks-cluster-resource-group-name> Nom du groupe de ressources Azure à utiliser avec votre cluster Kubernetes. Ce nom doit être unique d’une région à l’autre et peut uniquement contenir des lettres, des chiffres, des traits d’union (-), des traits de soulignement (_), des parenthèses [()] et des points (.).

    Cet exemple utilise Hybrid-RG.
    AKS_NAME Oui <aks-cluster-name> Nom de votre cluster Kubernetes.
    LOCATION Oui <Azure-region> Région Azure qui accepte Azure Container Apps sur Kubernetes avec Azure Arc.

    Cet exemple utilise eastus.
  2. Exécutez les commandes suivantes avec l’environnement Bash dans Azure Cloud Shell ou en local avec Azure CLI installé sur votre ordinateur :

    Remarque

    Modifiez les valeurs de nœud max-count et min-count en fonction de vos exigences de charge.

    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
    
    Paramètre Obligatoire Value Description
    max count Non <max-nodes-value> Nombre maximal de nœuds à utiliser pour l’autoscaler lorsque vous incluez l’option enable-cluster-autoscaler. Cette valeur est comprise entre 1 et 1 000.
    min count Non <min-nodes-value> Nombre minimal de nœuds à utiliser pour l’autoscaler lorsque vous incluez l’option enable-cluster-autoscaler. Cette valeur est comprise entre 1 et 1 000.

    Pour plus d’informations, consultez les ressources suivantes :

Connectez le cluster Kubernetes à Azure Arc

Pour créer votre cluster Kubernetes avec Azure Arc, connectez votre cluster Kubernetes à Azure Arc.

Remarque

Vous trouverez les étapes correspondantes dans cette section et jusqu’à la procédure de création de l’environnement connecté dans un script nommé EnvironmentSetup.ps1, qui se trouve dans le dépôt GitHub nommé Azure/logicapps. Vous pouvez modifier et utiliser ce script pour répondre à vos exigences et scénarios.

Le script n’est pas signé. Avant de l’exécuter, exécutez la commande Azure PowerShell suivante en tant qu’administrateur pour définir la stratégie d’exécution :

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Pour plus d’informations, consultez Set-ExecutionPolicy.

  1. Installez les extensions Azure CLI suivantes :

    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 
    

    Pour plus d’informations, consultez les ressources suivantes :

  2. Inscrivez les espaces de noms suivants :

    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
    

    Pour plus d’informations, consultez les ressources suivantes :

  3. Installez l’interface de ligne de commande (CLI) Kubernetes appelée 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
    

    Pour plus d’informations, consultez les ressources suivantes :

  4. Installez le gestionnaire de package Kubernetes appelé Helm :

    choco install kubernetes-helm
    

    Pour plus d’informations, consultez les ressources suivantes :

  5. Installez le pilote SMB avec les commandes Helm suivantes :

    1. Ajoutez le référentiel de graphiques spécifié, récupérez les dernières informations sur les graphiques disponibles et installez l’archive de graphiques indiquée.

      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 
      

      Pour plus d’informations, consultez les ressources suivantes :

    2. Vérifiez que le pilote SMB est installé en exécutant la commande kubectl suivante, qui doit répertorier smb.csi.k8s.io :

      kubectl get csidriver
      

      Pour plus d’informations, consultez kubectl get.

Connecter votre cluster Kubernetes à Azure Arc

  1. Testez votre connexion au cluster en récupérant le fichier kubeconfig :

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

    Par défaut, le fichier kubeconfig est enregistré au chemin ~/.kube/config. Cette commande s’applique à notre exemple de cluster Kubernetes et diffère pour d’autres types de clusters Kubernetes.

    Pour plus d’informations, consultez les ressources suivantes :

  2. En fonction de votre déploiement de cluster Kubernetes, définissez la variable d’environnement suivante pour donner un nom au groupe de ressources Azure qui contient votre cluster et vos ressources avec Azure Arc :

    GROUP_NAME="<Azure-Arc-cluster-resource-group-name>"
    
    Paramètre Obligatoire Value Description
    GROUP_NAME Oui <Azure-Arc-cluster-resource-group-name> Nom du groupe de ressources Azure à utiliser avec votre cluster avec Azure Arc et d’autres ressources (comme votre extension Azure Container Apps, votre emplacement personnalisé et l’environnement connecté Azure Container Apps). Ce nom doit être unique d’une région à l’autre et peut uniquement contenir des lettres, des chiffres, des traits d’union (-), des traits de soulignement (_), des parenthèses [()] et des points (.).

    Cet exemple utilise Hybrid-Arc-RG.
  3. Créez le groupe de ressources Azure pour votre cluster et vos ressources avec Azure Arc :

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

    Pour plus d’informations, consultez les ressources suivantes :

  4. Définissez la variable d’environnement suivante pour donner un nom à votre cluster Kubernetes avec Azure Arc :

    CONNECTED_CLUSTER_NAME="$GROUP_NAME-cluster"
    
    Paramètre Obligatoire Value Description
    CONNECTED_CLUSTER_NAME Oui <Azure-Arc-cluster-resource-group-name>-cluster Nom à utiliser pour votre cluster avec Azure Arc. Ce nom doit être unique d’une région à l’autre et peut uniquement contenir des lettres, des chiffres, des traits d’union (-), des traits de soulignement (_), des parenthèses [()] et des points (.).

    Cet exemple utilise Hybrid-Arc-RG-cluster.
  5. Connectez le cluster Kubernetes précédemment créé à Azure Arc :

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

    Pour plus d’informations, consultez les ressources suivantes :

  6. Validez la connexion entre Azure Arc et votre cluster Kubernetes :

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

    Si la sortie indique que la valeur de la propriété provisioningState n’est pas définie sur Succeeded, réexécutez la commande après une minute.

    Pour plus d’informations, consultez les ressources suivantes :

Créer un espace de travail Azure Log Analytics

Vous pouvez créer un espace de travail Azure Log Analytics facultatif (mais recommandé) qui assure l’accès aux journaux d’activité des applications qui s’exécutent dans votre cluster Kubernetes avec Azure Arc.

  1. Définissez la variable d’environnement suivante pour donner un nom à votre espace de travail Log Analytics :

    WORKSPACE_NAME="$GROUP_NAME-workspace"
    
    Paramètre Obligatoire Value Description
    WORKSPACE_NAME Oui <Azure-Arc-cluster-resource-group-name>-workspace Nom de l’espace de travail Log Analytics à utiliser. Ce nom doit être unique dans le groupe de ressources.

    Cet exemple utilise Hybrid-Arc-RG-workspace.
  2. Créez l’espace de travail Log Analytics :

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

    Pour plus d’informations, consultez les ressources suivantes :

  3. Récupérez l’ID encodé en base64 et la clé partagée pour votre espace de travail Log Analytics. Vous avez besoin de ces valeurs pour une étape ultérieure.

    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))
    
    Paramètre Obligatoire Value Description
    LOG_ANALYTICS_WORKSPACE_ID Oui ID de l’espace de travail pour Log Analytics.
    LOG_ANALYTICS_WORKSPACE_ID_ENC Oui ID de l’espace de travail Log Analytics encodé en base64.
    LOG_ANALYTICS_KEY Oui Clé partagée de l’espace de travail Log Analytics.
    LOG_ANALYTICS_ENC Oui Clé partagée de l’espace de travail Log Analytics encodée en base64.

    Pour plus d’informations, consultez les ressources suivantes :

Créer et installer l’extension Azure Container Apps

À présent, créez et installez l’extension Azure Container Apps de votre cluster Kubernetes avec Azure Arc en tant que ressource locale.

Important

Si vous choisissez d’effectuer un déploiement sur AKS sur Azure Stack HCI, vous devez configurer HAProxy ou un équilibreur de charge personnalisé avant de créer et d’installer l’extension Azure Container Apps.

  1. Définissez les variables d’environnements sur les valeurs suivantes :

    EXTENSION_NAME="logicapps-aca-extension"
    NAMESPACE="logicapps-aca-ns"
    CONNECTED_ENVIRONMENT_NAME="<connected-environment-name>"
    
    Paramètre Obligatoire Value Description
    EXTENSION_NAME Oui logicapps-aca-extension Nom de l’extension Azure Container Apps.
    NAMESPACE Oui logicapps-aca-ns Espace de noms de cluster dans lequel approvisionner les ressources.
    CONNECTED_ENVIRONMENT_NAME Oui <connected-environment-name> Nom unique à utiliser pour l’environnement connecté Azure Container Apps. Ce nom fait partie du nom de domaine de l’application logique Standard que vous créez, déployez et hébergez dans l’environnement connecté Azure Container Apps.
  2. Créez et installez l’extension avec Log Analytics activé pour votre cluster Kubernetes avec Azure Arc. Vous ne pouvez pas ajouter Log Analytics à l’extension ultérieurement.

    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}"
    
    Paramètre Obligatoire Description
    Microsoft.CustomLocation.ServiceAccount Oui Compte de service créé pour l’emplacement personnalisé.

    Recommandation : définissez la valeur par défaut.
    appsNamespace Oui Espace de noms utilisé pour créer les définitions et révisions d’application. Cette valeur doit correspondre à l’espace de noms de version de l’extension Azure Container Apps.
    clusterName Oui Nom de l’environnement Kubernetes de l’extension Azure Container Apps à créer pour l’extension.
    keda.enabled Oui Active Kubernetes Event-driven Autoscaling (KEDA). Cette valeur est requise et doit être définie sur true.
    keda.logicAppsScaler.enabled Oui Active le scaler Azure Logic Apps dans KEDA. Cette valeur est requise et doit être définie sur true.
    keda.logicAppsScaler.replicaCount Oui Nombre initial de scalers d’application logique à démarrer. Par défaut, cette valeur est définie sur 1. S’il n’existe aucune application logique dans l’environnement, cette valeur augmente ou descend jusqu’à 0.
    containerAppController.api.functionsServerEnabled Oui Active le service responsable de la conversion des déclencheurs de flux de travail d’application logique en objets mis à l’échelle KEDA. Cette valeur est requise et doit être définie sur true.
    envoy.externalServiceAzureILB Oui Détermine si Envoy agit comme un équilibreur de charge interne ou un équilibreur de charge public.

    - true : Envoy agit comme un équilibreur de charge interne. Le runtime Azure Logic Apps est accessible uniquement au sein d’un réseau privé.

    - false : Envoy agit comme un équilibreur de charge public. Le runtime Azure Logic Apps est accessible sur le réseau public.
    functionsProxyApiConfig.enabled Oui Active le service proxy qui facilite l’accès de l’API au runtime Azure Logic Apps à partir du portail Azure. Cette valeur est requise et doit être définie sur true.
    envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group Oui, mais uniquement lorsque le cluster sous-jacent est un cluster Azure Kubernetes Service. Nom du groupe de ressources dans lequel se trouve le cluster Kubernetes.
    logProcessor.appLogs.destination Non Destination à utiliser pour les journaux d’application. La valeur est log-analytics ou none, ce qui désactive la journalisation.
    logProcessor.appLogs.logAnalyticsConfig.customerId Oui, mais uniquement lorsque logProcessor.appLogs.destination est défini sur log-analytics. ID de l’espace de travail Log Analytics encodé en base64. Assurez-vous de configurer ce paramètre en tant que paramètre protégé.
    logProcessor.appLogs.logAnalyticsConfig.sharedKey Oui, mais uniquement lorsque logProcessor.appLogs.destination est défini sur log-analytics. Clé partagée de l’espace de travail Log Analytics encodée en base64. Assurez-vous de configurer ce paramètre en tant que paramètre protégé.

    Pour plus d’informations, consultez les ressources suivantes :

  3. Enregistrez la valeur ID de l’extension Azure Container Apps pour l’utiliser ultérieurement :

    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)
    
    Paramètre Obligatoire Value Description
    EXTENSION_ID Oui <extension-ID> ID de l’extension Azure Container Apps.

    Pour plus d’informations, consultez les ressources suivantes :

  4. Avant de poursuivre, attendez que l’extension soit entièrement installée. Pour faire attendre votre session de terminal jusqu’à ce que l’opération soit terminée, exécutez la commande suivante :

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

    Pour plus d’informations, consultez les ressources suivantes :

Créer un emplacement personnalisé

  1. Définissez les variables d’environnements sur les valeurs indniquées :

    CUSTOM_LOCATION_NAME="my-custom-location"
    
    CONNECTED_CLUSTER_ID=$(az connectedk8s show \
       --resource-group $GROUP_NAME \
       --name $CONNECTED_CLUSTER_NAME \
       --query id \
       --output tsv)
    
    Paramètre Obligatoire Value Description
    CUSTOM_LOCATION_NAME Oui my-custom-location Nom à utiliser pour votre emplacement personnalisé.
    CONNECTED_CLUSTER_ID Oui <Azure-Arc-cluster-ID> ID du cluster Kubernetes avec Azure Arc.

    Pour plus d’informations, consultez les ressources suivantes :

  2. Créez l’emplacement personnalisé :

    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
    

    Remarque

    Si vous rencontrez des problèmes pour créer un emplacement personnalisé dans votre cluster, vous devrez peut-être activer la fonctionnalité d’emplacement personnalisé pour votre cluster. Cette étape est nécessaire si vous êtes connecté à Azure CLI avec un principal de service ou au moyen d’un utilisateur Microsoft Entra disposant d’autorisations restreintes sur la ressource de cluster.

    Pour plus d’informations, consultez les ressources suivantes :

  3. Vérifiez que l’emplacement personnalisé a bien été créé :

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

    Si la sortie indique que la valeur de la propriété provisioningState n’est pas définie sur Succeeded, réexécutez la commande après une minute.

  4. Enregistrez l’ID d’emplacement personnalisé à utiliser dans une étape ultérieure :

    CUSTOM_LOCATION_ID=$(az customlocation show \
       --resource-group $GROUP_NAME \
       --name $CUSTOM_LOCATION_NAME \
       --query id \
       --output tsv)
    
    Paramètre Obligatoire Value Description
    CUSTOM_LOCATION_ID Oui <my-custom-location-ID> ID de votre emplacement personnalisé.

    Pour plus d’informations, consultez les ressources suivantes :

Créez l’environnement connecté Azure Container Apps

À présent, créez votre environnement connecté Azure Container Apps pour l’application logique Standard à utiliser.

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

Pour plus d’informations, consultez les ressources suivantes :

Créer un fournisseur de stockage SQL Server

Les flux de travail d’application logique Standard du modèle de déploiement hybride utilisent une base de données SQL comme fournisseur de stockage pour les données utilisées par les flux de travail et le runtime Azure Logic Apps (par exemple, l’historique des exécutions de flux de travail, les entrées, les sorties, etc.).

Votre base de données SQL nécessite une connectivité entrante et sortante avec votre cluster Kubernetes. Ces ressources doivent donc se trouver dans le même réseau.

  1. Configurez l’une des éditions suivantes de SQL Server :

    Pour plus d’informations, consultez Configurer le stockage de base de données SQL pour les flux de travail d’application logique Standard.

  2. Vérifiez que votre base de données SQL se trouve dans le même réseau que votre cluster Kubernetes avec Arc et votre partage de fichiers SMB.

  3. Recherchez et enregistrez les chaînes de connexion pour la base de données SQL que vous avez créée.

Configurer le partage de fichiers SMB pour le stockage d’artefacts

Pour stocker des artefacts (comme des mappages, des schémas et des assemblies) pour votre ressource d’application logique (application conteneur), vous devez disposer d’un partage de fichiers qui utilise le protocole SMB (Server Message Block).

  • Vous avez besoin d’un accès administrateur pour configurer votre partage de fichiers SMB.

  • Votre partage de fichiers SMB doit se trouver dans le même réseau que votre cluster Kubernetes et votre base de données SQL.

  • Votre partage de fichiers SMB nécessite une connectivité entrante et sortante avec votre cluster Kubernetes. Si vous avez activé des restrictions de réseau virtuel Azure, vérifiez que le partage de fichiers se trouve dans le même réseau virtuel que votre cluster Kubernetes ou dans un réseau virtuel associé.

  • N’utilisez pas le même chemin de partage de fichiers pour plusieurs applications logiques.

  • Vous pouvez utiliser des partages de fichiers SMB distincts pour chaque application logique. Sinon, vous pouvez utiliser des dossiers différents dans le même partage de fichiers SMB, tant que ces dossiers ne sont pas imbriqués. Par exemple, vous ne devez pas utiliser une application logique qui utilise le chemin racine lorsqu’une autre application logique utilise un sous-dossier.

  • Pour déployer votre application logique avec Visual Studio Code, assurez-vous que l’ordinateur local avec Visual Studio Code peut accéder au partage de fichiers.

Configurer un partage de fichiers SMB sur Windows

Vérifiez que votre partage de fichiers SMB se trouve dans le même réseau virtuel que le cluster où vous montez votre partage de fichiers.

  1. Dans Windows, accédez au dossier que vous souhaitez partager, ouvrez le menu contextuel et sélectionnez Propriétés.

  2. Sous l’onglet Partage, sélectionnez Partager.

  3. Dans la fenêtre qui s’ouvre, sélectionnez une personne que vous souhaitez autoriser à accéder au partage de fichiers.

  4. Sélectionnez Partager, puis copiez le lien du chemin d’accès réseau.

    Si votre ordinateur local n’est pas connecté à un domaine, remplacez le nom de l’ordinateur dans le chemin d’accès réseau par l’adresse IP.

  5. Enregistrez l’adresse IP à utiliser ultérieurement comme nom d’hôte.

Configurer Azure Files comme partage de fichiers SMB

Vous pouvez aussi utiliser Azure Files comme partage de fichiers SMB à des fins de test. Vérifiez que votre partage de fichiers SMB se trouve dans le même réseau virtuel que le cluster où vous montez votre partage de fichiers.

  1. Créez un compte de stockage Azure dans le portail Azure.

  2. Dans le menu Compte de stockage, sous Stockage des données, sélectionnez Partages de fichiers.

  3. Dans la barre d’outils de la page Partages de fichiers, sélectionnez + Partage de fichiers et indiquez les informations requises pour votre partage de fichiers SMB.

  4. Une fois le déploiement terminé, sélectionnez Accéder à la ressource.

  5. Le cas échéant, sélectionnez Vue d’ensemble dans le menu Partage de fichiers.

  6. Dans la barre d’outils de la page Vue d’ensemble, sélectionnez Se connecter. Dans le volet Connexion, sélectionnez Afficher le script.

  7. Copiez et enregistrez les valeurs suivantes en lieu sûr pour les utiliser ultérieurement :

    • Nom d’hôte du partage de fichiers (par exemple, mystorage.file.core.windows.net)
    • Chemin d’accès au partage de fichiers
    • Nom d’utilisateur sans localhost\
    • Mot de passe
  8. Dans la barre d’outils de la page Vue d’ensemble, sélectionnez + Ajouter un répertoire et donnez un nom au répertoire. Enregistrez ce nom pour l’utiliser ultérieurement.

Vous avez besoin de ces valeurs enregistrées pour renseigner les informations de partage de fichiers SMB lorsque vous déploierez votre ressource d’application logique.

Pour plus d’informations, consultez Créer un partage de fichiers Azure SMB.

Confirmer la connexion du partage de fichiers SMB

Pour tester la connexion entre votre cluster Kubernetes avec Arc et votre partage de fichiers SMB (et pour vérifier que votre partage de fichiers est correctement configuré), procédez comme suit :

  • Si votre partage de fichiers SMB ne se trouve pas sur le même cluster, vérifiez que l’opération ping fonctionne depuis le cluster Kubernetes avec Arc vers la machine virtuelle sur laquelle se trouve le partage de fichiers SMB. Pour vérifier que l’opération ping fonctionne, procédez comme suit :

    1. Dans votre cluster Kubernetes avec Arc, créez un pod de test qui exécute l’une des images Linux (comme BusyBox ou Ubuntu).

    2. Accédez au conteneur de votre pod et installez le package iputils-ping en exécutant les commandes Linux suivantes :

      apt-get update
      apt-get install iputils-ping
      
  • Pour vérifier que le partage de fichiers SMB est correctement configuré, procédez comme suit :

    1. Dans le pod de test avec la même image Linux, créez un dossier ayant pour chemin d’accès mnt/smb.

    2. Accédez au répertoire racine ou de base contenant le dossier mnt.

    3. Exécutez la commande suivante :

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

  • Pour vérifier que les artefacts sont correctement chargés, connectez-vous au chemin du partage de fichiers SMB. Vérifiez que les fichiers d’artefact se trouvent dans le dossier qui convient, à savoir que vous avez défini pendant le déploiement.

Étapes suivantes

Créer des flux de travail d’application logique Standard pour le déploiement hybride sur votre propre infrastructure