Sdílet prostřednictvím


Vyžádání image Azure Container Apps se spravovanou identitou

Image z privátních úložišť ve službě Microsoft Azure Container Registry můžete načíst pomocí spravovaných identit pro ověřování, abyste se vyhnuli použití přihlašovacích údajů pro správu.

Spravovanou identitu přiřazenou uživatelem nebo systémem můžete použít k ověření ve službě Azure Container Registry.

  • Pomocí spravované identity přiřazené uživatelem vytvoříte a spravujete identitu mimo Azure Container Apps. Dá se přiřadit k několika prostředkům Azure, včetně Azure Container Apps.
  • Se spravovanou identitou přiřazenou systémem se identita vytvoří a spravuje pomocí Azure Container Apps. Je svázaný s vaší aplikací kontejneru a po odstranění aplikace se odstraní.
  • Pokud je to možné, měli byste k vyžádání imagí použít spravovanou identitu přiřazenou uživatelem.

Container Apps při každém spuštění kontejneru vyhledá novou verzi image. V terminologii Dockeru nebo Kubernetes nastaví Container Apps zásady vyžádání image každého kontejneru na always.

Tento článek popisuje, jak pomocí webu Azure Portal nakonfigurovat aplikaci kontejneru tak, aby používala spravované identity přiřazené uživatelem a systémem k načtení imagí z privátních úložišť Azure Container Registry.

Spravovaná identita přiřazená uživatelem

Následující kroky popisují proces konfigurace aplikace kontejneru tak, aby používala spravovanou identitu přiřazenou uživatelem k načtení imagí z privátních úložišť služby Azure Container Registry.

  1. Vytvořte aplikaci kontejneru s veřejnou imagí.
  2. Přidejte spravovanou identitu přiřazenou uživatelem do aplikace kontejneru.
  3. Vytvořte revizi aplikace kontejneru s privátní imagí a spravovanou identitou přiřazenou uživatelem.

Požadavky

  • Účet Azure s aktivním předplatným.

  • Privátní služba Azure Container Registry obsahující image, kterou chcete vyžádat.

  • Aby bylo možné použít spravovanou identitu k načtení imagí, musí vaše služba Azure Container Registry povolit tokeny cílové skupiny ARM pro ověřování. Pomocí následujícího příkazu zkontrolujte, jestli mají tokeny ARM povolený přístup k vaší službě ACR:

    az acr config authentication-as-arm show -r <REGISTRY>
    

    Pokud jsou tokeny ARM zakázané, můžete je povolit pomocí následujícího příkazu:

    az acr config authentication-as-arm update -r <REGISTRY> --status enabled
    
  • Vytvořte spravovanou identitu přiřazenou uživatelem. Další informace najdete v tématu Vytvoření spravované identity přiřazené uživatelem.

Vytvoření aplikace typu kontejner

Pomocí následujících kroků vytvořte aplikaci kontejneru s výchozí imagí rychlého startu.

  1. Přejděte na domovskou stránku portálu.

  2. Na horním panelu hledání vyhledejte Container Apps .

  3. Ve výsledcích hledání vyberte KontejnerOvé aplikace .

  4. Vyberte tlačítko Vytvořit.

  5. Na kartě Základy proveďte následující akce.

    Nastavení Akce
    Předplatné Vyberte své předplatné Azure.
    Skupina prostředků Vyberte existující skupinu prostředků nebo vytvořte novou.
    Název kontejnerové aplikace Zadejte název aplikace kontejneru.
    Místo Vyberte umístění.
    Vytvoření prostředí kontejnerové aplikace Vytvořte nové nebo vyberte existující prostředí.
  6. V dolní části stránky Vytvořit aplikaci kontejneru vyberte tlačítko Zkontrolovat a vytvořit.

  7. V dolní části okna Vytvořit aplikaci kontejneru vyberte tlačítko Vytvořit.

Počkejte několik minut, než se dokončí nasazení aplikace kontejneru. Po dokončení nasazení vyberte Přejít k prostředku.

Přidání spravované identity přiřazené uživatelem

  1. V nabídce vlevo vyberte Identitu .
  2. Vyberte kartu Přiřazené uživatelem.
  3. Vyberte tlačítko Přidat spravovanou identitu přiřazenou uživatelem.
  4. Vyberte své předplatné.
  5. Vyberte identitu, kterou jste vytvořili.
  6. Vyberte Přidat.

