Partager via


Azure Container Apps sur Azure Arc

Vous pouvez exécuter des applications conteneurisées sur un cluster AKS compatible Azure Arc ou AKS sur Azure Local.

L’exécution dans un cluster Kubernetes avec Azure Arc permet :

  • Aux développeurs de profiter des fonctionnalités de Container Apps
  • Les administrateurs informatiques peuvent maintenir la conformité de l’entreprise en hébergeant Container Apps sur l’infrastructure interne.

Découvrez comment configurer votre cluster Kubernetes pour Container Apps dans Configurer un cluster Kubernetes avec Azure Arc pour exécuter Azure Container Apps

Lorsque vous configurez votre cluster, vous effectuez ces actions :

Limites

Les limitations suivantes s’appliquent à Azure Container Apps sur Kubernetes avec Azure Arc.

Limite Détails
Régions Azure prises en charge Australie Est, USA Centre, Asie Est, USA Est, USA Centre Nord, Asie Sud-Est, Suède Centre, Royaume-Uni Sud, Europe Ouest, USA Ouest
Exigence de mise en réseau du cluster Doit prendre en charge le type de service LoadBalancer
Exigence concernant le système d’exploitation des nœuds Linux uniquement.
Fonctionnalité : identités managées Non disponible
Fonctionnalité : extraire des images d’ACR avec une identité managée Non disponible (dépend d’identités managées)
Fonctionnalité : Stockage de fichiers Azure Le pilote SMB (>= v1.18.0) doit être installé avant d’utiliser le stockage SMB du fichier Azure
Journaux d’activité Log Analytics doit être configuré avec l’extension de cluster, pas par application

Les fonctionnalités suivantes sont prises en charge :

  • Étiquettes
  • Métriques
  • Authentification simple
  • Flux de journal
  • Résilience
  • Domaines personnalisés
  • Travaux Container Apps
  • Gestion des révisions
  • Console de conteneur d’application

Important

Si vous effectuez un déploiement sur AKS sur Azure Local, assurez-vous d’avoir configuré HAProxy comme équilibreur de charge avant de tenter d’installer l’extension. En outre, vérifiez que CoreDNS personnalisé est activé.

Pour plus d’informations sur l’activation d’AKS custom CoreDNS, consultez la az containerapp arc documentation CLI.

Ressources créées par l’extension Container Apps

Lorsque l’extension Container Apps est installée sur le cluster Kubernetes avec Azure Arc, plusieurs ressources sont créées dans l’espace de noms de mise en production spécifié. Ces ressources permettent à votre cluster d’être une extension du fournisseur de ressources Microsoft.App pour prendre en charge la gestion et l’exploitation de vos applications.

Si vous le souhaitez, vous pouvez choisir que l’extension installe KEDA pour la mise à l’échelle pilotée par des événements. Toutefois, une seule installation KEDA est autorisée sur le cluster. Si vous disposez d’une installation existante, désactivez l’installation KEDA lors de l’installation de l’extension de cluster.

Le tableau suivant décrit le rôle de chaque révision créée pour vous :

