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
- Een Azure-account met een actief abonnement.
- Als u geen account hebt, kunt u er gratis een maken.
- Installeer de Azure CLI.
- Toegang tot een openbaar of privécontainerregister, zoals Azure Container Registry.
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.
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 (bijvoorbeeldusername@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>
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
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"
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>"
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)
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 decreate
opdracht om de openbare URL voor de toepassing te retourneren.
Stel de omgevingsvariabelen in.
CONTAINER_APP_NAME=my-container-app CONTAINER_IMAGE_NAME=mcr.microsoft.com/k8se/quickstart:latest
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 decreate
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.