Share via


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.

Schermopname van het antwoord van het API-eindpunt voor albums.

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 externalstellen--ingress, is uw container-app toegankelijk vanaf het openbare internet.

  • De target-port waarde is ingesteld op 8080 overeenkomen met de poort waarnaar de container luistert voor aanvragen.

  • Zonder een query eigenschap retourneert de aanroep om een JSON-antwoord te az 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.

Schermopname van het antwoord van het API-eindpunt voor albums.

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.