Delen via


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.

  1. Maak een container-app met een openbare installatiekopieën.
  2. Voeg de door de gebruiker toegewezen beheerde identiteit toe aan de container-app.
  3. 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.

  • 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.

  1. Navigeer naar de startpagina van de portal.

  2. Zoek naar Container Apps in de bovenste zoekbalk.

  3. Selecteer Container Apps in de zoekresultaten.

  4. Selecteer de knop Maken.

  5. 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.
  6. Selecteer de knop Beoordelen en maken onder aan de pagina Container-app maken.

  7. 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

  1. Selecteer Identiteit in het linkermenu.
  2. Selecteer het tabblad Door de gebruiker toegewezen .
  3. Selecteer de knop Door de gebruiker toegewezen beheerde identiteit toevoegen.
  4. Selecteer uw abonnement.
  5. Selecteer de identiteit die u hebt gemaakt.
  6. 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.

  1. Selecteer Revisiebeheer in het linkermenu.

  2. Selecteer Nieuwe revisie maken.

  3. Selecteer de containerinstallatiekopieën in de tabel Containerinstallatiekopieën .

  4. 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.

    Schermafbeelding van het dialoogvenster Een container bewerken dat een door de gebruiker toegewezen beheerde identiteit invoert.

    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.

  5. Selecteer Opslaan.

  6. 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.

  1. Selecteer Identiteit in het linkermenu.
  2. Selecteer het tabblad Door de gebruiker toegewezen .
  3. Selecteer de door de gebruiker toegewezen beheerde identiteit.
  4. Selecteer Azure-roltoewijzingen in het menu op de resourcepagina van de beheerde identiteit.
  5. 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.

  1. Maak een door de gebruiker toegewezen beheerde identiteit.
  2. Voeg de rol toe aan de door de acrpull gebruiker toegewezen beheerde identiteit.
  3. 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.

  1. Selecteer uw resourcegroep in de sectie Overzicht .
  2. Selecteer de knop Resourcegroep verwijderen bovenaan het overzicht van de resourcegroep.
  3. Voer de naam van de resourcegroep in het bevestigingsdialoogvenster in.
  4. 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:

  1. Maak een container-app met een openbare installatiekopieën.
  2. Maak een container-app-revisie met een persoonlijke installatiekopieën en de door het systeem toegewezen beheerde identiteit.

Vereisten

Een container-app maken

Volg deze stappen om een container-app te maken met de standaard snelstartinstallatiekopieën.

  1. Navigeer naar de startpagina van de portal.

  2. Zoek naar Container Apps in de bovenste zoekbalk.

  3. Selecteer Container Apps in de zoekresultaten.

  4. Selecteer de knop Maken.

  5. 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.
  6. Selecteer de knop Beoordelen en maken onder aan de pagina Container-app maken.

  7. 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.

  1. De containers in het zijmenu aan de linkerkant.

  2. Selecteer Bewerken en implementeren.

  3. 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.

    Schermopname Een container bewerken met door het systeem toegewezen beheerde identiteit.

    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.

  4. Selecteer Opslaan onder aan de pagina.

  5. Selecteer Maken onder aan de pagina Nieuwe revisie maken en implementeren

  6. 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.

  1. Selecteer Identiteit in het linkermenu.
  2. Selecteer het tabblad Systeem toegewezen .
  3. Selecteer Azure-roltoewijzingen.
  4. 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.

  1. Selecteer uw resourcegroep in de sectie Overzicht .
  2. Selecteer de knop Resourcegroep verwijderen bovenaan het overzicht van de resourcegroep.
  3. Voer de naam van de resourcegroep in het bevestigingsdialoogvenster in.
  4. 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.Appuit 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:

  1. Maak een door de gebruiker toegewezen beheerde identiteit.
  2. Als u PowerShell gebruikt, wijst u een acrpull rol voor uw register toe aan de beheerde identiteit. De Azure CLI maakt deze toewijzing automatisch.
  3. 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 latestis, 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:

  1. Maak een container-app met een openbare installatiekopieën.
  2. Wijs een door het systeem toegewezen beheerde identiteit toe aan de container-app.
  3. 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

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 formatkrijgt, controleert u of uw Bicep-sjabloonbestand de extensie .bicepheeft.

Aanvullende bronnen

Zie het volgende voor meer informatie.

Volgende stappen