Vytvoření revize aplikace typu kontejner

Vytvořte revizi aplikace kontejneru s privátní imagí a spravovanou identitou přiřazenou systémem.

  1. V nabídce vlevo vyberte Správa revizí.

  2. Vyberte Vytvořit novou revizi.

  3. Vyberte image kontejneru z tabulky Image kontejneru.

  4. Zadejte informace v dialogovém okně Upravit kontejner .

    Pole Akce
    Název Zadejte název kontejneru.
    Zdroj obrázku Vyberte Azure Container Registry.
    Authentication Vyberte spravovanou identitu.
    Identita V rozevírací nabídce vyberte identitu, kterou jste vytvořili.
    Registr V rozevírací nabídce vyberte registr, který chcete použít.
    Obrázek Zadejte název obrázku, který chcete použít.
    Značka obrázku Zadejte název a značku obrázku, který chcete stáhnout.

    Snímek obrazovky dialogového okna Upravit kontejner se zadáváním spravované identity přiřazené uživatelem

    Poznámka:

    Pokud přihlašovací údaje pro správu nejsou v registru služby Azure Container Registry povolené, zobrazí se zpráva s upozorněním a budete muset zadat název image a informace o značkách ručně.

  5. Zvolte Uložit.

  6. Vyberte Vytvořit na stránce Vytvořit a nasadit novou revizní stránku.

Vytvoří se a nasadí nová revize. Portál se automaticky pokusí přidat acrpull roli do spravované identity přiřazené uživatelem. Pokud se role nepřidá, můžete ji přidat ručně.

Pokud chcete ověřit, jestli byla role přidaná, zkontrolujte identitu v podokně Identita na stránce aplikace kontejneru.

  1. V nabídce vlevo vyberte Identitu .
  2. Vyberte kartu Přiřazené uživatelem.
  3. Vyberte spravovanou identitu přiřazenou uživatelem.
  4. V nabídce na stránce prostředku spravované identity vyberte přiřazení rolí Azure.
  5. Ověřte, že acrpull je role přiřazená spravované identitě přiřazené uživatelem.

Vytvoření aplikace typu kontejner s privátní imagí

Pokud nechcete začít vytvořením aplikace typu kontejner s veřejnou imagí, můžete také provést následující kroky.

  1. Vytvořte spravovanou identitu přiřazenou uživatelem.
  2. acrpull Přidejte roli do spravované identity přiřazené uživatelem.
  3. Vytvořte aplikaci kontejneru s privátní imagí a spravovanou identitou přiřazenou uživatelem.

Tato metoda je typická ve scénářích infrastruktury jako kódu (IaC).

Vyčištění prostředků

Pokud tuto aplikaci nebudete dál používat, můžete odstranit instanci Azure Container Apps a všechny přidružené služby odebráním skupiny prostředků.

Upozorňující

Odstraněním skupiny prostředků odstraníte všechny prostředky ve skupině. Pokud máte ve skupině další prostředky, odstraní se také. Pokud chcete zachovat prostředky, můžete odstranit instanci aplikace kontejneru a prostředí kontejnerové aplikace.

  1. V části Přehled vyberte skupinu prostředků.
  2. V horní části přehledu skupiny prostředků vyberte tlačítko Odstranit skupinu prostředků.
  3. Do potvrzovacího dialogového okna zadejte název skupiny prostředků.
  4. Vyberte Odstranit. Dokončení procesu odstranění skupiny prostředků může trvat několik minut.

Spravovaná identita přiřazená systémem

Metoda konfigurace spravované identity přiřazené systémem na webu Azure Portal je stejná jako konfigurace spravované identity přiřazené uživatelem. Jediným rozdílem je, že nemusíte vytvářet spravovanou identitu přiřazenou uživatelem. Místo toho se spravovaná identita přiřazená systémem vytvoří při vytváření aplikace kontejneru.

Metoda konfigurace spravované identity přiřazené systémem na webu Azure Portal je:

  1. Vytvořte aplikaci kontejneru s veřejnou imagí.
  2. Vytvořte revizi aplikace kontejneru s privátní imagí a spravovanou identitou přiřazenou systémem.

Požadavky

Vytvoření aplikace typu kontejner

