Delen via


Quickstart: Een bestaande containerinstallatiekopie implementeren met de opdrachtregel

Met de Azure Container Apps-service kunt u microservices en toepassingen in containers uitvoeren op een serverloos platform. Met Container Apps profiteert u van de voordelen van het uitvoeren van containers terwijl u zich zorgen maakt over handmatige configuratie van cloudinfrastructuur en complexe containerorchestrators.

In dit artikel wordt beschreven hoe u een bestaande container implementeert in Azure Container Apps.

Notitie

Autorisatie van privéregisters wordt ondersteund via de gebruikersnaam en het wachtwoord van het register.

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

Omgevingsvariabelen instellen

Stel de volgende omgevingsvariabelen in. Vervang de <PLACEHOLDERS> waarden door uw waarden:

RESOURCE_GROUP="<RESOURCE_GROUP>"
LOCATION="<LOCATION>"
CONTAINERAPPS_ENVIRONMENT="<CONTAINERAPPS_ENVIRONMENT>"

Maak een Azure-resourcegroep

Maak een resourcegroep om de services te ordenen die betrekking hebben op de implementatie van uw container-app.

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

Een omgeving maken

Een omgeving in Azure Container Apps maakt een veilige grens rond een groep container-apps. Container Apps die in dezelfde omgeving zijn geïmplementeerd, worden geïmplementeerd in hetzelfde virtuele netwerk en schrijven logboeken naar dezelfde Log Analytics-werkruimte.

Voer de volgende opdracht uit om de omgeving te maken:

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

Een container-app maken

Nu u een omgeving hebt gemaakt, kunt u uw eerste container-app implementeren.

  1. Stel de omgevingsvariabelen in.

    Vervang de <PLACEHOLDERS> waarden door uw waarden. De principal-naam van uw gebruiker heeft doorgaans de indeling van een e-mailadres (bijvoorbeeld username@domain.com).

     CONTAINER_APP_NAME=my-container-app
     KEY_VAULT_NAME=my-key-vault
     USER_PRINCIPAL_NAME=<USER_PRINCIPAL_NAME>
     SECRET_NAME=my-secret-name
     CONTAINER_IMAGE_NAME=<CONTAINER_IMAGE_NAME>
     REGISTRY_SERVER=<REGISTRY_SERVER>
     REGISTRY_USERNAME=<REGISTRY_USERNAME>
    
  2. Maak de sleutelkluis.

    Door uw containerregisterwachtwoord op te slaan met behulp van een service zoals Azure Key Vault , blijven de waarden altijd veilig. In de stappen in deze sectie ziet u hoe u een sleutelkluis maakt, uw containerregisterwachtwoord opslaat in de Sleutelkluis en vervolgens het wachtwoord ophaalt voor gebruik in uw code.

     az keyvault create --name $KEY_VAULT_NAME --resource-group $RESOURCE_GROUP
    
  3. Geef uw gebruikersaccount machtigingen om geheimen in de sleutelkluis te beheren.

     KEY_VAULT_ID=$(az keyvault show --name $KEY_VAULT_NAME --query id --output tsv)
     az role assignment create --role "Key Vault Secrets Officer" --assignee "$USER_PRINCIPAL_NAME" --scope "$KEY_VAULT_ID"
    
  4. Sla het wachtwoord voor het containerregister op in de sleutelkluis.

    Vervang <REGISTRY_PASSWORD> door uw waarde.

     az keyvault secret set --vault-name $KEY_VAULT_NAME --name $SECRET_NAME --value "<REGISTRY_PASSWORD>"
    
  5. Haal het wachtwoord van het containerregister op uit de sleutelkluis.

     REGISTRY_PASSWORD=$(az keyvault secret show --name $SECRET_NAME --vault-name $KEY_VAULT_NAME --query value --output tsv)
    
  6. Een containerinstallatiekopieën implementeren in Azure Container Apps.

     az containerapp create \
       --name $CONTAINER_APP_NAME \
       --location $LOCATION \
       --resource-group $RESOURCE_GROUP \
       --image $CONTAINER_IMAGE_NAME \
       --environment $CONTAINERAPPS_ENVIRONMENT \
       --registry-server $REGISTRY_SERVER \
       --registry-username $REGISTRY_USERNAME \
       --registry-password $REGISTRY_PASSWORD
    

    Als u inkomend verkeer voor uw container-app hebt ingeschakeld, kunt u toevoegen --query properties.configuration.ingress.fqdn aan de create opdracht om de openbare URL voor de toepassing te retourneren.

  1. Stel de omgevingsvariabelen in.

     CONTAINER_APP_NAME=my-container-app
     CONTAINER_IMAGE_NAME=mcr.microsoft.com/k8se/quickstart:latest
    
  2. Een containerinstallatiekopieën implementeren in Azure Container Apps.

     az containerapp create \
       --image $CONTAINER_IMAGE_NAME \
       --name $CONTAINER_APP_NAME \
       --resource-group $RESOURCE_GROUP \
       --environment $CONTAINERAPPS_ENVIRONMENT
    

    Als u inkomend verkeer voor uw container-app hebt ingeschakeld, kunt u toevoegen --query properties.configuration.ingress.fqdn aan de create opdracht om de openbare URL voor de toepassing te retourneren.


Implementatie verifiëren

Als u een geslaagde implementatie wilt controleren, kunt u een query uitvoeren op de Log Analytics-werkruimte. Mogelijk moet u enkele minuten wachten totdat de analyse voor het eerst binnenkomt voordat u query's kunt uitvoeren op de logboeken. Dit is afhankelijk van de consolelogboekregistratie die is geïmplementeerd in uw container-app.

Gebruik de volgende opdrachten om consolelogboekberichten weer te geven.

LOG_ANALYTICS_WORKSPACE_CLIENT_ID=`az containerapp env show --name $CONTAINERAPPS_ENVIRONMENT --resource-group $RESOURCE_GROUP --query properties.appLogsConfiguration.logAnalyticsConfiguration.customerId --out tsv`

az monitor log-analytics query \
  --workspace $LOG_ANALYTICS_WORKSPACE_CLIENT_ID \
  --analytics-query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == $CONTAINER_APP_NAME | project ContainerAppName_s, Log_s, TimeGenerated" \
  --out table

Resources opschonen

Als u deze toepassing niet wilt blijven gebruiken, voert u de volgende opdracht uit om de resourcegroep te verwijderen, samen met alle resources die in deze quickstart zijn gemaakt.

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

Tip

Ondervindt u problemen? Laat het ons weten op GitHub door een probleem te openen in de Azure Container Apps-opslagplaats.

Volgende stappen