Zelfstudie: Uw app bouwen en implementeren in Azure Container Apps
In dit artikel wordt gedemonstreerd hoe u een microservice bouwt en implementeert in Azure Container Apps vanuit een bronopslagplaats met behulp van de programmeertaal van uw voorkeur.
Dit is de eerste zelfstudie in de reeks artikelen waarin u wordt begeleid bij het gebruik van kernmogelijkheden in Azure Container Apps. De eerste stap is het maken van een back-end web-API-service die een statische verzameling muziekalbums retourneert.
Notitie
U kunt deze app ook bouwen en implementeren met behulp van de az containerapp up door de instructies in de quickstart te volgen: Een app bouwen en implementeren in Azure Container Apps vanuit een opslagplaatsartikel . De az containerapp up
opdracht is een snelle en handige manier om uw app te bouwen en te implementeren in Azure Container Apps met één opdracht. Het biedt echter niet hetzelfde aanpassingsniveau voor uw container-app.
De volgende zelfstudie in de reeks bouwt en implementeert de front-endwebtoepassing in Azure Container Apps.
In de volgende schermopname ziet u de uitvoer van de album-API die in deze zelfstudie is geïmplementeerd.
Vereisten
U hebt het volgende nodig om dit project te voltooien:
Vereiste | Instructies |
---|---|
Azure-account | Als u nog geen account hebt, maakt u gratis een account. U hebt de machtiging Inzender of Eigenaar voor het Azure-abonnement nodig om door te gaan. Raadpleeg Azure-rollen toewijzen met behulp van Azure Portal voor meer informatie. |
GitHub-account | Meld u gratis aan. |
git | Git installeren |
Azure-CLI | Installeer de Azure CLI. |
Vereiste | Instructies |
---|---|
Azure-account | Als u nog geen account hebt, maakt u gratis een account. U hebt de machtiging Inzender of Eigenaar voor het Azure-abonnement nodig om door te gaan. Raadpleeg Azure-rollen toewijzen met behulp van Azure Portal voor meer informatie. |
GitHub-account | Meld u gratis aan. |
git | Git installeren |
Azure-CLI | Installeer de Azure CLI. |
Docker Desktop | Docker biedt installatieprogramma's die de Docker-omgeving configureren op macOS, Windows en Linux. Typ docker vanaf de opdrachtprompt of Docker wordt uitgevoerd. |
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.
az extension add --name containerapp --upgrade
Nu de huidige extensie of module is geïnstalleerd, registreert u de Microsoft.App
en Microsoft.OperationalInsights
naamruimten.
Notitie
Azure Container Apps-resources zijn gemigreerd van de Microsoft.Web
naamruimte naar de Microsoft.App
naamruimte. Raadpleeg de naamruimtemigratie van Microsoft.Web naar Microsoft.App in maart 2022 voor meer informatie.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Omgevingsvariabelen maken
Nu uw Azure CLI-installatie is voltooid, kunt u de omgevingsvariabelen definiëren die in dit artikel worden gebruikt.
Definieer de volgende variabelen in uw bash-shell.
RESOURCE_GROUP="album-containerapps"
LOCATION="canadacentral"
ENVIRONMENT="env-album-containerapps"
API_NAME="album-api"
FRONTEND_NAME="album-ui"
GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>"
Voordat u deze opdracht uitvoert, moet u deze vervangen door <YOUR_GITHUB_USERNAME>
uw GitHub-gebruikersnaam.
Definieer vervolgens een containerregisternaam die uniek voor u is.
ACR_NAME="acaalbums"$GITHUB_USERNAME
De GitHub-opslagplaats voorbereiden
Navigeer naar de opslagplaats voor uw voorkeurstaal en fork de opslagplaats.
Selecteer de knop Fork boven aan de api-opslagplaats van het album om de opslagplaats naar uw account te splitsen.
U kunt nu uw fork van de voorbeeldopslagplaats klonen.
Gebruik de volgende Git-opdracht om uw geforkte opslagplaats te klonen in de map code-naar-cloud :
git clone https://github.com/$GITHUB_USERNAME/containerapps-albumapi-csharp.git code-to-cloud
Wijzig vervolgens de map in de hoofdmap van de gekloonde opslagplaats.
cd code-to-cloud/src
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 Azure Container Registry maken
Nadat de installatiekopie van de album-API-container is gemaakt, maakt u een Exemplaar van Azure Container Registry (ACR) in uw resourcegroep om deze op te slaan.
az acr create \
--resource-group $RESOURCE_GROUP \
--name $ACR_NAME \
--sku Basic \
--admin-enabled true
Uw toepassing bouwen
Met ACR-taken kunt u de docker-installatiekopieën voor de album-API bouwen en pushen zonder Docker lokaal te installeren.
De container bouwen met ACR
Voer de volgende opdracht uit om het build- en pushproces van de installatiekopieën te starten met behulp van ACR. De .
aan het einde van de opdracht vertegenwoordigt de docker-buildcontext, wat betekent dat deze opdracht moet worden uitgevoerd in de src-map waar het Dockerfile zich bevindt.
az acr build --registry $ACR_NAME --image $API_NAME .
De uitvoer van de az acr build
opdracht toont de voortgang van de upload van de broncode naar Azure en de details van de docker build
en docker push
bewerkingen.
Uw toepassing bouwen
De volgende stappen laten zien hoe u uw containerinstallatiekopieën lokaal bouwt met behulp van Docker en de installatiekopieën naar het nieuwe containerregister pusht.
De container bouwen met Docker
Met de volgende opdracht wordt een containerinstallatiekopieën voor de album-API gebouwd en gelabeld met de volledig gekwalificeerde naam van de ACR-aanmeldingsserver. De .
aan het einde van de opdracht vertegenwoordigt de docker-buildcontext, wat betekent dat deze opdracht moet worden uitgevoerd in de src-map waar het Dockerfile zich bevindt.
docker build --tag $ACR_NAME.azurecr.io/$API_NAME .
De installatiekopieën naar uw containerregister pushen
Meld u eerst aan bij uw Azure Container Registry.
az acr login --name $ACR_NAME
Push nu de installatiekopieën naar het register.
docker push $ACR_NAME.azurecr.io/$API_NAME
Een Container Apps-omgeving maken
De Azure Container Apps-omgeving fungeert als een veilige grens rond een groep container-apps.
Maak de Container Apps-omgeving met behulp van de volgende opdracht.
az containerapp env create \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location "$LOCATION"
Uw installatiekopieën implementeren in een container-app
Nu u een omgeving hebt gemaakt, kunt u uw container-app maken en implementeren met de az containerapp create
opdracht.
Maak en implementeer uw container-app met de volgende opdracht.
az containerapp create \
--name $API_NAME \
--resource-group $RESOURCE_GROUP \
--environment $ENVIRONMENT \
--image $ACR_NAME.azurecr.io/$API_NAME \
--target-port 8080 \
--ingress 'external' \
--registry-server $ACR_NAME.azurecr.io \
--query properties.configuration.ingress.fqdn
Door deze instelling in te
external
stellen--ingress
, is uw container-app toegankelijk vanaf het openbare internet.De
target-port
waarde is ingesteld op8080
overeenkomen met de poort waarnaar de container luistert voor aanvragen.Zonder een
query
eigenschap retourneert de aanroep om een JSON-antwoord teaz containerapp create
retourneren dat een uitgebreide set details over de toepassing bevat. Als u een queryparameter toevoegt, wordt de uitvoer gefilterd op alleen de FQDN (Fully Qualified Domain Name) van de app.
Implementatie verifiëren
Kopieer de FQDN naar een webbrowser. Navigeer vanuit uw webbrowser naar het /albums
eindpunt van de FQDN.
Resources opschonen
Als u niet verdergaat met de zelfstudie Communicatie tussen microservices , kunt u de Azure-resources verwijderen die tijdens deze quickstart zijn gemaakt. Voer de volgende opdracht uit om de resourcegroep te verwijderen, samen met alle resources die in deze quickstart zijn gemaakt.
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
Deze quickstart is het beginpunt voor een reeks progressieve zelfstudies die de verschillende functies in Azure Container Apps laten zien. Ga verder met het inschakelen van communicatie vanuit een webfront-end die de API aanroept die u in dit artikel hebt geïmplementeerd.