Pomocí těchto kroků vytvořte aplikaci kontejneru s výchozí imagí rychlého startu.

  1. Přejděte na domovskou stránku portálu.

  2. Na horním panelu hledání vyhledejte Container Apps .

  3. Ve výsledcích hledání vyberte KontejnerOvé aplikace .

  4. Vyberte tlačítko Vytvořit.

  5. Na kartě Základy proveďte následující akce.

    Nastavení Akce
    Předplatné Vyberte své předplatné Azure.
    Skupina prostředků Vyberte existující skupinu prostředků nebo vytvořte novou.
    Název kontejnerové aplikace Zadejte název aplikace kontejneru.
    Místo Vyberte umístění.
    Vytvoření prostředí kontejnerové aplikace Vytvořte nové nebo vyberte existující prostředí.
  6. V dolní části stránky Vytvořit aplikaci kontejneru vyberte tlačítko Zkontrolovat a vytvořit.

  7. V dolní části stránky Vytvořit aplikaci kontejneru vyberte tlačítko Vytvořit.

Počkejte několik minut, než se dokončí nasazení aplikace kontejneru. Po dokončení nasazení vyberte Přejít k prostředku.

Úprava a nasazení revize

Upravte kontejner tak, aby používal image z privátní služby Azure Container Registry, a nakonfigurujte ověřování tak, aby používalo identitu přiřazenou systémem.

  1. Kontejnery z boční nabídky vlevo.

  2. Vyberte Upravit a nasadit.

  3. Ze seznamu vyberte kontejner simple-hello-world-container.

    Nastavení Akce
    Název Zadejte název aplikace kontejneru.
    Zdroj obrázku Vyberte Azure Container Registry.
    Authentication Vyberte Spravovaná identita.
    Identita Vyberte Systém přiřazený.
    Registr Zadejte název registru.
    Obrázek Zadejte název obrázku.
    Značka obrázku Zadejte značku.

    Snímek obrazovky Upravit kontejner se spravovanou identitou přiřazenou systémem

    Poznámka:

    Pokud přihlašovací údaje pro správu nejsou v registru služby Azure Container Registry povolené, zobrazí se zpráva s upozorněním a budete muset zadat název image a informace o značkách ručně.

  4. Vyberte Uložit v dolní části stránky.

  5. Vyberte Vytvořit v dolní části stránky Vytvořit a nasadit novou revizní stránku.

  6. Po několika minutách vyberte Aktualizovat na stránce Správa revizí, abyste viděli novou revizi.

Vytvoří se a nasadí nová revize. Portál se automaticky pokusí přidat acrpull roli do spravované identity přiřazené systémem. Pokud se role nepřidá, můžete ji přidat ručně.

Roli můžete ověřit tak, že v podokně Identita na stránce aplikace kontejneru zkontrolujete identitu.

  1. V nabídce vlevo vyberte Identitu .
  2. Vyberte kartu Přiřazená systémem.
  3. Vyberte přiřazení rolí Azure.
  4. Ověřte, že acrpull je role přiřazená spravované identitě přiřazené systémem.

Vyčištění prostředků

Pokud tuto aplikaci nebudete dál používat, můžete odstranit instanci Azure Container Apps a všechny přidružené služby odebráním skupiny prostředků.

Upozorňující

Odstraněním skupiny prostředků odstraníte všechny prostředky ve skupině. Pokud máte ve skupině další prostředky, odstraní se také. Pokud chcete zachovat prostředky, můžete odstranit instanci aplikace kontejneru a prostředí kontejnerové aplikace.

  1. V části Přehled vyberte skupinu prostředků.
  2. V horní části přehledu skupiny prostředků vyberte tlačítko Odstranit skupinu prostředků.
  3. Do potvrzovacího dialogového okna zadejte název skupiny prostředků.
  4. Vyberte Odstranit. Dokončení procesu odstranění skupiny prostředků může trvat několik minut.

Tento článek popisuje, jak nakonfigurovat aplikaci kontejneru tak, aby používala spravované identity k načítání imagí z privátního úložiště Azure Container Registry pomocí Azure CLI a Azure PowerShellu.

Požadavky

Předpoklad Popis
Účet Azure Účet Azure s aktivním předplatným. Pokud jej nemáte, můžete si jej zdarma vytvořit.
Azure CLI Pokud používáte Azure CLI, nainstalujte Azure CLI na místní počítač.
Azure PowerShell Pokud používáte PowerShell, nainstalujte Azure PowerShell na místní počítač. Spuštěním příkazu Install-Module -Name Az.Appse ujistěte, že je nainstalovaná nejnovější verze modulu Az.App .
Azure Container Registry Privátní služba Azure Container Registry obsahující image, kterou chcete vyžádat. Rychlý start: Vytvoření privátního registru kontejneru pomocí Azure CLI nebo rychlého startu: Vytvoření privátního registru kontejneru pomocí Azure PowerShellu