Pod Descriptif Nombre d’instances UC Mémoire Type
<extensionName>-k8se-activator Utilisé dans le cadre du pipeline de mise à l’échelle 2 100 milliCPU 500 Mo Ensemble de répliques
<extensionName>-k8se-billing Génération d’enregistrements de facturation 3 100 mCPU 100 Mo Ensemble de répliques
<extensionName>-k8se-containerapp-controller Pod opérateur principal qui crée des ressources sur le cluster et gère l’état des composants. 2 100 mCPU 1 Go Ensemble de répliques
<extensionName>-k8se-envoy Couche proxy frontale pour toutes les demandes http de plan de données. Elle achemine le trafic entrant vers les applications correctes. 3 1 cœur 1 536 Mo Ensemble de répliques
<extensionName>-k8se-envoy-controller Opérateur, qui génère la configuration Envoy 2 200 millicpu 500 Mo Ensemble de répliques
<extensionName>-k8se-event-processor Autre destination de routage pour aider les applications qui ont été mises à l’échelle zéro alors que le système reçoit la première instance disponible. 2 100 milliCPU 500 Mo Ensemble de répliques
<extensionName>-k8se-http-scaler Surveille le volume de demandes entrantes pour fournir des informations de mise à l’échelle à KEDA. 1 100 millicpu (1000ème d'une unité CPU) 500 Mo Ensemble de répliques
<extensionName>-k8se-keda-cosmosdb-scaler Outil de mise à l’échelle KEDA Cosmos DB 1 10 m 128 Mo Ensemble de répliques
<extensionName>-k8se-keda-metrics-apiserver Serveur de métriques KEDA 1 1 cœur 1 000 Mo Ensemble de répliques
<extensionName>-k8se-keda-operator Met à l’échelle les charges de travail entre 0/1 et N instances 1 100 millicpu 500 Mo Ensemble de répliques
<extensionName>-k8se-log-processor Recueille les journaux d’applications et d’autres composants, puis les envoie à Log Analytics. 2 200 millicpu 500 Mo DaemonSet
<extensionName>-k8se-mdm Agent de journaux et de métriques 2 500 millicpu 500 Mo Ensemble de répliques
dapr-metrics Pod de métriques Dapr 1 100 millicpu 500 Mo Ensemble de répliques
dapr-operator Gère les mises à jour des composants et les points de terminaison de service pour Dapr 1 100 millicpu 500 Mo Ensemble de répliques
dapr-placement-server Utilisé uniquement pour les Acteurs – Crée des tables de mappage qui mappent les instances d’acteurs à des pods 1 100 millicpu 500 Mo StatefulSet
dapr-sentry Gère mTLS entre les services et agit en tant qu’autorité de certification 2 800 mCPU 200 Mo Ensemble de répliques

FAQ sur Azure Container Apps sur Azure Arc

Quelles fonctionnalités Container Apps sont prises en charge ?

Consultez le portail pour obtenir la liste la plus à jour. Les fonctionnalités non prises en charge sont grisées dans le portail.

Les identités managées sont-elles prises en charge ?

Les identités managées ne sont pas prises en charge. Les applications ne peuvent pas être affectées à des identités managées lors de l’exécution dans Azure Arc. Si votre application a besoin d’une identité pour travailler avec une autre ressource Azure, envisagez d’utiliser un principal de service d’application à la place.

Existe-t-il des limites de mise à l’échelle ?

Toutes les applications déployées avec Azure Container Apps sur Kubernetes avec Azure Arc peuvent être mises à l’échelle dans les limites du cluster Kubernetes sous-jacent. Si le cluster ne dispose pas des ressources de calcul disponibles (principalement du processeur et de la mémoire), les applications se mettent à l’échelle au nombre d’instances de l’application que Kubernetes peut planifier avec la ressource disponible.

Quels journaux sont collectés ?

Les journaux des composants système et de vos applications sont écrits dans une sortie standard.

Il est possible de collecter les deux types de journaux à des fins d’analyse à l’aide d’outils Kubernetes standard. Vous pouvez également configurer l’extension de cluster d’environnement d’application avec un espace de travail Log Analytics afin d’envoyer tous les journaux à cet espace de travail.

Par défaut, les journaux des composants système sont envoyés à l’équipe Azure. Les journaux des applications ne sont pas envoyés. Vous pouvez empêcher le transfert de ces journaux en définissant logProcessor.enabled=false comme paramètre de configuration d’extension. Ce paramètre de configuration désactive le transfert de l’application vers votre espace de travail Log Analytics. La désactivation du processeur de journal peut affecter le temps nécessaire pour les cas de support, et vous serez invité à collecter les journaux de la sortie standard via d’autres moyens.

Que dois-je faire si une erreur d’inscription du fournisseur s’affiche ?

Lorsque vous créez une ressource d’environnement connecté Azure Container Apps, certains abonnements peuvent voir apparaître l’erreur « Aucun fournisseur de ressources inscrit trouvé ». Les détails de l’erreur peuvent inclure un ensemble d’emplacements et de versions d’API considérés comme valides. Si ce message d’erreur est retourné, l’abonnement doit être réinscrit avec le fournisseur Microsoft.App. La réinscription du fournisseur n’a aucun effet sur les applications ou API existantes. Pour vous réinscrire, dans Azure CLI, exécutez la commande az provider register --namespace Microsoft.App --wait. Réessayez ensuite la commande d’environnement connecté.

Comment puis-je installer SMB Driver ?

Vous pouvez installer le pilote SMB à l’aide de la commande Helm suivante. Pour obtenir des méthodes d’installation supplémentaires, consultez Installer le pilote sur un cluster Kubernetes.

helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.18.0

L’extension peut-elle être installée sur des nœuds Windows ?

Non, l’extension ne peut pas être installée sur des nœuds Windows. L’extension prend en charge l’installation sur les nœuds Linuxuniquement.

Puis-je déployer l’extension Container Apps sur un cluster Arm64 ?

Non. Les clusters arm64 ne sont pas pris en charge.