Azure Container Apps-installatiekopie ophalen met Beheerde identiteit
U kunt installatiekopieën ophalen uit privéopslagplaatsen in Microsoft Azure Container Registry met behulp van beheerde identiteiten voor verificatie om het gebruik van beheerdersreferenties te voorkomen.
U kunt een door de gebruiker toegewezen of door het systeem toegewezen beheerde identiteit gebruiken om te verifiëren met Azure Container Registry.
- Met een door de gebruiker toegewezen beheerde identiteit maakt en beheert u de identiteit buiten Azure Container Apps. Het kan worden toegewezen aan meerdere Azure-resources, waaronder Azure Container Apps.
- Met een door het systeem toegewezen beheerde identiteit wordt de identiteit gemaakt en beheerd door Azure Container Apps. Deze is gekoppeld aan uw container-app en wordt verwijderd wanneer uw app wordt verwijderd.
- Indien mogelijk moet u een door de gebruiker toegewezen beheerde identiteit gebruiken om installatiekopieën op te halen.
Container Apps controleert op een nieuwe versie van de installatiekopieën wanneer een container wordt gestart. In docker- of Kubernetes-terminologie stelt Container Apps het pull-beleid voor installatiekopieën van elke container in op always
.
In dit artikel wordt beschreven hoe u Azure Portal gebruikt om uw container-app te configureren voor het gebruik van door de gebruiker toegewezen en door het systeem toegewezen beheerde identiteiten om installatiekopieën op te halen uit persoonlijke Azure Container Registry-opslagplaatsen.
Door de gebruiker toegewezen beheerde identiteit
In de volgende stappen wordt het proces beschreven voor het configureren van uw container-app voor het gebruik van een door de gebruiker toegewezen beheerde identiteit om installatiekopieën op te halen uit persoonlijke Azure Container Registry-opslagplaatsen.
- Maak een container-app met een openbare installatiekopieën.
- Voeg de door de gebruiker toegewezen beheerde identiteit toe aan de container-app.
- Maak een container-app-revisie met een persoonlijke installatiekopieën en de door de gebruiker toegewezen beheerde identiteit.
Vereisten
Een Azure-account met een actief abonnement.
- Als u geen account hebt, kunt u er gratis een maken.
Een privé-Azure Container Registry met een installatiekopie die u wilt ophalen.
Uw Azure Container Registry moet ARM-doelgroeptokens toestaan voor verificatie om beheerde identiteit te kunnen gebruiken om installatiekopieën op te halen. Gebruik de volgende opdracht om te controleren of ARM-tokens toegang hebben tot uw ACR:
az acr config authentication-as-arm show -r <REGISTRY>
Als ARM-tokens niet zijn toegestaan, kunt u deze toestaan met de volgende opdracht:
az acr config authentication-as-arm update -r <REGISTRY> --status enabled
Maak een door de gebruiker toegewezen beheerde identiteit. Zie Een door de gebruiker toegewezen beheerde identiteit maken voor meer informatie.
Een container-app maken
Gebruik de volgende stappen om een container-app te maken met de standaard snelstartinstallatiekopieën.
Navigeer naar de startpagina van de portal.
Zoek naar Container Apps in de bovenste zoekbalk.
Selecteer Container Apps in de zoekresultaten.
Selecteer de knop Maken.
Voer de volgende acties uit op het tabblad Basisbeginselen .
Instelling Actie Abonnement Selecteer uw Azure-abonnement. Resourcegroep Selecteer een bestaande resourcegroep of maak een nieuwe. Naam container-app Voer de naam van een container-app in. Location Selecteer een locatie. Container-app-omgeving maken Maak een nieuwe omgeving of selecteer een bestaande omgeving. Selecteer de knop Beoordelen en maken onder aan de pagina Container-app maken.
Selecteer de knop Maken onderaan het venster Container-app maken.
Wacht enkele minuten totdat de implementatie van de container-app is voltooid. Wanneer de implementatie is voltooid, selecteert u Ga naar de resource.
De door de gebruiker toegewezen beheerde identiteit toevoegen
- Selecteer Identiteit in het linkermenu.
- Selecteer het tabblad Door de gebruiker toegewezen .
- Selecteer de knop Door de gebruiker toegewezen beheerde identiteit toevoegen.
- Selecteer uw abonnement.
- Selecteer de identiteit die u hebt gemaakt.
- Selecteer Toevoegen.
Een container-app-revisie maken
Maak een container-app-revisie met een persoonlijke installatiekopieën en de door het systeem toegewezen beheerde identiteit.
Selecteer Revisiebeheer in het linkermenu.
Selecteer Nieuwe revisie maken.
Selecteer de containerinstallatiekopieën in de tabel Containerinstallatiekopieën .
Voer de informatie in het dialoogvenster Een container bewerken in.
Veld Actie Naam Voer een naam in voor de container. Bron van installatiekopie Selecteer Azure Container Registry. Verificatie Selecteer Beheerde identiteit. Identiteit Selecteer de identiteit die u hebt gemaakt in de vervolgkeuzelijst. Register Selecteer het register dat u wilt gebruiken in de vervolgkeuzelijst. Image Voer de naam in van de afbeelding die u wilt gebruiken. Afbeeldingstag Voer de naam en tag in van de afbeelding die u wilt ophalen. Notitie
Als de beheerdersreferenties niet zijn ingeschakeld in uw Azure Container Registry-register, ziet u een waarschuwingsbericht en moet u de naam van de installatiekopieën en taggegevens handmatig invoeren.
Selecteer Opslaan.
Selecteer Maken op de pagina Nieuwe revisie maken en implementeren.
Er wordt een nieuwe revisie gemaakt en geïmplementeerd. De portal probeert automatisch de rol toe te voegen aan de door de acrpull
gebruiker toegewezen beheerde identiteit. Als de rol niet is toegevoegd, kunt u deze handmatig toevoegen.
U kunt controleren of de rol is toegevoegd door de identiteit te controleren in het deelvenster Identiteit van de pagina container-app.
- Selecteer Identiteit in het linkermenu.
- Selecteer het tabblad Door de gebruiker toegewezen .
- Selecteer de door de gebruiker toegewezen beheerde identiteit.
- Selecteer Azure-roltoewijzingen in het menu op de resourcepagina van de beheerde identiteit.
- Controleer of de rol is toegewezen aan de door de
acrpull
gebruiker toegewezen beheerde identiteit.
Een container-app maken met een privé-installatiekopieën
Als u niet wilt beginnen met het maken van een container-app met een openbare installatiekopieën, kunt u ook het volgende doen.
- Maak een door de gebruiker toegewezen beheerde identiteit.
- Voeg de rol toe aan de door de
acrpull
gebruiker toegewezen beheerde identiteit. - Maak een container-app met een persoonlijke installatiekopieën en de door de gebruiker toegewezen beheerde identiteit.
Deze methode is gebruikelijk in scenario's voor Infrastructure as Code (IaC).
Resources opschonen
Als u deze toepassing niet meer gaat gebruiken, kunt u het Azure Container Apps-exemplaar en alle bijbehorende services verwijderen door de resourcegroep te verwijderen.
Waarschuwing
Als u de resourcegroep verwijdert, worden alle resources in de groep verwijderd. Als u andere resources in de groep hebt, worden ze ook verwijderd. Als u de resources wilt behouden, kunt u het container-app-exemplaar en de container-app-omgeving verwijderen.
- Selecteer uw resourcegroep in de sectie Overzicht .
- Selecteer de knop Resourcegroep verwijderen bovenaan het overzicht van de resourcegroep.
- Voer de naam van de resourcegroep in het bevestigingsdialoogvenster in.
- Selecteer Verwijderen. Het verwijderen van de resourcegroep kan enkele minuten duren.
Door het systeem toegewezen beheerde identiteit
De methode voor het configureren van een door het systeem toegewezen beheerde identiteit in Azure Portal is hetzelfde als het configureren van een door de gebruiker toegewezen beheerde identiteit. Het enige verschil is dat u geen door de gebruiker toegewezen beheerde identiteit hoeft te maken. In plaats daarvan wordt de door het systeem toegewezen beheerde identiteit gemaakt wanneer u de container-app maakt.
De methode voor het configureren van een door het systeem toegewezen beheerde identiteit in Azure Portal is:
- Maak een container-app met een openbare installatiekopieën.
- Maak een container-app-revisie met een persoonlijke installatiekopieën en de door het systeem toegewezen beheerde identiteit.
Vereisten
- Een Azure-account met een actief abonnement.
- Als u geen account hebt, kunt u er gratis een maken.
- Een privé-Azure Container Registry met een installatiekopie die u wilt ophalen. Zie Een privé-Azure Container Registry maken.
Een container-app maken
Volg deze stappen om een container-app te maken met de standaard snelstartinstallatiekopieën.
Navigeer naar de startpagina van de portal.
Zoek naar Container Apps in de bovenste zoekbalk.
Selecteer Container Apps in de zoekresultaten.
Selecteer de knop Maken.
Voer de volgende acties uit op het tabblad Basisbeginselen .
Instelling Actie Abonnement Selecteer uw Azure-abonnement. Resourcegroep Selecteer een bestaande resourcegroep of maak een nieuwe. Naam container-app Voer de naam van een container-app in. Location Selecteer een locatie. Container-app-omgeving maken Maak een nieuwe omgeving of selecteer een bestaande omgeving. Selecteer de knop Beoordelen en maken onder aan de pagina Container-app maken.
Selecteer de knop Maken onder aan de pagina Container-app maken.
Wacht enkele minuten totdat de implementatie van de container-app is voltooid. Wanneer de implementatie is voltooid, selecteert u Ga naar de resource.
Een revisie bewerken en implementeren
Bewerk de container om de installatiekopieën te gebruiken vanuit uw persoonlijke Azure Container Registry en configureer de verificatie voor het gebruik van door het systeem toegewezen identiteit.
De containers in het zijmenu aan de linkerkant.
Selecteer Bewerken en implementeren.
Selecteer de simple-hello-world-containercontainer in de lijst.
Instelling Actie Naam Voer de naam van de container-app in. Bron van installatiekopie Selecteer Azure Container Registry. Verificatie Selecteer Beheerde identiteit. Identiteit Selecteer Systeem toegewezen. Register Voer de registernaam in. Image Voer de naam van de afbeelding in. Afbeeldingstag Voer de tag in. Notitie
Als de beheerdersreferenties niet zijn ingeschakeld in uw Azure Container Registry-register, ziet u een waarschuwingsbericht en moet u de naam van de installatiekopieën en taggegevens handmatig invoeren.
Selecteer Opslaan onder aan de pagina.
Selecteer Maken onder aan de pagina Nieuwe revisie maken en implementeren
Na enkele minuten selecteert u Vernieuwen op de pagina Revisiebeheer om de nieuwe revisie weer te geven.
Er wordt een nieuwe revisie gemaakt en geïmplementeerd. De portal probeert automatisch de rol toe te voegen aan de door het acrpull
systeem toegewezen beheerde identiteit. Als de rol niet is toegevoegd, kunt u deze handmatig toevoegen.
U kunt controleren of de rol is toegevoegd door de identiteit te controleren in het deelvenster Identiteit van de pagina container-app.
- Selecteer Identiteit in het linkermenu.
- Selecteer het tabblad Systeem toegewezen .
- Selecteer Azure-roltoewijzingen.
- Controleer of de rol is toegewezen aan de door het
acrpull
systeem toegewezen beheerde identiteit.
Resources opschonen
Als u deze toepassing niet meer gaat gebruiken, kunt u het Azure Container Apps-exemplaar en alle bijbehorende services verwijderen door de resourcegroep te verwijderen.
Waarschuwing
Als u de resourcegroep verwijdert, worden alle resources in de groep verwijderd. Als u andere resources in de groep hebt, worden ze ook verwijderd. Als u de resources wilt behouden, kunt u het container-app-exemplaar en de container-app-omgeving verwijderen.
- Selecteer uw resourcegroep in de sectie Overzicht .
- Selecteer de knop Resourcegroep verwijderen bovenaan het overzicht van de resourcegroep.
- Voer de naam van de resourcegroep in het bevestigingsdialoogvenster in.
- Selecteer Verwijderen. Het verwijderen van de resourcegroep kan enkele minuten duren.
In dit artikel wordt beschreven hoe u uw container-app configureert voor het gebruik van beheerde identiteiten om installatiekopieën op te halen uit een persoonlijke Azure Container Registry-opslagplaats met behulp van Azure CLI en Azure PowerShell.
Vereisten
Vereiste | Beschrijving |
---|---|
Azure-account | Een Azure-account met een actief abonnement. Als u geen account hebt, kunt u er gratis een maken. |
Azure-CLI | Als u Azure CLI gebruikt, installeert u de Azure CLI op uw lokale computer. |
Azure PowerShell | Als u PowerShell gebruikt, installeert u De Azure PowerShell op uw lokale computer. Zorg ervoor dat de nieuwste versie van de Az.App-module is geïnstalleerd door de opdracht Install-Module -Name Az.App uit te voeren. |
Azure Container Registry | Een privé-Azure Container Registry met een installatiekopie die u wilt ophalen. Quickstart: Een privécontainerregister maken met behulp van de Azure CLI of quickstart: Een privécontainerregister maken met behulp van Azure PowerShell |
Instellingen
Als u zich wilt aanmelden bij Azure vanuit de CLI, voert u de volgende opdracht uit en volgt u de aanwijzingen om het verificatieproces te voltooien.
az login
Voer de upgradeopdracht uit om ervoor te zorgen dat u de nieuwste versie van de CLI uitvoert.
az upgrade
Installeer of werk vervolgens de Azure Container Apps-extensie voor de CLI bij.
Als u fouten ontvangt over ontbrekende parameters wanneer u opdrachten uitvoert az containerapp
in Azure CLI of cmdlets vanuit de Az.App
module in Azure PowerShell, moet u ervoor zorgen dat de nieuwste versie van de Azure Container Apps-extensie is geïnstalleerd.
az extension add --name containerapp --upgrade
Notitie
Vanaf mei 2024 schakelen Azure CLI-extensies standaard geen preview-functies meer in. Als u toegang wilt krijgen tot de preview-functies van Container Apps, installeert u de Container Apps-extensie met --allow-preview true
.
az extension add --name containerapp --upgrade --allow-preview true
Nu de huidige extensie of module is geïnstalleerd, registreert u de Microsoft.App
en Microsoft.OperationalInsights
naamruimten.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Stel vervolgens de volgende omgevingsvariabelen in. Vervang de tijdelijke aanduidingen tussen <>
uw waarden.
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>"
Als u al een resourcegroep hebt, kunt u deze stap overslaan. Anders maakt u een resourcegroep.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
Een container-app-omgeving maken
Als de omgeving niet bestaat, voert u de volgende opdracht uit:
Voer de volgende opdracht uit om de omgeving te maken:
az containerapp env create \
--name $CONTAINERAPPS_ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location $LOCATION
Ga door naar de volgende sectie om door de gebruiker toegewezen beheerde identiteit te configureren of ga verder met de sectie Door het systeem toegewezen beheerde identiteit .
Door de gebruiker toegewezen beheerde identiteit
Volg deze procedure om door de gebruiker toegewezen beheerde identiteit te configureren:
- Maak een door de gebruiker toegewezen beheerde identiteit.
- Als u PowerShell gebruikt, wijst u een
acrpull
rol voor uw register toe aan de beheerde identiteit. De Azure CLI maakt deze toewijzing automatisch. - Maak een container-app met de installatiekopieën uit het privéregister die wordt geverifieerd met de door de gebruiker toegewezen beheerde identiteit.
Een door de gebruiker toegewezen beheerde identiteit maken
Maak een door de gebruiker toegewezen beheerde identiteit. Voordat u de volgende opdracht uitvoert, vervangt u de <TIJDELIJKE AANDUIDINGEN> door de naam van uw beheerde identiteit.
IDENTITY="<YOUR_IDENTITY_NAME>"
az identity create \
--name $IDENTITY \
--resource-group $RESOURCE_GROUP
Haal de resource-id van de identiteit op.
IDENTITY_ID=`az identity show \
--name $IDENTITY \
--resource-group $RESOURCE_GROUP \
--query id`
Een container-app maken
Maak uw container-app met uw installatiekopieën uit het privéregister dat is geverifieerd met de identiteit.
Kopieer de resource-id van de identiteit om in de <IDENTITY_ID> tijdelijke aanduidingen te plakken in de onderstaande opdracht. Als uw afbeeldingstag niet latest
is, vervangt u 'nieuwste' door uw tag.
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"
Opschonen
Let op
Met de volgende opdracht verwijdert u de opgegeven resourcegroep en alle resources erin. Als resources buiten het bereik van deze quickstart in de opgegeven resourcegroep bestaan, worden ze ook verwijderd.
az group delete --name $RESOURCE_GROUP
Door het systeem toegewezen beheerde identiteit
Als u een door het systeem toegewezen identiteit wilt configureren, moet u het volgende doen:
- Maak een container-app met een openbare installatiekopieën.
- Wijs een door het systeem toegewezen beheerde identiteit toe aan de container-app.
- Werk de container-app bij met de persoonlijke installatiekopieën.
Een container-app maken
Maak een container met een openbare installatiekopieën.
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
De container-app bijwerken
Werk de container-app bij met de installatiekopie uit uw privécontainerregister en voeg een door het systeem toegewezen identiteit toe om de Azure Container Registry-pull te verifiëren. U kunt ook andere instellingen opnemen die nodig zijn voor uw container-app, zoals de instellingen voor inkomend verkeer, schalen en Dapr.
Stel de registerserver in en schakel door het systeem toegewezen beheerde identiteit in de container-app in.
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"
Opschonen
Let op
Met de volgende opdracht verwijdert u de opgegeven resourcegroep en alle resources erin. Als resources buiten het bereik van deze quickstart in de opgegeven resourcegroep bestaan, worden ze ook verwijderd.
az group delete --name $RESOURCE_GROUP
In dit artikel wordt beschreven hoe u een Bicep-sjabloon gebruikt om uw container-app te configureren voor het gebruik van door de gebruiker toegewezen beheerde identiteiten om installatiekopieën op te halen uit persoonlijke Azure Container Registry-opslagplaatsen.
Vereisten
- Een Azure-account met een actief abonnement.
- Als u geen account hebt, kunt u er gratis een maken.
- Als u Azure CLI gebruikt, installeert u de Azure CLI op uw lokale computer.
- Als u PowerShell gebruikt, installeert u De Azure PowerShell op uw lokale computer. Zorg ervoor dat de nieuwste versie van de Az.App-module is geïnstalleerd door de opdracht
Install-Module -Name Az.App
uit te voeren. - Een privé-Azure Container Registry met een installatiekopie die u wilt ophalen. Als u een containerregister wilt maken en er een installatiekopieën naar wilt pushen, raadpleegt u quickstart: Een privécontainerregister maken met behulp van de Azure CLI of quickstart: Een privécontainerregister maken met behulp van Azure PowerShell
Instellingen
Als u zich wilt aanmelden bij Azure vanuit de CLI, voert u de volgende opdracht uit en volgt u de aanwijzingen om het verificatieproces te voltooien.
az login
Voer de upgradeopdracht uit om ervoor te zorgen dat u de nieuwste versie van de CLI uitvoert.
az upgrade
Installeer of werk vervolgens de Azure Container Apps-extensie voor de CLI bij.
Als u fouten ontvangt over ontbrekende parameters wanneer u opdrachten uitvoert az containerapp
in Azure CLI of cmdlets vanuit de Az.App
module in Azure PowerShell, moet u ervoor zorgen dat de nieuwste versie van de Azure Container Apps-extensie is geïnstalleerd.
az extension add --name containerapp --upgrade
Notitie
Vanaf mei 2024 schakelen Azure CLI-extensies standaard geen preview-functies meer in. Als u toegang wilt krijgen tot de preview-functies van Container Apps, installeert u de Container Apps-extensie met --allow-preview true
.
az extension add --name containerapp --upgrade --allow-preview true
Nu de huidige extensie of module is geïnstalleerd, registreert u de Microsoft.App
en Microsoft.OperationalInsights
naamruimten.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Bicep installeren
Als u Bicep niet hebt geïnstalleerd, kunt u deze als volgt installeren.
az bicep install
Als u Bicep wel hebt geïnstalleerd, controleert u of u de nieuwste versie hebt.
az bicep upgrade
Zie Bicep installeren voor meer informatie.
Omgevingsvariabelen instellen
Stel vervolgens de volgende omgevingsvariabelen in. Vervang tijdelijke aanduidingen tussen <>
uw waarden.
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"
De AcrPull
rol verleent uw door de gebruiker toegewezen beheerde identiteit toestemming om de installatiekopie uit het register op te halen.
Bicep-sjabloon
Kopieer de volgende Bicep-sjabloon en sla deze op als een bestand met de extensie .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
De container-app implementeren
Implementeer uw container-app met de volgende opdracht.
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"
Met deze opdracht wordt het volgende geïmplementeerd.
- Een Azure-resourcegroep.
- Een Container Apps-omgeving.
- Een Log Analytics-werkruimte die is gekoppeld aan de Container Apps-omgeving.
- Een Application Insights-resource voor gedistribueerde tracering.
- Een door een gebruiker toegewezen beheerde identiteit.
- Een container voor het opslaan van de installatiekopieën.
- Een container-app op basis van de installatiekopieën.
Als u de fout Failed to parse '<YOUR_BICEP_FILE_NAME>', please check whether it is a valid JSON format
krijgt, controleert u of uw Bicep-sjabloonbestand de extensie .bicep
heeft.
Aanvullende bronnen
Zie het volgende voor meer informatie.