Nastavení

Pokud se chcete přihlásit k Azure z rozhraní příkazového řádku, spusťte následující příkaz a podle pokynů dokončete proces ověřování.

az login

Pokud chcete zajistit, že používáte nejnovější verzi rozhraní příkazového řádku, spusťte příkaz upgrade.

az upgrade

Dále nainstalujte nebo aktualizujte rozšíření Azure Container Apps pro rozhraní příkazového řádku.

Pokud se při spouštění az containerapp příkazů v Azure CLI nebo rutinách Az.App z modulu v Azure PowerShellu zobrazí chyby týkající se chybějících parametrů, ujistěte se, že máte nainstalovanou nejnovější verzi rozšíření Azure Container Apps.

az extension add --name containerapp --upgrade

Poznámka:

Od května 2024 už rozšíření Azure CLI ve výchozím nastavení nepovolují funkce ve verzi Preview. Pokud chcete získat přístup k funkcím Container Apps ve verzi Preview, nainstalujte rozšíření Container Apps pomocí --allow-preview truenástroje .

az extension add --name containerapp --upgrade --allow-preview true

Teď, když je nainstalované aktuální rozšíření nebo modul, zaregistrujte obory Microsoft.App názvů a Microsoft.OperationalInsights obory názvů.

Poznámka:

Prostředky Azure Container Apps se migrovaly z Microsoft.Web oboru názvů do Microsoft.App oboru názvů. Další podrobnosti najdete v tématu Migrace oboru názvů z webu Microsoft.Web na Microsoft.App v březnu 2022 .

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Dále nastavte následující proměnné prostředí. Nahraďte zástupné symboly ohraničené <> hodnotami.

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

Pokud už máte skupinu prostředků, tento krok přeskočte. V opačném případě vytvořte skupinu prostředků.

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

Vytvoření prostředí kontejnerové aplikace

Pokud prostředí neexistuje, spusťte následující příkaz:

Pokud chcete vytvořit prostředí, spusťte následující příkaz:

az containerapp env create \
  --name $CONTAINERAPPS_ENVIRONMENT \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION

Pokračujte k další části a nakonfigurujte spravovanou identitu přiřazenou uživatelem nebo přejděte do části Spravovaná identita přiřazená systémem.

Spravovaná identita přiřazená uživatelem

Podle tohoto postupu nakonfigurujte spravovanou identitu přiřazenou uživatelem:

  1. Vytvořte spravovanou identitu přiřazenou uživatelem.
  2. Pokud používáte PowerShell, přiřaďte acrpull spravované identitě roli registru. Azure CLI toto přiřazení automaticky provede.
  3. Vytvořte aplikaci kontejneru s imagí z privátního registru, který se ověřuje pomocí spravované identity přiřazené uživatelem.

Vytvoření spravované identity přiřazené uživatelem

Vytvořte spravovanou identitu přiřazenou uživatelem. Před spuštěním následujícího příkazu nahraďte <zástupné symboly> názvem vaší spravované identity.

IDENTITY="<YOUR_IDENTITY_NAME>"
az identity create \
  --name $IDENTITY \
  --resource-group $RESOURCE_GROUP

Získejte ID prostředku identity.

IDENTITY_ID=`az identity show \
  --name $IDENTITY \
  --resource-group $RESOURCE_GROUP \
  --query id`

Vytvoření aplikace typu kontejner

Vytvořte aplikaci kontejneru s imagí z privátního registru ověřeného identitou.

Zkopírujte ID prostředku identity a vložte ho <do zástupných symbolů IDENTITY_ID> v následujícím příkazu. Pokud značka obrázku není latest, nahraďte "latest" značkou.

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"

Vyčištění

Upozornění

Následující příkaz odstraní zadanou skupinu prostředků a všechny prostředky obsažené v ní. Pokud prostředky mimo rozsah tohoto rychlého startu existují v zadané skupině prostředků, odstraní se také.

az group delete --name $RESOURCE_GROUP

Spravovaná identita přiřazená systémem

