Tirage (pull) d’image Azure Container Apps avec une identité managée
Vous pouvez tirer des images à partir de référentiels privés dans Microsoft Azure Container Registry en utilisant des identités managées pour l’authentification afin d’éviter l’utilisation d’informations d’identification d’administration.
Vous pouvez utiliser une identité gérée attribuée par l'utilisateur ou par le système pour vous authentifier auprès d'Azure Container Registry.
- Avec une identité managée affectée par l’utilisateur, vous créez et gérez l’identité en dehors d’Azure Container Apps. Elle peut être affectée à plusieurs ressources Azure, dont Azure Container Apps.
- Avec une identité managée affectée par le système, l’identité est créée et gérée par Azure Container Apps. L’identité est liée à votre application conteneur et supprimée lorsque votre application est supprimée.
- Si possible, vous devez utiliser une identité managée affectée par l’utilisateur pour extraire des images.
Container Apps recherche une nouvelle version de l’image chaque fois qu’un conteneur est démarré. Dans la terminologie Docker ou Kubernetes, Container Apps définit la stratégie d’extraction d’images de chaque conteneur sur always
.
Cet article explique comment utiliser le portail Azure pour configurer votre application conteneur afin d’utiliser des identités managées affectées par l’utilisateur et par le système pour extraire des images à partir de référentiels Azure Container Registry privés.
Identité managée affectée par l’utilisateur
Les étapes suivantes décrivent le processus de configuration de votre application conteneur pour utiliser une identité managée affectée par l’utilisateur afin d’extraire des images à partir de référentiels Azure Container Registry privés.
- Créer une application conteneur avec une image publique.
- Ajouter l’identité managée affectée par l’utilisateur à l’application conteneur.
- Créer une révision d’application conteneur avec une image privée et l’identité managée affectée par l’utilisateur.
Prérequis
Compte Azure avec un abonnement actif.
- Si vous n’en avez pas, vous pouvez en créer un gratuitement.
Azure Container Registry privé contenant une image que vous souhaitez extraire.
Votre registre de conteneurs Azure Container Registry doit autoriser les jetons d’audience ARM pour l’authentification afin d’utiliser l’identité managée pour extraire des images. Utilisez la commande suivante pour vérifier si les jetons ARM sont autorisés à accéder à votre ACR :
az acr config authentication-as-arm show -r <REGISTRY>
Si les jetons ARM ne sont pas autorisés, vous pouvez les autoriser avec la commande suivante :
az acr config authentication-as-arm update -r <REGISTRY> --status enabled
Créez une identité managée affectée par l’utilisateur. Pour plus d’informations, consultez Créer une identité managée affectée par l’utilisateur.
Créer une application de conteneur
Suivez les étapes suivantes pour créer une application conteneur avec l’image de démarrage rapide par défaut.
Accédez à la page d’accueil du portail Azure.
Dans la barre de recherche supérieure, recherchez Applications conteneur.
Dans les résultats de la recherche, sélectionnez Applications conteneur.
Cliquez sur le bouton Créer.
Sous l’onglet Informations de base, effectuez les actions suivantes.
Setting Action Abonnement Sélectionnez votre abonnement Azure. Groupe de ressources Sélectionnez un groupe de ressources existant ou créez-en un. Nom de l’application conteneur Entrez un nom d’application conteneur. Lieu Sélectionnez un emplacement. Créer un environnement d’application conteneur Sélectionnez ou créez un environnement. Au bas de la page Créer une application conteneur, sélectionnez le bouton Vérifier + créer.
Sélectionnez le bouton Créer au bas de la fenêtre Créer une application conteneur.
Patientez quelques minutes jusqu’à ce que le déploiement de l’application conteneur soit terminé. Une fois le déploiement effectué, sélectionnez Accéder à la ressource.
Ajouter l’identité managée affectée par l’utilisateur
- Dans le volet gauche, sélectionnez Identité.
- Sélectionnez l’onglet Affecté(e) par l’utilisateur.
- Sélectionnez le bouton Ajouter une identité managée affectée par l’utilisateur.
- Sélectionnez votre abonnement.
- Sélectionnez l’identité que vous avez créée.
- Sélectionnez Ajouter.
Créez une révision d’application conteneur
Créer une révision d’application conteneur avec une image privée et l’identité managée affectée par le système.
Dans le menu de gauche, sélectionnez Gestion des révisions.
Sélectionnez Créer une nouvelle révision.
Dans la table Image conteneur, sélectionnez l’image conteneur.
Dans la boîte de dialogue Modifier un conteneur, entrez les informations.
Champ Action Nom Entrez le nom du conteneur. Source de l’image Sélectionnez Azure Container Registry. Authentification Sélectionnez Identité managée. Identité Dans le menu déroulant, sélectionnez l’identité que vous avez créée. Registre Dans le menu déroulant, sélectionnez le registre que vous souhaitez utiliser. Image Entrez le nom de l’image que vous voulez utiliser. Étiquette d’image Entrez le nom et l’étiquette de l’image que vous souhaitez extraire. Remarque
Si les informations d’identification d’administration ne sont pas activées sur votre registre Azure Container Registry, un message d’avertissement s’affiche et vous devez entrer manuellement les informations de nom et d’étiquette de l’image.
Sélectionnez Enregistrer.
Dans la page Créer et déployer une nouvelle révision, sélectionnez Créer.
Une nouvelle révision sera créée et déployée. Le portail tentera automatiquement d’ajouter le rôle acrpull
à l’identité managée affectée par l’utilisateur. Si le rôle n’est pas ajouté, vous pouvez l’ajouter manuellement.
Vous pouvez vérifier que le rôle a été ajouté en vérifiant l’identité à partir du volet Identité de la page de l’application conteneur.
- Dans le volet gauche, sélectionnez Identité.
- Sélectionnez l’onglet Affecté(e) par l’utilisateur.
- Sélectionnez l’identité managée affectée par l’utilisateur.
- Sélectionnez Attributions de rôles Azure dans le menu de la page des ressources d’identité managée.
- Vérifiez que le rôle
acrpull
est attribué à l’identité managée affectée par l’utilisateur.
Créer une application conteneur avec une image privée
Si vous ne souhaitez pas commencer par créer une application conteneur avec une image publique, vous pouvez également effectuer les opérations suivantes.
- Créez une identité managée affectée par l’utilisateur.
- Ajoutez le rôle
acrpull
à l’identité managée affectée par l’utilisateur. - Créer une application conteneur avec une image privée et l’identité managée affectée par l’utilisateur.
Cette méthode est typique dans les scénarios d’infrastructure en tant que code (IaC).
Nettoyer les ressources
Si vous n’envisagez pas de continuer à utiliser cette application, vous pouvez supprimer l’instance Azure Container Apps et tous les services associés en supprimant le groupe de ressources.
Avertissement
La suppression du groupe de ressources aura pour effet de supprimer toutes les ressources qu’il contient. Si vous avez d’autres ressources dans le groupe, elles seront également supprimées. Si vous souhaitez conserver les ressources, vous pouvez supprimer l’instance et l’environnement d’application conteneur.
- Dans la section Vue d’ensemble, sélectionnez votre groupe de ressources.
- Sélectionnez le bouton Supprimer un groupe de ressources en haut de la Vue d’ensemble du groupe de ressources.
- Dans la boîte de dialogue de confirmation, entrez le nom du groupe de ressources.
- Sélectionnez Supprimer. Le processus de suppression du groupe de ressources peut prendre quelques minutes.
Identité managée affectée par le système
La méthode de configuration d’une identité managée affectée par le système dans le portail Azure est identique à la méthode de configuration d’une identité managée affectée par l’utilisateur. La seule différence est que vous n’avez pas besoin de créer une identité managée affectée par l’utilisateur. Au lieu de cela, l’identité managée affectée par le système est créée lorsque vous créez l’application conteneur.
La méthode de configuration d’une identité managée affectée par le système dans le portail Azure est la suivante :
- Créer une application conteneur avec une image publique.
- Créer une révision d’application conteneur avec une image privée et l’identité managée affectée par le système.
Prérequis
- Compte Azure avec un abonnement actif.
- Si vous n’en avez pas, vous pouvez en créer un gratuitement.
- Azure Container Registry privé contenant une image que vous souhaitez extraire. Consultez Créer un Azure Container Registry privé.
Créer une application de conteneur
Pour créer une application conteneur avec l’image de démarrage rapide par défaut, procédez comme suit.
Accédez à la page d’accueil du portail Azure.
Dans la barre de recherche supérieure, recherchez Applications conteneur.
Dans les résultats de la recherche, sélectionnez Applications conteneur.
Cliquez sur le bouton Créer.
Sous l’onglet Informations de base, effectuez les actions suivantes.
Setting Action Abonnement Sélectionnez votre abonnement Azure. Groupe de ressources Sélectionnez un groupe de ressources existant ou créez-en un. Nom de l’application conteneur Entrez un nom d’application conteneur. Lieu Sélectionnez un emplacement. Créer un environnement d’application conteneur Sélectionnez ou créez un environnement. Au bas de la page Créer une application conteneur, sélectionnez le bouton Vérifier + créer.
Au bas de la page Créer une application conteneur, sélectionnez le bouton Créer.
Patientez quelques minutes jusqu’à ce que le déploiement de l’application conteneur soit terminé. Une fois le déploiement effectué, sélectionnez Accéder à la ressource.
Modifier et déployer une révision
Modifiez le conteneur pour utiliser l’image de votre Azure Container Registry privé et configurez l’authentification pour utiliser l’identité affectée par le système.
Dans le menu situé à gauche, sélectionnez Conteneurs.
Sélectionnez Modifier et déployer.
Dans la liste, sélectionnez le conteneur simple-hello-world-container.
Setting Action Nom Entrez le nom de l’application conteneur. Source de l’image Sélectionnez Azure Container Registry. Authentification Sélectionnez Identité managée. Identité Sélectionnez Affectée par le système. Registre Entrez le nom du registre. Image Entrer le nom de l’image. Balise d’image Entrez l’étiquette. Remarque
Si les informations d’identification d’administration ne sont pas activées sur votre registre Azure Container Registry, un message d’avertissement s’affiche et vous devez entrer manuellement les informations de nom et d’étiquette de l’image.
Sélectionnez Enregistrer au bas de la page.
En bas de la page Créer et déployer une nouvelle révision, sélectionnez Créer.
Après quelques minutes, dans la page Gestion des révisions, sélectionnez Actualiser pour afficher la nouvelle révision.
Une nouvelle révision sera créée et déployée. Le portail tentera automatiquement d’ajouter le rôle acrpull
à l’identité managée affectée par le système. Si le rôle n’est pas ajouté, vous pouvez l’ajouter manuellement.
Vous pouvez vérifier que le rôle a été ajouté en vérifiant l’identité dans le volet Identité de la page de l’application conteneur.
- Dans le volet gauche, sélectionnez Identité.
- Sélectionnez l’onglet Affectée par le système.
- Sélection d’Attributions de rôles Azure.
- Vérifiez que le rôle
acrpull
est attribué à l’identité managée affectée par le système.
Nettoyer les ressources
Si vous n’envisagez pas de continuer à utiliser cette application, vous pouvez supprimer l’instance Azure Container Apps et tous les services associés en supprimant le groupe de ressources.
Avertissement
La suppression du groupe de ressources aura pour effet de supprimer toutes les ressources qu’il contient. Si vous avez d’autres ressources dans le groupe, elles seront également supprimées. Si vous souhaitez conserver les ressources, vous pouvez supprimer l’instance et l’environnement d’application conteneur.
- Dans la section Vue d’ensemble, sélectionnez votre groupe de ressources.
- Sélectionnez le bouton Supprimer un groupe de ressources en haut de la Vue d’ensemble du groupe de ressources.
- Dans la boîte de dialogue de confirmation, entrez le nom du groupe de ressources.
- Sélectionnez Supprimer. Le processus de suppression du groupe de ressources peut prendre quelques minutes.
Cet article explique comment configurer votre application conteneur pour utiliser des identités managées afin d’extraire des images d’un référentiel Azure Container Registry privé à l’aide d’Azure CLI et d’Azure PowerShell.
Prérequis
Logiciel requis | Description |
---|---|
Compte Azure | Compte Azure avec un abonnement actif. Si vous n’en avez pas, vous pouvez en créer un gratuitement. |
Azure CLI | Si vous utilisez Azure CLI, installez Azure CLI sur votre ordinateur local. |
Azure PowerShell | Si vous utilisez PowerShell, installez Azure PowerShell sur votre ordinateur local. Vérifiez que la dernière version du module Az.App est installée en exécutant la commande Install-Module -Name Az.App . |
Azure Container Registry | Azure Container Registry privé contenant une image que vous souhaitez extraire. Démarrage rapide : Créer un registre de conteneurs privé avec Azure CLI ou Démarrage rapide : Créer un registre de conteneurs privé avec Azure PowerShell |
Programme d’installation
Pour vous connecter à Azure à partir de l’interface CLI, exécutez la commande suivante et suivez les invites pour procéder à l’authentification.
az login
Pour être sûr d’utiliser la dernière version de l’interface CLI, exécutez la commande de mise à niveau.
az upgrade
Ensuite, installez ou mettez à jour l’extension Azure Container Apps pour l’interface CLI.
Si vous recevez des erreurs concernant des paramètres manquants lorsque vous exécutez des commandes az containerapp
dans Azure CLI ou les cmdlets du module Az.App
dans Azure PowerShell, assurez-vous que la dernière version de l’extension Azure Container Apps est installée.
az extension add --name containerapp --upgrade
Remarque
À compter de mai 2024, les extensions Azure CLI n’activent plus les fonctionnalités en préversion par défaut. Pour accéder aux fonctionnalités en préversion de Container Apps, installez l’extension Container Apps avec --allow-preview true
.
az extension add --name containerapp --upgrade --allow-preview true
Maintenant que la version actuelle de l’extension ou du module est installée, inscrivez les espaces de noms Microsoft.App
et Microsoft.OperationalInsights
.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Ensuite, définissez les variables d’environnement suivantes. Remplacez les espaces réservés entourés de <>
par vos valeurs.
RESOURCE_GROUP="<YOUR_RESOURCE_GROUP_NAME>"
LOCATION="<YOUR_LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<YOUR_ENVIRONMENT_NAME>"
REGISTRY_NAME="<YOUR_REGISTRY_NAME>"
CONTAINERAPP_NAME="<YOUR_CONTAINERAPP_NAME>"
IMAGE_NAME="<YOUR_IMAGE_NAME>"
Si vous avez déjà un groupe de ressources, ignorez cette étape. Autrement, sélectionnez un groupe de ressources.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
Créer un environnement d’application conteneur
Si l’environnement n’existe pas, exécutez la commande suivante :
Pour créer l’environnement, exécutez la commande suivante :
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location $LOCATION
Passez à la section suivante pour configurer l’identité managée affectée par l’utilisateur, ou allez à la section Identité managée affectée par le système.
Identité managée affectée par l’utilisateur
Pour configurer l’identité managée affectée par l’utilisateur, procédez comme suit :
- Créez une identité managée affectée par l’utilisateur.
- Si vous utilisez PowerShell, attribuez un rôle
acrpull
pour votre registre à l’identité managée. Azure CLI effectue automatiquement cette affectation. - Créez une application conteneur avec l’image à partir du registre privé authentifié avec l’identité managée affectée par l’utilisateur.
Créer une identité managée attribuée par l’utilisateur
Créez une identité managée affectée par l’utilisateur. Avant d’exécuter la commande suivante, remplacez les <ESPACES RÉSERVÉS> par le nom de votre identité managée.
IDENTITY="<YOUR_IDENTITY_NAME>"
az identity create \
--name $IDENTITY \
--resource-group $RESOURCE_GROUP
Obtenez l’ID de ressource de l’identité.
IDENTITY_ID=$(az identity show \
--name $IDENTITY \
--resource-group $RESOURCE_GROUP \
--query id \
--output tsv)
Créer une application de conteneur
Créez votre application conteneur avec votre image à partir du registre privé authentifié avec l’identité.
Copiez l’ID de ressource de l’identité pour le coller dans les espaces réservés <IDENTITY_ID> dans la commande ci-dessous. Si votre balise d’image n’est pas latest
, remplacez « latest » par votre balise.
echo $IDENTITY_ID
az containerapp create \
--name $CONTAINERAPP_NAME \
--resource-group $RESOURCE_GROUP \
--environment $CONTAINERAPPS_ENVIRONMENT \
--user-assigned <IDENTITY_ID> \
--registry-identity <IDENTITY_ID> \
--registry-server "${REGISTRY_NAME}.azurecr.io" \
--image "${REGISTRY_NAME}.azurecr.io/${IMAGE_NAME}:latest"
Nettoyage
Attention
La commande suivante supprime le groupe de ressources spécifié et toutes les ressources qu’il contient. Si des ressources en dehors du cadre de ce démarrage rapide existent dans le groupe de ressources spécifié, elles seront également supprimées.
az group delete --name $RESOURCE_GROUP
Identité managée affectée par le système
Pour configurer une identité affectée par le système, vous devez :
- Créer une application conteneur avec une image publique.
- Attribuer une identité managée affectée par le système à l’ application conteneur.
- Mettre à jour l’application conteneur avec l’image privée.
Créer une application de conteneur
Créer un conteneur avec une image publique.
az containerapp create \
--name $CONTAINERAPP_NAME \
--resource-group $RESOURCE_GROUP \
--environment $CONTAINERAPPS_ENVIRONMENT \
--image mcr.microsoft.com/k8se/quickstart:latest \
--target-port 80 \
--ingress external
Mettre à jour l’application conteneur
Mettez à jour l’application conteneur avec l’image provenant de votre registre de conteneurs privé et ajoutez une identité affectée par le système pour authentifier l’extraction Azure Container Registry. Vous pouvez également inclure d’autres paramètres nécessaires pour votre application conteneur, comme des paramètres d’entrée, de mise à l’échelle et de Distributed Apps Runtime (Dapr).
Définissez le serveur de Registre et activez l’identité managée affectée par le système dans l’application conteneur.
az containerapp registry set \
--name $CONTAINERAPP_NAME \
--resource-group $RESOURCE_GROUP \
--identity system \
--server "${REGISTRY_NAME}.azurecr.io"
az containerapp update \
--name $CONTAINERAPP_NAME \
--resource-group $RESOURCE_GROUP \
--image "${REGISTRY_NAME}.azurecr.io/${IMAGE_NAME}:latest"
Nettoyage
Attention
La commande suivante supprime le groupe de ressources spécifié et toutes les ressources qu’il contient. Si des ressources en dehors du cadre de ce démarrage rapide existent dans le groupe de ressources spécifié, elles seront également supprimées.
az group delete --name $RESOURCE_GROUP
Cet article explique comment utiliser un modèle Bicep pour configurer votre application conteneur afin d’utiliser des identités managées affectées par l’utilisateur pour extraire des images à partir de référentiels Azure Container Registry privés.
Prérequis
- Compte Azure avec un abonnement actif.
- Si vous n’en avez pas, vous pouvez en créer un gratuitement.
- Si vous utilisez Azure CLI, installez Azure CLI sur votre ordinateur local.
- Si vous utilisez PowerShell, installez Azure PowerShell sur votre ordinateur local. Vérifiez que la dernière version du module Az.App est installée en exécutant la commande
Install-Module -Name Az.App
. - Azure Container Registry privé contenant une image que vous souhaitez extraire. Pour créer un registre de conteneurs et y envoyer une image, consultez Démarrage rapide : créer un registre de conteneurs privé à l’aide d’Azure CLI ou Démarrage rapide : créer un registre de conteneurs privé à l’aide d’Azure PowerShell
Programme d’installation
Pour vous connecter à Azure à partir de l’interface CLI, exécutez la commande suivante et suivez les invites pour procéder à l’authentification.
az login
Pour être sûr d’utiliser la dernière version de l’interface CLI, exécutez la commande de mise à niveau.
az upgrade
Ensuite, installez ou mettez à jour l’extension Azure Container Apps pour l’interface CLI.
Si vous recevez des erreurs concernant des paramètres manquants lorsque vous exécutez des commandes az containerapp
dans Azure CLI ou les cmdlets du module Az.App
dans Azure PowerShell, assurez-vous que la dernière version de l’extension Azure Container Apps est installée.
az extension add --name containerapp --upgrade
Remarque
À compter de mai 2024, les extensions Azure CLI n’activent plus les fonctionnalités en préversion par défaut. Pour accéder aux fonctionnalités en préversion de Container Apps, installez l’extension Container Apps avec --allow-preview true
.
az extension add --name containerapp --upgrade --allow-preview true
Maintenant que la version actuelle de l’extension ou du module est installée, inscrivez les espaces de noms Microsoft.App
et Microsoft.OperationalInsights
.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Installer Bicep
Si Bicep n’est pas installé, vous pouvez l’installer comme suit.
az bicep install
Si Bicep est installé, vérifiez que vous disposez de la dernière version.
az bicep upgrade
Pour plus d’informations, consultez Installation de Bicep.
Définir des variables d’environnement
Ensuite, définissez les variables d’environnement suivantes. Remplacez les espaces réservés entourés de <>
par vos valeurs.
RESOURCE_GROUP="<RESOURCE_GROUP_NAME>"
LOCATION="<LOCATION>"
REGISTRY_NAME="<REGISTRY_NAME>"
IMAGE_NAME="<IMAGE_NAME>"
IMAGE_TAG="<IMAGE_TAG>"
BICEP_TEMPLATE="<BICEP_TEMPLATE>"
CONTAINERAPPS_ENVIRONMENT="<ENVIRONMENT_NAME>"
CONTAINER_NAME="<CONTAINER_NAME>"
CONTAINERAPP_NAME="<CONTAINERAPP_NAME>"
USER_ASSIGNED_IDENTITY_NAME="<USER_ASSIGNED_IDENTITY_NAME>"
LOG_ANALYTICS_WORKSPACE_NAME="<LOG_ANALYTICS_WORKSPACE_NAME>"
APP_INSIGHTS_NAME="<APP_INSIGHTS_NAME>"
ACR_PULL_DEFINITION_ID="7f951dda-4ed3-4680-a7ca-43fe172d538d"
Le rôle AcrPull
accorde à votre identité managée affectée par l’utilisateur l’autorisation d’extraire l’image du Registre.
Modèle Bicep
Copiez le modèle Bicep suivant et enregistrez-le en tant que fichier avec l’extension .bicep
.
param environmentName string
param logAnalyticsWorkspaceName string
param appInsightsName string
param containerAppName string
param azureContainerRegistry string
param azureContainerRegistryImage string
param azureContainerRegistryImageTag string
param acrPullDefinitionId string
param userAssignedIdentityName string
param location string = resourceGroup().location
resource identity 'Microsoft.ManagedIdentity/userAssignedIdentities@2022-01-31-preview' = {
name: userAssignedIdentityName
location: location
}
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: guid(resourceGroup().id, azureContainerRegistry, 'AcrPullTestUserAssigned')
properties: {
principalId: identity.properties.principalId
principalType: 'ServicePrincipal'
// acrPullDefinitionId has a value of 7f951dda-4ed3-4680-a7ca-43fe172d538d
roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', acrPullDefinitionId)
}
}
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2022-10-01' = {
name: logAnalyticsWorkspaceName
location: location
properties: any({
retentionInDays: 30
features: {
searchVersion: 1
}
sku: {
name: 'PerGB2018'
}
})
}
resource appInsights 'Microsoft.Insights/components@2020-02-02' = {
name: appInsightsName
location: location
kind: 'web'
properties: {
Application_Type: 'web'
WorkspaceResourceId: logAnalyticsWorkspace.id
}
}
resource appEnvironment 'Microsoft.App/managedEnvironments@2022-06-01-preview' = {
name: environmentName
location: location
properties: {
daprAIInstrumentationKey: appInsights.properties.InstrumentationKey
appLogsConfiguration: {
destination: 'log-analytics'
logAnalyticsConfiguration: {
customerId: logAnalyticsWorkspace.properties.customerId
sharedKey: logAnalyticsWorkspace.listKeys().primarySharedKey
}
}
}
}
resource containerApp 'Microsoft.App/containerApps@2022-06-01-preview' = {
name: containerAppName
location: location
identity: {
type: 'UserAssigned'
userAssignedIdentities: {
'${identity.id}': {}
}
}
properties: {
environmentId: appEnvironment.id
configuration: {
ingress: {
targetPort: 8080
external: true
}
registries: [
{
server: '${azureContainerRegistry}.azurecr.io'
identity: identity.id
}
]
}
template: {
containers: [
{
image: '${azureContainerRegistry}.azurecr.io/${azureContainerRegistryImage}:${azureContainerRegistryImageTag}'
name: '${azureContainerName}'
resources: {
cpu: 1
memory: '2Gi'
}
}
]
scale: {
minReplicas: 1
maxReplicas: 1
}
}
}
}
output location string = location
output environmentId string = appEnvironment.id
Déployer l’application de conteneur
Déployez votre application de conteneur avec la commande suivante.
az deployment group create \
--resource-group $RESOURCE_GROUP \
--template-file $BICEP_TEMPLATE \
--parameters environmentName="${CONTAINERAPPS_ENVIRONMENT}" \
logAnalyticsWorkspaceName="${LOG_ANALYTICS_WORKSPACE_NAME}" \
appInsightsName="${APP_INSIGHTS_NAME}" \
containerAppName="${CONTAINERAPP_NAME}" \
azureContainerRegistry="${REGISTRY_NAME}" \
azureContainerRegistryImage="${IMAGE_NAME}" \
azureContainerRegistryImageTag="${IMAGE_TAG}" \
azureContainerName="${CONTAINER_NAME}" \
acrPullDefinitionId="${ACR_PULL_DEFINITION_ID}" \
userAssignedIdentityName="${USER_ASSIGNED_IDENTITY_NAME}" \
location="${LOCATION}"
Cette commande déploie les éléments suivants.
- Un groupe de ressources Azure.
- Un environnement Container Apps.
- Un espace de travail Log Analytics associé à l’environnement Container Apps.
- Une ressource Application Insights pour le suivi distribué.
- Une identité managée affectée par l’utilisateur.
- Un conteneur pour stocker l’image.
- Une application conteneur basée sur l’image.
Si vous recevez l’erreur Failed to parse '<YOUR_BICEP_FILE_NAME>', please check whether it is a valid JSON format
, vérifiez que votre fichier de modèle Bicep a l’extension .bicep
.
Ressources supplémentaires
Pour plus d'informations, consultez les documents suivants.