Pokud chcete nakonfigurovat identitu přiřazenou systémem, budete muset:

  1. Vytvořte aplikaci kontejneru s veřejnou imagí.
  2. Přiřaďte spravované identitě přiřazené systémem k aplikaci kontejneru.
  3. Aktualizujte aplikaci kontejneru pomocí privátní image.

Vytvoření aplikace typu kontejner

Vytvořte kontejner s veřejnou imagí.

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

Aktualizace aplikace kontejneru

Aktualizujte aplikaci kontejneru pomocí image z privátního registru kontejneru a přidejte identitu přiřazenou systémem pro ověření vyžádání služby Azure Container Registry. Můžete také zahrnout další nastavení potřebná pro vaši aplikaci kontejneru, jako jsou příchozí přenos dat, škálování a nastavení Dapr.

Nastavte server registru a zapněte spravovanou identitu přiřazenou systémem v aplikaci kontejneru.

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"

Vyčištění

Upozornění

Následující příkaz odstraní zadanou skupinu prostředků a všechny prostředky obsažené v ní. Pokud prostředky mimo rozsah tohoto rychlého startu existují v zadané skupině prostředků, odstraní se také.

az group delete --name $RESOURCE_GROUP

Tento článek popisuje, jak pomocí šablony Bicep nakonfigurovat aplikaci kontejneru tak, aby používala spravované identity přiřazené uživatelem k načtení imagí z privátních úložišť Azure Container Registry.

Požadavky

Nastavení

Pokud se chcete přihlásit k Azure z rozhraní příkazového řádku, spusťte následující příkaz a podle pokynů dokončete proces ověřování.

az login

Pokud chcete zajistit, že používáte nejnovější verzi rozhraní příkazového řádku, spusťte příkaz upgrade.

az upgrade

Dále nainstalujte nebo aktualizujte rozšíření Azure Container Apps pro rozhraní příkazového řádku.

Pokud se při spouštění az containerapp příkazů v Azure CLI nebo rutinách Az.App z modulu v Azure PowerShellu zobrazí chyby týkající se chybějících parametrů, ujistěte se, že máte nainstalovanou nejnovější verzi rozšíření Azure Container Apps.

az extension add --name containerapp --upgrade

Poznámka:

Od května 2024 už rozšíření Azure CLI ve výchozím nastavení nepovolují funkce ve verzi Preview. Pokud chcete získat přístup k funkcím Container Apps ve verzi Preview, nainstalujte rozšíření Container Apps pomocí --allow-preview truenástroje .

az extension add --name containerapp --upgrade --allow-preview true

Teď, když je nainstalované aktuální rozšíření nebo modul, zaregistrujte obory Microsoft.App názvů a Microsoft.OperationalInsights obory názvů.

Poznámka:

Prostředky Azure Container Apps se migrovaly z Microsoft.Web oboru názvů do Microsoft.App oboru názvů. Další podrobnosti najdete v tématu Migrace oboru názvů z webu Microsoft.Web na Microsoft.App v březnu 2022 .

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Instalace Bicep

Pokud nemáte nainstalovaný Bicep, můžete ho nainstalovat následujícím způsobem.

az bicep install

Pokud máte nainstalovaný Bicep, ujistěte se, že máte nejnovější verzi.

az bicep upgrade

Další informace naleznete v tématu Instalace Bicep.

Nastavení proměnných prostředí

Dále nastavte následující proměnné prostředí. Zástupné symboly ohraničené <> hodnotami nahraďte.

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"

Role AcrPull uděluje spravované identitě přiřazené uživatelem oprávnění k načtení image z registru.

Šablona Bicep

Zkopírujte následující šablonu Bicep a uložte ji jako soubor s příponou .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

Nasazení aplikace typu kontejner

Pomocí následujícího příkazu nasaďte aplikaci kontejneru.

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"

Tento příkaz nasadí následující příkaz.

  • Skupina prostředků Azure.
  • Prostředí Container Apps.
  • Pracovní prostor služby Log Analytics přidružený k prostředí Container Apps.
  • Prostředek Application Insights pro distribuované trasování
  • Spravovaná identita přiřazená uživatelem.
  • Kontejner pro uložení image.
  • Aplikace kontejneru založená na imagi.

Pokud se zobrazí chyba Failed to parse '<YOUR_BICEP_FILE_NAME>', please check whether it is a valid JSON format, ujistěte se, že soubor šablony Bicep má příponu .bicep.

Další materiály

Další informace najdete v následujících tématech.

Další kroky